[Orxonox-commit 977] r5700 - in code/trunk/data: . gui/configs gui/layouts gui/schemes levels levels/includes levels/old particle tcl/irk tcl/irk/docs tcl/irk/examples tcl/irk/lib tcl/irk/socks
rgrieder at orxonox.net
rgrieder at orxonox.net
Sun Aug 30 12:01:15 CEST 2009
Author: rgrieder
Date: 2009-08-30 12:01:14 +0200 (Sun, 30 Aug 2009)
New Revision: 5700
Modified:
code/trunk/data/CMakeLists.txt
code/trunk/data/gui/configs/CEGUIConfig.xsd
code/trunk/data/gui/configs/Falagard.xsd
code/trunk/data/gui/configs/Font.xsd
code/trunk/data/gui/configs/GUILayout.xsd
code/trunk/data/gui/configs/GUIScheme.xsd
code/trunk/data/gui/configs/Imageset.xsd
code/trunk/data/gui/layouts/CompositorDemo.layout
code/trunk/data/gui/layouts/Console.wnd
code/trunk/data/gui/layouts/CrowdDemo.layout
code/trunk/data/gui/layouts/Demo7Windows.layout
code/trunk/data/gui/layouts/Demo8.layout
code/trunk/data/gui/layouts/DragDropDemo.layout
code/trunk/data/gui/layouts/FontDemo.layout
code/trunk/data/gui/layouts/GUILayout.xsd
code/trunk/data/gui/layouts/InGameTest.layout
code/trunk/data/gui/layouts/InstancingDemo.layout
code/trunk/data/gui/layouts/MainMenu.layout
code/trunk/data/gui/layouts/PickupInventory.layout
code/trunk/data/gui/layouts/TabControlDemo.layout
code/trunk/data/gui/layouts/TabPage.layout
code/trunk/data/gui/layouts/TabPage1.layout
code/trunk/data/gui/layouts/TabPage2.layout
code/trunk/data/gui/layouts/TextDemo.layout
code/trunk/data/gui/layouts/TreeDemoTaharez.layout
code/trunk/data/gui/layouts/VanillaConsole.layout
code/trunk/data/gui/layouts/VanillaWindows.layout
code/trunk/data/gui/layouts/cegui8.layout
code/trunk/data/gui/layouts/facial.layout
code/trunk/data/gui/layouts/ogregui.layout
code/trunk/data/gui/layouts/shadows.layout
code/trunk/data/gui/schemes/Demo8.scheme
code/trunk/data/gui/schemes/GUIScheme.xsd
code/trunk/data/gui/schemes/OrxonoxGUIScheme.scheme
code/trunk/data/gui/schemes/TaharezLook.scheme
code/trunk/data/gui/schemes/TaharezLookSkin.scheme
code/trunk/data/gui/schemes/TaharezLookWidgetAliases.scheme
code/trunk/data/gui/schemes/TaharezLookWidgets.scheme
code/trunk/data/gui/schemes/VanillaSkin.scheme
code/trunk/data/gui/schemes/WindowsLook.scheme
code/trunk/data/gui/schemes/WindowsLookWidgets.scheme
code/trunk/data/levels/includes/CuboidSpaceStation.lua
code/trunk/data/levels/old/CuboidSpaceStation.oxw
code/trunk/data/levels/old/physicstest.oxw
code/trunk/data/levels/old/physicstest2.oxw
code/trunk/data/levels/old/planettest.oxw
code/trunk/data/levels/old/presentation_physics.oxw
code/trunk/data/levels/old/princessaeryn.oxw
code/trunk/data/levels/old/questsystem.oxw
code/trunk/data/levels/old/sample4.oxw
code/trunk/data/levels/old/spaceshiptemplates_physics.oxw
code/trunk/data/levels/old/tutorial_hs08.oxw
code/trunk/data/levels/presentation09b.oxw
code/trunk/data/levels/tutorial.oxw
code/trunk/data/particle/ExplosionComp1.particle
code/trunk/data/particle/ExplosionComp2.particle
code/trunk/data/particle/ExplosionComp4.particle
code/trunk/data/particle/FireComp2.particle
code/trunk/data/particle/LaserGun.particle
code/trunk/data/particle/ThrusterFire.particle
code/trunk/data/particle/forcefield.particle
code/trunk/data/particle/repairGold.particle
code/trunk/data/particle/repairSilver.particle
code/trunk/data/particle/shotTest.particle
code/trunk/data/resources.oxr
code/trunk/data/tcl/irk/README
code/trunk/data/tcl/irk/docs/changes.txt
code/trunk/data/tcl/irk/docs/todo.txt
code/trunk/data/tcl/irk/docs/usage.txt
code/trunk/data/tcl/irk/examples/fortunebot.tcl
code/trunk/data/tcl/irk/examples/mysaint.tcl
code/trunk/data/tcl/irk/irk.tcl
code/trunk/data/tcl/irk/lib/irkauth.tcl
code/trunk/data/tcl/irk/lib/irkcommand.tcl
code/trunk/data/tcl/irk/lib/irkconnect.tcl
code/trunk/data/tcl/irk/lib/irkctcptcl.tcl
code/trunk/data/tcl/irk/lib/irkdispatch.tcl
code/trunk/data/tcl/irk/lib/irkflow.tcl
code/trunk/data/tcl/irk/lib/irkqueue.tcl
code/trunk/data/tcl/irk/lib/irkreceive.tcl
code/trunk/data/tcl/irk/lib/irkservers.tcl
code/trunk/data/tcl/irk/lib/irkstate.tcl
code/trunk/data/tcl/irk/lib/irkutil.tcl
code/trunk/data/tcl/irk/pkgIndex.tcl
code/trunk/data/tcl/irk/socks/socks.tcl
Log:
Added eol-style native to all data files (all text based).
Also removed all mergeinfo properties (there were some in the level folder, created by a previous cleanup).
Property changes on: code/trunk/data/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/configs/CEGUIConfig.xsd
===================================================================
--- code/trunk/data/gui/configs/CEGUIConfig.xsd 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/configs/CEGUIConfig.xsd 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,28 +1,28 @@
-<?xml version="1.0"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-
- <xsd:element name="CEGUIConfig" type="CEGUIConfigType"/>
-
- <xsd:simpleType name="LogLevel">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="Errors"/>
- <xsd:enumeration value="Standard"/>
- <xsd:enumeration value="Informative"/>
- <xsd:enumeration value="Insane"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:complexType name="CEGUIConfigType">
- <xsd:attribute name="Logfile" type="xsd:string" use="optional" default=""/>
- <xsd:attribute name="Scheme" type="xsd:string" use="optional" default=""/>
- <xsd:attribute name="DefaultFont" type="xsd:string" use="optional" default=""/>
- <xsd:attribute name="Layout" type="xsd:string" use="optional" default=""/>
- <xsd:attribute name="InitScript" type="xsd:string" use="optional" default=""/>
- <xsd:attribute name="TerminateScript" type="xsd:string" use="optional" default=""/>
- <xsd:attribute name="DefaultResourceGroup" type="xsd:string" use="optional" default="" />
- <xsd:attribute name="LoggingLevel" type="LogLevel" use="optional" default="Standard" />
- </xsd:complexType>
-
-</xsd:schema>
-
-
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+ <xsd:element name="CEGUIConfig" type="CEGUIConfigType"/>
+
+ <xsd:simpleType name="LogLevel">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Errors"/>
+ <xsd:enumeration value="Standard"/>
+ <xsd:enumeration value="Informative"/>
+ <xsd:enumeration value="Insane"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="CEGUIConfigType">
+ <xsd:attribute name="Logfile" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="Scheme" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="DefaultFont" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="Layout" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="InitScript" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="TerminateScript" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="DefaultResourceGroup" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="LoggingLevel" type="LogLevel" use="optional" default="Standard" />
+ </xsd:complexType>
+
+</xsd:schema>
+
+
Property changes on: code/trunk/data/gui/configs/CEGUIConfig.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/configs/Falagard.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/configs/Font.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/configs/GUILayout.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/configs/GUIScheme.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/configs/Imageset.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/CompositorDemo.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/Console.wnd
===================================================================
--- code/trunk/data/gui/layouts/Console.wnd 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/Console.wnd 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<GUILayout >
- <Window Type="TaharezLook/FrameWindow" Name="Console/Frame" >
- <Property Name="Text" Value="Console" />
- <Property Name="TitlebarFont" Value="DejaVuSans-10" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="TitlebarEnabled" Value="True" />
- <Property Name="UnifiedAreaRect" Value="{{0.208832,0},{0.650387,0},{0.80736,0},{0.998062,0}}" />
- <Window Type="TaharezLook/MultiLineEditbox" Name="Console/Frame/ConsoleText" >
- <Property Name="Text" Value=""/>
- <Property Name="ReadOnly" Value="True" />
- <Property Name="MaxTextLength" Value="1073741823" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.019238,0},{0.156633,0},{0.973721,0},{0.839186,0}}" />
- </Window>
- <Window Type="TaharezLook/Editbox" Name="Console/Frame/Input" >
- <Property Name="MaxTextLength" Value="1073741823" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.019119,0},{0.842141,0},{0.972016,0},{0.980658,0}}" />
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+ <Window Type="TaharezLook/FrameWindow" Name="Console/Frame" >
+ <Property Name="Text" Value="Console" />
+ <Property Name="TitlebarFont" Value="DejaVuSans-10" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.208832,0},{0.650387,0},{0.80736,0},{0.998062,0}}" />
+ <Window Type="TaharezLook/MultiLineEditbox" Name="Console/Frame/ConsoleText" >
+ <Property Name="Text" Value=""/>
+ <Property Name="ReadOnly" Value="True" />
+ <Property Name="MaxTextLength" Value="1073741823" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.019238,0},{0.156633,0},{0.973721,0},{0.839186,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="Console/Frame/Input" >
+ <Property Name="MaxTextLength" Value="1073741823" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.019119,0},{0.842141,0},{0.972016,0},{0.980658,0}}" />
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/Console.wnd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/CrowdDemo.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/Demo7Windows.layout
===================================================================
--- code/trunk/data/gui/layouts/Demo7Windows.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/Demo7Windows.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,152 +1,152 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<GUILayout>
- <Window Type="DefaultWindow" Name="root">
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
- <Window Type="TaharezLook/FrameWindow" Name="Demo7/Window1" >
- <Property Name="Text" Value="Demo 7 - Window 1" />
- <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2,0},{0.7,0},{0.7,0}}" />
- <Property Name="CloseButtonEnabled" Value="False" />
- <Window Type="TaharezLook/Button" Name="Demo7/Window1/Quit" >
- <Property Name="Text" Value="Exit Demo" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.1,0},{0.27,0},{0.2,0}}" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="Demo7/Window1/Radio1" >
- <Property Name="Text" Value="Option 1" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.23,0},{0.27,0},{0.305,0}}" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="Demo7/Window1/Radio2" >
- <Property Name="ID" Value="1" />
- <Property Name="Text" Value="Option 2" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.306,0},{0.27,0},{0.381,0}}" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="Demo7/Window1/Radio3" >
- <Property Name="ID" Value="2" />
- <Property Name="Text" Value="Option 3" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.382,0},{0.27,0},{0.457,0}}" />
- </Window>
- <Window Type="TaharezLook/Checkbox" Name="Demo7/Window1/Checkbox" >
- <Property Name="Text" Value="Enable some option" />
- <Property Name="Selected" Value="True" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.48,0},{0.47,0},{0.555,0}}" />
- </Window>
- <Window Type="TaharezLook/StaticText" Name="Demo7/Window1/Text1" >
- <Property Name="Text" Value="This is a re-creation of the original 'Demo7' preview application, it shows many of the CEGUI widgets." />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="HorzFormatting" Value="WordWrapCentred" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.1,0},{0.95,0},{0.6,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
- <Window Type="TaharezLook/Editbox" Name="Demo7/Window1/Editbox" >
- <Property Name="Text" Value="Single-line editbox" />
- <Property Name="MaxTextLength" Value="1073741823" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.6,0},{0.8,0},{0.7,0}}" />
- </Window>
- <Window Type="TaharezLook/LargeVerticalScrollbar" Name="Demo7/Window1/Scrollbar1" >
- <Property Name="PageSize" Value="0" />
- <Property Name="StepSize" Value="1" />
- <Property Name="OverlapSize" Value="0" />
- <Property Name="DocumentSize" Value="1" />
- <Property Name="ScrollPosition" Value="0" />
- <Property Name="UnifiedMaxSize" Value="{{0.03,0},{1,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0.01,0},{0.1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.06,0},{0.6,0},{0.12,0},{0.98,0}}" />
- </Window>
- <Window Type="TaharezLook/Slider" Name="Demo7/Window1/Slider1" >
- <Property Name="CurrentValue" Value="1" />
- <Property Name="MaximumValue" Value="1" />
- <Property Name="ClickStepSize" Value="0.01" />
- <Property Name="UnifiedMaxSize" Value="{{0.03,0},{1,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0.01,0},{0.1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.9,0},{0.625,0},{0.93,0},{0.905,0}}" />
- </Window>
- </Window>
- <Window Type="TaharezLook/FrameWindow" Name="Demo7/Window2" >
- <Property Name="Text" Value="Demo 7 - Window 2" />
- <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.1,0},{0.9,0},{0.7,0}}" />
- <Property Name="CloseButtonEnabled" Value="False" />
- <Window Type="TaharezLook/ProgressBar" Name="Demo7/Window2/Progbar1" >
- <Property Name="StepSize" Value="0.01" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="CurrentProgress" Value="0.33" />
- <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.1,0},{0.98,0},{0.15,0}}" />
- </Window>
- <Window Type="TaharezLook/AlternateProgressBar" Name="Demo7/Window2/Progbar2" >
- <Property Name="StepSize" Value="0.01" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="CurrentProgress" Value="0.7" />
- <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.16,0},{0.98,0},{0.21,0}}" />
- </Window>
- <Window Type="TaharezLook/ItemListbox" Name="Demo7/Window2/Listbox" >
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.25,0},{0.46,0},{0.55,0}}" />
- <Window Type="TaharezLook/ListboxItem" >
- <Property Name="Text" Value="Listbox Item 1" />
- </Window>
- <Window Type="TaharezLook/ListboxItem" >
- <Property Name="Text" Value="Listbox Item 2" />
- </Window>
- <Window Type="TaharezLook/ListboxItem" >
- <Property Name="Text" Value="Listbox Item 3" />
- </Window>
- <Window Type="TaharezLook/ListboxItem" >
- <Property Name="Text" Value="Listbox Item 4" />
- </Window>
- <Window Type="TaharezLook/ListboxItem" >
- <Property Name="Text" Value="Listbox Item 5" />
- </Window>
- <Window Type="TaharezLook/ListboxItem" >
- <Property Name="Text" Value="Listbox Item 6" />
- </Window>
- <Window Type="TaharezLook/ListboxItem" >
- <Property Name="Text" Value="Listbox Item 7" />
- </Window>
- </Window>
- <Window Type="TaharezLook/Combobox" Name="Demo7/Window2/Combobox" >
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.25,0},{0.92,0},{0.7,0}}" />
- <Property Name="MaxEditTextLength" Value="1073741823" />
- </Window>
- <Window Type="TaharezLook/MultiColumnList" Name="Demo7/Window2/MultiColumnList" >
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.6,0},{0.95,0},{0.98,0}}" />
- <Property Name="ColumnHeader" Value="text:Server Name width:{0.33,0} id:0" />
- <Property Name="ColumnHeader" Value="text:Address width:{0.5,0} id:1" />
- <Property Name="ColumnHeader" Value="text:Ping width:{0.2,0} id:2" />
- </Window>
- <Window Type="TaharezLook/StaticImage" Name="Demo7/Window2/Image1" >
- <Property Name="Image" Value="set:BackgroundImage image:full_image" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.56,0},{0.35,0},{0.86,0},{0.55,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
- </Window>
- <Window Type="TaharezLook/FrameWindow" Name="Demo7/Window3" >
- <Property Name="Text" Value="Demo 7 - Window 3" />
- <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.4,0},{0.75,0},{0.9,0}}" />
- <Property Name="CloseButtonEnabled" Value="False" />
- <Window Type="TaharezLook/MultiLineEditbox" Name="Demo7/Window3/MLEditbox" >
- <Property Name="Text">This text is a multiline text:
-Line 1
-Line 2
-Line 3</Property>
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.1,0},{0.98,0},{0.95,0}}" />
- </Window>
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" encoding="UTF-8"?>
+<GUILayout>
+ <Window Type="DefaultWindow" Name="root">
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+ <Window Type="TaharezLook/FrameWindow" Name="Demo7/Window1" >
+ <Property Name="Text" Value="Demo 7 - Window 1" />
+ <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2,0},{0.7,0},{0.7,0}}" />
+ <Property Name="CloseButtonEnabled" Value="False" />
+ <Window Type="TaharezLook/Button" Name="Demo7/Window1/Quit" >
+ <Property Name="Text" Value="Exit Demo" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.1,0},{0.27,0},{0.2,0}}" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="Demo7/Window1/Radio1" >
+ <Property Name="Text" Value="Option 1" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.23,0},{0.27,0},{0.305,0}}" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="Demo7/Window1/Radio2" >
+ <Property Name="ID" Value="1" />
+ <Property Name="Text" Value="Option 2" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.306,0},{0.27,0},{0.381,0}}" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="Demo7/Window1/Radio3" >
+ <Property Name="ID" Value="2" />
+ <Property Name="Text" Value="Option 3" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.382,0},{0.27,0},{0.457,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Checkbox" Name="Demo7/Window1/Checkbox" >
+ <Property Name="Text" Value="Enable some option" />
+ <Property Name="Selected" Value="True" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.48,0},{0.47,0},{0.555,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="Demo7/Window1/Text1" >
+ <Property Name="Text" Value="This is a re-creation of the original 'Demo7' preview application, it shows many of the CEGUI widgets." />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.1,0},{0.95,0},{0.6,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="Demo7/Window1/Editbox" >
+ <Property Name="Text" Value="Single-line editbox" />
+ <Property Name="MaxTextLength" Value="1073741823" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.6,0},{0.8,0},{0.7,0}}" />
+ </Window>
+ <Window Type="TaharezLook/LargeVerticalScrollbar" Name="Demo7/Window1/Scrollbar1" >
+ <Property Name="PageSize" Value="0" />
+ <Property Name="StepSize" Value="1" />
+ <Property Name="OverlapSize" Value="0" />
+ <Property Name="DocumentSize" Value="1" />
+ <Property Name="ScrollPosition" Value="0" />
+ <Property Name="UnifiedMaxSize" Value="{{0.03,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.01,0},{0.1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.06,0},{0.6,0},{0.12,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Slider" Name="Demo7/Window1/Slider1" >
+ <Property Name="CurrentValue" Value="1" />
+ <Property Name="MaximumValue" Value="1" />
+ <Property Name="ClickStepSize" Value="0.01" />
+ <Property Name="UnifiedMaxSize" Value="{{0.03,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.01,0},{0.1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.9,0},{0.625,0},{0.93,0},{0.905,0}}" />
+ </Window>
+ </Window>
+ <Window Type="TaharezLook/FrameWindow" Name="Demo7/Window2" >
+ <Property Name="Text" Value="Demo 7 - Window 2" />
+ <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.1,0},{0.9,0},{0.7,0}}" />
+ <Property Name="CloseButtonEnabled" Value="False" />
+ <Window Type="TaharezLook/ProgressBar" Name="Demo7/Window2/Progbar1" >
+ <Property Name="StepSize" Value="0.01" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="CurrentProgress" Value="0.33" />
+ <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.1,0},{0.98,0},{0.15,0}}" />
+ </Window>
+ <Window Type="TaharezLook/AlternateProgressBar" Name="Demo7/Window2/Progbar2" >
+ <Property Name="StepSize" Value="0.01" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="CurrentProgress" Value="0.7" />
+ <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.16,0},{0.98,0},{0.21,0}}" />
+ </Window>
+ <Window Type="TaharezLook/ItemListbox" Name="Demo7/Window2/Listbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.04,0},{0.25,0},{0.46,0},{0.55,0}}" />
+ <Window Type="TaharezLook/ListboxItem" >
+ <Property Name="Text" Value="Listbox Item 1" />
+ </Window>
+ <Window Type="TaharezLook/ListboxItem" >
+ <Property Name="Text" Value="Listbox Item 2" />
+ </Window>
+ <Window Type="TaharezLook/ListboxItem" >
+ <Property Name="Text" Value="Listbox Item 3" />
+ </Window>
+ <Window Type="TaharezLook/ListboxItem" >
+ <Property Name="Text" Value="Listbox Item 4" />
+ </Window>
+ <Window Type="TaharezLook/ListboxItem" >
+ <Property Name="Text" Value="Listbox Item 5" />
+ </Window>
+ <Window Type="TaharezLook/ListboxItem" >
+ <Property Name="Text" Value="Listbox Item 6" />
+ </Window>
+ <Window Type="TaharezLook/ListboxItem" >
+ <Property Name="Text" Value="Listbox Item 7" />
+ </Window>
+ </Window>
+ <Window Type="TaharezLook/Combobox" Name="Demo7/Window2/Combobox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.25,0},{0.92,0},{0.7,0}}" />
+ <Property Name="MaxEditTextLength" Value="1073741823" />
+ </Window>
+ <Window Type="TaharezLook/MultiColumnList" Name="Demo7/Window2/MultiColumnList" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.6,0},{0.95,0},{0.98,0}}" />
+ <Property Name="ColumnHeader" Value="text:Server Name width:{0.33,0} id:0" />
+ <Property Name="ColumnHeader" Value="text:Address width:{0.5,0} id:1" />
+ <Property Name="ColumnHeader" Value="text:Ping width:{0.2,0} id:2" />
+ </Window>
+ <Window Type="TaharezLook/StaticImage" Name="Demo7/Window2/Image1" >
+ <Property Name="Image" Value="set:BackgroundImage image:full_image" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.56,0},{0.35,0},{0.86,0},{0.55,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+ </Window>
+ <Window Type="TaharezLook/FrameWindow" Name="Demo7/Window3" >
+ <Property Name="Text" Value="Demo 7 - Window 3" />
+ <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.4,0},{0.75,0},{0.9,0}}" />
+ <Property Name="CloseButtonEnabled" Value="False" />
+ <Window Type="TaharezLook/MultiLineEditbox" Name="Demo7/Window3/MLEditbox" >
+ <Property Name="Text">This text is a multiline text:
+Line 1
+Line 2
+Line 3</Property>
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.1,0},{0.98,0},{0.95,0}}" />
+ </Window>
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/Demo7Windows.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/Demo8.layout
===================================================================
--- code/trunk/data/gui/layouts/Demo8.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/Demo8.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,132 +1,132 @@
-<?xml version="1.0" ?>
-<GUILayout>
-<Window Type="DefaultGUISheet" Name="root">
- <Window Type="DefaultGUISheet" Name="Demo8">
- <Property Name="UnifiedMaxSize" Value="{{1,0},{2,0}}" />
- <Property Name="UnifiedSize" Value="{{1,0},{2,0}}" />
-
- <Window Type="TaharezLook/LargeVerticalScrollbar" Name="Demo8/ViewScroll">
- <Property Name="UnifiedPosition" Value="{{0,0},{0,0}}" />
- <Property Name="UnifiedSize" Value="{{0.03,0},{0.75,0}}" />
- <Property Name="DocumentSize" Value="2" />
- <Property Name="PageSize" Value="1" />
- <Property Name="StepSize" Value="0.01" />
- <Property Name="OverlapSize" Value="0.5" />
- <Property Name="Tooltip" Value="This scrollbar will scroll the window layout." />
- </Window>
-
- <Window Type="TaharezLook/FrameWindow" Name="Demo8/Window1">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.1,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{0.5,0},{1,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
- <Property Name="UnifiedSize" Value="{{0.4,0},{0.3,0}}" />
- <Property Name="Text" Value="Demo 8 - Listbox Demo" />
- <Property Name="Tooltip" Value="Window shows a simple Listbox demo." />
-
- <Window Type="TaharezLook/Listbox" Name="Demo8/Window1/Listbox">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.1,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.33,0}}" />
- <Property Name="Tooltip" Value="Listbox containing the items you have added." />
- </Window>
-
- <Window Type="TaharezLook/StaticText" Name="Demo8/Window1/Controls">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.45,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.5,0}}" />
-
- <Window Type="TaharezLook/HorizontalScrollbar" Name="Demo8/Window1/Controls/Red">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.05,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.06,0}}" />
- <Property Name="DocumentSize" Value="1" />
- <Property Name="PageSize" Value="0.0625" />
- <Property Name="StepSize" Value="0.00392" />
- <Property Name="OverlapSize" Value="0.00392" />
- <Property Name="Tooltip" Value="Slider to adjust the red colour component." />
- </Window>
-
- <Window Type="TaharezLook/HorizontalScrollbar" Name="Demo8/Window1/Controls/Green">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.12,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.06,0}}" />
- <Property Name="DocumentSize" Value="1" />
- <Property Name="PageSize" Value="0.0625" />
- <Property Name="StepSize" Value="0.00392" />
- <Property Name="OverlapSize" Value="0.00392" />
- <Property Name="Tooltip" Value="Slider to adjust the green colour component." />
- </Window>
-
- <Window Type="TaharezLook/HorizontalScrollbar" Name="Demo8/Window1/Controls/Blue">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.19,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.06,0}}" />
- <Property Name="DocumentSize" Value="1" />
- <Property Name="PageSize" Value="0.0625" />
- <Property Name="StepSize" Value="0.00392" />
- <Property Name="OverlapSize" Value="0.00392" />
- <Property Name="Tooltip" Value="Slider to adjust the blue colour component." />
- </Window>
-
- <Window Type="TaharezLook/StaticImage" Name="Demo8/Window1/Controls/ColourSample">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.26,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.1,0}}" />
- <Property Name="Image" Value="set:TaharezLook image:MultiListSelectionBrush" />
- <Property Name="ImageColours" Value="tl:0 tr:0 bl:0 br:0" />
- <Property Name="Tooltip" Value="Shows a sample of the selected colour." />
- </Window>
-
- <Window Type="TaharezLook/Editbox" Name="Demo8/Window1/Controls/Editbox">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.38,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.6,0},{0.15,0}}" />
- <Property Name="Tooltip" Value="Enter the text for a new Listbox item here." />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Demo8/Window1/Controls/Add">
- <Property Name="UnifiedPosition" Value="{{0.68,0},{0.38,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.3,0},{0.15,0}}" />
- <Property Name="Text" Value="Add" />
- <Property Name="Tooltip" Value="Adds a new item to the Listbox." />
- </Window>
-
- <Window Type="TaharezLook/StaticText" Name="Demo8/Window1/Controls/ins1">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.55,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.4,0}}" />
- <Property Name="HorzFormatting" Value="WordWrapCentred" />
- <Property Name="Text" Value="Use this panel to add items. The scrollbars change the selection colour." />
- <Property Name="Tooltip" Value="Information panel." />
- </Window>
- </Window>
- </Window>
-
- <Window Type="TaharezLook/FrameWindow" Name="Demo8/Window2">
- <Property Name="UnifiedPosition" Value="{{0.55,0},{0.1,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{0.5,0},{1,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
- <Property Name="UnifiedSize" Value="{{0.4,0},{0.3,0}}" />
- <Property Name="Text" Value="Demo 8 - Information Window" />
- <Property Name="Tooltip" Value="Contains some StaticText information panels" />
-
- <Window Type="TaharezLook/StaticText" Name="Demo8/Window2/Info">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.1,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.3,0}}" />
- <Property Name="HorzFormatting" Value="WordWrapCentred" />
- <Property Name="Text" Value="The panel below gives some information about the item under the mouse." />
- </Window>
-
- <Window Type="TaharezLook/StaticText" Name="Demo8/Window2/Tips">
- <Property Name="UnifiedPosition" Value="{{0.05,0},{0.5,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.9,0},{0.4,0}}" />
- <Property Name="HorzFormatting" Value="WordWrapCentred" />
- <Property Name="Text" Value="We removed this, and now use proper Tooltips instead!" />
- </Window>
- </Window>
- </Window>
-</Window>
-</GUILayout>
+<?xml version="1.0" ?>
+<GUILayout>
+<Window Type="DefaultGUISheet" Name="root">
+ <Window Type="DefaultGUISheet" Name="Demo8">
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{2,0}}" />
+ <Property Name="UnifiedSize" Value="{{1,0},{2,0}}" />
+
+ <Window Type="TaharezLook/LargeVerticalScrollbar" Name="Demo8/ViewScroll">
+ <Property Name="UnifiedPosition" Value="{{0,0},{0,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.03,0},{0.75,0}}" />
+ <Property Name="DocumentSize" Value="2" />
+ <Property Name="PageSize" Value="1" />
+ <Property Name="StepSize" Value="0.01" />
+ <Property Name="OverlapSize" Value="0.5" />
+ <Property Name="Tooltip" Value="This scrollbar will scroll the window layout." />
+ </Window>
+
+ <Window Type="TaharezLook/FrameWindow" Name="Demo8/Window1">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.1,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{0.5,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
+ <Property Name="UnifiedSize" Value="{{0.4,0},{0.3,0}}" />
+ <Property Name="Text" Value="Demo 8 - Listbox Demo" />
+ <Property Name="Tooltip" Value="Window shows a simple Listbox demo." />
+
+ <Window Type="TaharezLook/Listbox" Name="Demo8/Window1/Listbox">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.1,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.33,0}}" />
+ <Property Name="Tooltip" Value="Listbox containing the items you have added." />
+ </Window>
+
+ <Window Type="TaharezLook/StaticText" Name="Demo8/Window1/Controls">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.45,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.5,0}}" />
+
+ <Window Type="TaharezLook/HorizontalScrollbar" Name="Demo8/Window1/Controls/Red">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.05,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.06,0}}" />
+ <Property Name="DocumentSize" Value="1" />
+ <Property Name="PageSize" Value="0.0625" />
+ <Property Name="StepSize" Value="0.00392" />
+ <Property Name="OverlapSize" Value="0.00392" />
+ <Property Name="Tooltip" Value="Slider to adjust the red colour component." />
+ </Window>
+
+ <Window Type="TaharezLook/HorizontalScrollbar" Name="Demo8/Window1/Controls/Green">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.12,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.06,0}}" />
+ <Property Name="DocumentSize" Value="1" />
+ <Property Name="PageSize" Value="0.0625" />
+ <Property Name="StepSize" Value="0.00392" />
+ <Property Name="OverlapSize" Value="0.00392" />
+ <Property Name="Tooltip" Value="Slider to adjust the green colour component." />
+ </Window>
+
+ <Window Type="TaharezLook/HorizontalScrollbar" Name="Demo8/Window1/Controls/Blue">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.19,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.06,0}}" />
+ <Property Name="DocumentSize" Value="1" />
+ <Property Name="PageSize" Value="0.0625" />
+ <Property Name="StepSize" Value="0.00392" />
+ <Property Name="OverlapSize" Value="0.00392" />
+ <Property Name="Tooltip" Value="Slider to adjust the blue colour component." />
+ </Window>
+
+ <Window Type="TaharezLook/StaticImage" Name="Demo8/Window1/Controls/ColourSample">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.26,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.1,0}}" />
+ <Property Name="Image" Value="set:TaharezLook image:MultiListSelectionBrush" />
+ <Property Name="ImageColours" Value="tl:0 tr:0 bl:0 br:0" />
+ <Property Name="Tooltip" Value="Shows a sample of the selected colour." />
+ </Window>
+
+ <Window Type="TaharezLook/Editbox" Name="Demo8/Window1/Controls/Editbox">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.38,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.6,0},{0.15,0}}" />
+ <Property Name="Tooltip" Value="Enter the text for a new Listbox item here." />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Demo8/Window1/Controls/Add">
+ <Property Name="UnifiedPosition" Value="{{0.68,0},{0.38,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.3,0},{0.15,0}}" />
+ <Property Name="Text" Value="Add" />
+ <Property Name="Tooltip" Value="Adds a new item to the Listbox." />
+ </Window>
+
+ <Window Type="TaharezLook/StaticText" Name="Demo8/Window1/Controls/ins1">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.55,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.4,0}}" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="Text" Value="Use this panel to add items. The scrollbars change the selection colour." />
+ <Property Name="Tooltip" Value="Information panel." />
+ </Window>
+ </Window>
+ </Window>
+
+ <Window Type="TaharezLook/FrameWindow" Name="Demo8/Window2">
+ <Property Name="UnifiedPosition" Value="{{0.55,0},{0.1,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{0.5,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
+ <Property Name="UnifiedSize" Value="{{0.4,0},{0.3,0}}" />
+ <Property Name="Text" Value="Demo 8 - Information Window" />
+ <Property Name="Tooltip" Value="Contains some StaticText information panels" />
+
+ <Window Type="TaharezLook/StaticText" Name="Demo8/Window2/Info">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.1,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.3,0}}" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="Text" Value="The panel below gives some information about the item under the mouse." />
+ </Window>
+
+ <Window Type="TaharezLook/StaticText" Name="Demo8/Window2/Tips">
+ <Property Name="UnifiedPosition" Value="{{0.05,0},{0.5,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.9,0},{0.4,0}}" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="Text" Value="We removed this, and now use proper Tooltips instead!" />
+ </Window>
+ </Window>
+ </Window>
+</Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/Demo8.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/DragDropDemo.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/FontDemo.layout
===================================================================
--- code/trunk/data/gui/layouts/FontDemo.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/FontDemo.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,58 +1,58 @@
-<?xml version="1.0" ?>
-<GUILayout>
-<Window Type="DefaultGUISheet" Name="root">
- <Window Type="TaharezLook/FrameWindow" Name="FontDemo/Window">
- <Property Name="UnifiedPosition" Value="{{0.1,0},{0.1,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
- <Property Name="UnifiedSize" Value="{{0.8,0},{0.8,0}}" />
- <Property Name="Text" Value="Font Demo" />
- <Property Name="Tooltip" Value="This is a simple demonstration of what the font subsystem can do." />
-
- <Window Type="TaharezLook/MultiLineEditbox" Name="FontDemo/FontSample">
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.1,0},{0.75,0},{0.5,0}}" />
- <Property Name="Tooltip" Value="This window shows a sample of the selected font" />
- <Property Name="WordWrap" Value="True" />
- </Window>
-
- <Window Type="TaharezLook/Listbox" Name="FontDemo/LangList">
- <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.1,0},{0.95,0},{0.5,0}}" />
- <Property Name="Tooltip" Value="Contains a list of languages to select sample text from" />
- </Window>
-
- <Window Type="TaharezLook/Listbox" Name="FontDemo/FontList">
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.55,0},{0.45,0},{0.95,0}}" />
- <Property Name="Tooltip" Value="This listbox shows a list of available fonts to experiment with" />
- </Window>
-
- <Window Type="TaharezLook/StaticText" Name="FontDemo/FontDesc" >
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="HorzFormatting" Value="WordWrapCentred" />
- <Property Name="VertFormatting" Value="CentreAligned" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.55,0},{0.95,0},{0.65,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
-
- <Window Type="TaharezLook/Checkbox" Name="FontDemo/AutoScaled" >
- <Property Name="Text" Value="Auto scale font to current resolution" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.7,0},{0.95,0},{0.75,0}}" />
- <Property Name="Tooltip" Value="Choose between autoscaled/non-autoscaled font versions" />
- </Window>
-
- <Window Type="TaharezLook/Checkbox" Name="FontDemo/Antialiased" >
- <Property Name="Text" Value="Antialias the font for smoother look" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.8,0},{0.95,0},{0.85,0}}" />
- <Property Name="Tooltip" Value="Choose between antialiased/non-antialiased font versions" />
- </Window>
-
- <Window Type="TaharezLook/HorizontalScrollbar" Name="FontDemo/PointSize" >
- <Property Name="DocumentSize" Value="72" />
- <Property Name="PageSize" Value="1" />
- <Property Name="StepSize" Value="1" />
- <Property Name="OverlapSize" Value="0" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.9,0},{0.95,0},{0.9,12}}" />
- <Property Name="Tooltip" Value="Changes font point size" />
- </Window>
- </Window>
-</Window>
-</GUILayout>
+<?xml version="1.0" ?>
+<GUILayout>
+<Window Type="DefaultGUISheet" Name="root">
+ <Window Type="TaharezLook/FrameWindow" Name="FontDemo/Window">
+ <Property Name="UnifiedPosition" Value="{{0.1,0},{0.1,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
+ <Property Name="UnifiedSize" Value="{{0.8,0},{0.8,0}}" />
+ <Property Name="Text" Value="Font Demo" />
+ <Property Name="Tooltip" Value="This is a simple demonstration of what the font subsystem can do." />
+
+ <Window Type="TaharezLook/MultiLineEditbox" Name="FontDemo/FontSample">
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.1,0},{0.75,0},{0.5,0}}" />
+ <Property Name="Tooltip" Value="This window shows a sample of the selected font" />
+ <Property Name="WordWrap" Value="True" />
+ </Window>
+
+ <Window Type="TaharezLook/Listbox" Name="FontDemo/LangList">
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.1,0},{0.95,0},{0.5,0}}" />
+ <Property Name="Tooltip" Value="Contains a list of languages to select sample text from" />
+ </Window>
+
+ <Window Type="TaharezLook/Listbox" Name="FontDemo/FontList">
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.55,0},{0.45,0},{0.95,0}}" />
+ <Property Name="Tooltip" Value="This listbox shows a list of available fonts to experiment with" />
+ </Window>
+
+ <Window Type="TaharezLook/StaticText" Name="FontDemo/FontDesc" >
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="VertFormatting" Value="CentreAligned" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.55,0},{0.95,0},{0.65,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+
+ <Window Type="TaharezLook/Checkbox" Name="FontDemo/AutoScaled" >
+ <Property Name="Text" Value="Auto scale font to current resolution" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.7,0},{0.95,0},{0.75,0}}" />
+ <Property Name="Tooltip" Value="Choose between autoscaled/non-autoscaled font versions" />
+ </Window>
+
+ <Window Type="TaharezLook/Checkbox" Name="FontDemo/Antialiased" >
+ <Property Name="Text" Value="Antialias the font for smoother look" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.8,0},{0.95,0},{0.85,0}}" />
+ <Property Name="Tooltip" Value="Choose between antialiased/non-antialiased font versions" />
+ </Window>
+
+ <Window Type="TaharezLook/HorizontalScrollbar" Name="FontDemo/PointSize" >
+ <Property Name="DocumentSize" Value="72" />
+ <Property Name="PageSize" Value="1" />
+ <Property Name="StepSize" Value="1" />
+ <Property Name="OverlapSize" Value="0" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.9,0},{0.95,0},{0.9,12}}" />
+ <Property Name="Tooltip" Value="Changes font point size" />
+ </Window>
+ </Window>
+</Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/FontDemo.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/GUILayout.xsd
===================================================================
--- code/trunk/data/gui/layouts/GUILayout.xsd 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/GUILayout.xsd 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,63 +1,63 @@
-<?xml version="1.0"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-
- <xsd:element name="GUILayout" type="GUILayoutType"/>
-
- <xsd:complexType name="GUILayoutType">
- <xsd:sequence>
- <xsd:element name="Window" type="WindowType" />
- </xsd:sequence>
- <xsd:attribute name="Parent" type="xsd:string" use="optional" default=""/>
- </xsd:complexType>
-
- <xsd:complexType name="WindowType">
- <xsd:sequence>
- <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" />
- <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
- <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" />
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="Window" type="WindowType" />
- <xsd:element name="AutoWindow" type="AutoWindowType" />
- </xsd:choice>
- <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="Type" type="xsd:string" use="required"/>
- <xsd:attribute name="Name" type="xsd:string" use="optional" default="" />
- </xsd:complexType>
-
- <xsd:complexType name="AutoWindowType">
- <xsd:sequence>
- <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" />
- <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
- <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" />
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="Window" type="WindowType" />
- <xsd:element name="AutoWindow" type="AutoWindowType" />
- </xsd:choice>
- <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="NameSuffix" type="xsd:string" use="required"/>
- </xsd:complexType>
-
- <xsd:complexType name="PropertyType">
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute name="Name" type="xsd:string" use="required"/>
- <xsd:attribute name="Value" type="xsd:string" use="optional"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <xsd:complexType name="LayoutImportType">
- <xsd:attribute name="Filename" type="xsd:string" use="required"/>
- <xsd:attribute name="Prefix" type="xsd:string" use="optional" default="" />
- <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
- </xsd:complexType>
-
- <xsd:complexType name="EventType">
- <xsd:attribute name="Name" type="xsd:string" use="required"/>
- <xsd:attribute name="Function" type="xsd:string" use="required"/>
- </xsd:complexType>
-
-</xsd:schema>
-
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+ <xsd:element name="GUILayout" type="GUILayoutType"/>
+
+ <xsd:complexType name="GUILayoutType">
+ <xsd:sequence>
+ <xsd:element name="Window" type="WindowType" />
+ </xsd:sequence>
+ <xsd:attribute name="Parent" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+
+ <xsd:complexType name="WindowType">
+ <xsd:sequence>
+ <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Window" type="WindowType" />
+ <xsd:element name="AutoWindow" type="AutoWindowType" />
+ </xsd:choice>
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="Type" type="xsd:string" use="required"/>
+ <xsd:attribute name="Name" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+
+ <xsd:complexType name="AutoWindowType">
+ <xsd:sequence>
+ <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Window" type="WindowType" />
+ <xsd:element name="AutoWindow" type="AutoWindowType" />
+ </xsd:choice>
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="NameSuffix" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="PropertyType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="Name" type="xsd:string" use="required"/>
+ <xsd:attribute name="Value" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="LayoutImportType">
+ <xsd:attribute name="Filename" type="xsd:string" use="required"/>
+ <xsd:attribute name="Prefix" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+
+ <xsd:complexType name="EventType">
+ <xsd:attribute name="Name" type="xsd:string" use="required"/>
+ <xsd:attribute name="Function" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+</xsd:schema>
+
Property changes on: code/trunk/data/gui/layouts/GUILayout.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/InGameTest.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/InstancingDemo.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/MainMenu.layout
===================================================================
--- code/trunk/data/gui/layouts/MainMenu.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/MainMenu.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -15,8 +15,8 @@
</Window>
<Window Type="TaharezLook/Listbox" Name="orxonox/LevelListbox">
- <Property Name="UnifiedPosition" Value="{{0.4,0},{0.3,0}}"/>
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0.4,0},{0.3,0}}"/>
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
<Property Name="UnifiedSize" Value="{{0.35,0},{0.33,0}}" />
<Property Name="Tooltip" Value="Available Levels." />
<Event Name="ItemSelectionChanged" Function="MainMenu.listbox_level_selectionchanged" />
Property changes on: code/trunk/data/gui/layouts/MainMenu.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/PickupInventory.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/TabControlDemo.layout
===================================================================
--- code/trunk/data/gui/layouts/TabControlDemo.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/TabControlDemo.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<GUILayout >
- <Window Type="TaharezLook/FrameWindow" Name="Frame" >
- <Property Name="Text" Value="Tab Control Demo" />
- <Property Name="Tooltip" Value="This is a demonstration of TabControl abilities." />
- <Property Name="TitlebarFont" Value="Commonwealth-10" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
- <Property Name="TitlebarEnabled" Value="True" />
- <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.1,0},{0.9,0},{0.9,0}}" />
- <Window Type="TaharezLook/TabControl" Name="Frame/TabControl" >
- <Property Name="Tooltip" Value="This is the tab control" />
- <Property Name="TabHeight" Value="{0,-1}" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="TabPanePosition" Value="Bottom" />
- <Property Name="UnifiedAreaRect" Value="{{0,10},{0,30},{1,-10},{1,-10}}" />
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+ <Window Type="TaharezLook/FrameWindow" Name="Frame" >
+ <Property Name="Text" Value="Tab Control Demo" />
+ <Property Name="Tooltip" Value="This is a demonstration of TabControl abilities." />
+ <Property Name="TitlebarFont" Value="Commonwealth-10" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.1,0},{0.9,0},{0.9,0}}" />
+ <Window Type="TaharezLook/TabControl" Name="Frame/TabControl" >
+ <Property Name="Tooltip" Value="This is the tab control" />
+ <Property Name="TabHeight" Value="{0,-1}" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="TabPanePosition" Value="Bottom" />
+ <Property Name="UnifiedAreaRect" Value="{{0,10},{0,30},{1,-10},{1,-10}}" />
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/TabControlDemo.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/TabPage.layout
===================================================================
--- code/trunk/data/gui/layouts/TabPage.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/TabPage.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,34 +1,34 @@
-<?xml version="1.0" ?>
-<GUILayout>
-
-<Window Type="DefaultGUISheet" Name="">
- <Window Type="TaharezLook/StaticText" Name="Text">
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="HorzFormatting" Value="WordWrapCentred" />
- <Property Name="VertFormatting" Value="CentreAligned" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.1,0},{0.9,0},{0.4,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Button1">
- <Property Name="Text" Value="- One -" />
- <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.1,0},{0.3,0},{0.2,0}}" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Button2">
- <Property Name="Text" Value="- Two -" />
- <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.3,0},{0.5,0},{0.4,0}}" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Button3">
- <Property Name="Text" Value="- Three -" />
- <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.5,0},{0.7,0},{0.6,0}}" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Button4">
- <Property Name="Text" Value="- Four -" />
- <Property Name="UnifiedAreaRect" Value="{{0.7,0},{0.7,0},{0.9,0},{0.8,0}}" />
- </Window>
-</Window>
-
-</GUILayout>
+<?xml version="1.0" ?>
+<GUILayout>
+
+<Window Type="DefaultGUISheet" Name="">
+ <Window Type="TaharezLook/StaticText" Name="Text">
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="VertFormatting" Value="CentreAligned" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.1,0},{0.9,0},{0.4,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Button1">
+ <Property Name="Text" Value="- One -" />
+ <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.1,0},{0.3,0},{0.2,0}}" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Button2">
+ <Property Name="Text" Value="- Two -" />
+ <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.3,0},{0.5,0},{0.4,0}}" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Button3">
+ <Property Name="Text" Value="- Three -" />
+ <Property Name="UnifiedAreaRect" Value="{{0.5,0},{0.5,0},{0.7,0},{0.6,0}}" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Button4">
+ <Property Name="Text" Value="- Four -" />
+ <Property Name="UnifiedAreaRect" Value="{{0.7,0},{0.7,0},{0.9,0},{0.8,0}}" />
+ </Window>
+</Window>
+
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/TabPage.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/TabPage1.layout
===================================================================
--- code/trunk/data/gui/layouts/TabPage1.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/TabPage1.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,75 +1,75 @@
-<?xml version="1.0" ?>
-<GUILayout>
- <Window Type="DefaultGUISheet" Name="Page1">
- <Property Name="Text" Value="Page one" />
-
- <Window Type="TaharezLook/RadioButton" Name="Page1/TabPaneTop" >
- <Property Name="ID" Value="0" />
- <Property Name="Text" Value="Tab pane at top" />
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.1,0},{0.45,0},{0.2,0}}" />
- </Window>
-
- <Window Type="TaharezLook/RadioButton" Name="Page1/TabPaneBottom" >
- <Property Name="ID" Value="1" />
- <Property Name="Text" Value="Tab pane at bottom" />
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.2,0},{0.45,0},{0.3,0}}" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Page1/AddTab">
- <Property Name="Text" Value="Add a new tab" />
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.35,0},{0.45,0},{0.45,0}}" />
- <Property Name="Tooltip" Value="Switch active page to selected" />
- </Window>
-
- <Window Type="TaharezLook/Listbox" Name="Page1/PageList">
- <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.1,0},{0.95,0},{0.48,0}}" />
- <Property Name="Tooltip" Value="A list of available tabs to experiment with" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Page1/Go">
- <Property Name="Text" Value="Goto" />
- <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.5,0},{0.67,0},{0.57,0}}" />
- <Property Name="Tooltip" Value="Switch active page to selected" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Page1/Show">
- <Property Name="Text" Value="Show" />
- <Property Name="UnifiedAreaRect" Value="{{0.69,0},{0.5,0},{0.81,0},{0.57,0}}" />
- <Property Name="Tooltip" Value="Make the selected tab visible in the tab pane" />
- </Window>
-
- <Window Type="TaharezLook/Button" Name="Page1/Del">
- <Property Name="Text" Value="Del" />
- <Property Name="UnifiedAreaRect" Value="{{0.83,0},{0.5,0},{0.95,0},{0.57,0}}" />
- <Property Name="Tooltip" Value="Delete the selected pane" />
- </Window>
-
- <Window Type="TaharezLook/StaticText" Name="Page1/TabHeightDesc" >
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.6,0},{0.95,0},{0.7,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- <Property Name="Text" Value="Change the height of tab buttons in pixels" />
- </Window>
- <Window Type="TaharezLook/HorizontalScrollbar" Name="Page1/TabHeight">
- <Property Name="DocumentSize" Value="64" />
- <Property Name="PageSize" Value="4" />
- <Property Name="StepSize" Value="1" />
- <Property Name="OverlapSize" Value="0" />
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.7,0},{0.95,0},{0.7,12}}" />
- </Window>
-
- <Window Type="TaharezLook/StaticText" Name="Page1/TabPaddingDesc" >
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.8,0},{0.95,0},{0.9,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- <Property Name="Text" Value="Change the padding of the text on buttons in pixels" />
- </Window>
- <Window Type="TaharezLook/HorizontalScrollbar" Name="Page1/TabPadding">
- <Property Name="DocumentSize" Value="100" />
- <Property Name="PageSize" Value="5" />
- <Property Name="StepSize" Value="1" />
- <Property Name="OverlapSize" Value="0" />
- <Property Name="UnifiedAreaRect" Value="{{0.06,0},{0.9,0},{0.95,0},{0.9,12}}" />
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" ?>
+<GUILayout>
+ <Window Type="DefaultGUISheet" Name="Page1">
+ <Property Name="Text" Value="Page one" />
+
+ <Window Type="TaharezLook/RadioButton" Name="Page1/TabPaneTop" >
+ <Property Name="ID" Value="0" />
+ <Property Name="Text" Value="Tab pane at top" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.1,0},{0.45,0},{0.2,0}}" />
+ </Window>
+
+ <Window Type="TaharezLook/RadioButton" Name="Page1/TabPaneBottom" >
+ <Property Name="ID" Value="1" />
+ <Property Name="Text" Value="Tab pane at bottom" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.2,0},{0.45,0},{0.3,0}}" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Page1/AddTab">
+ <Property Name="Text" Value="Add a new tab" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.35,0},{0.45,0},{0.45,0}}" />
+ <Property Name="Tooltip" Value="Switch active page to selected" />
+ </Window>
+
+ <Window Type="TaharezLook/Listbox" Name="Page1/PageList">
+ <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.1,0},{0.95,0},{0.48,0}}" />
+ <Property Name="Tooltip" Value="A list of available tabs to experiment with" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Page1/Go">
+ <Property Name="Text" Value="Goto" />
+ <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.5,0},{0.67,0},{0.57,0}}" />
+ <Property Name="Tooltip" Value="Switch active page to selected" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Page1/Show">
+ <Property Name="Text" Value="Show" />
+ <Property Name="UnifiedAreaRect" Value="{{0.69,0},{0.5,0},{0.81,0},{0.57,0}}" />
+ <Property Name="Tooltip" Value="Make the selected tab visible in the tab pane" />
+ </Window>
+
+ <Window Type="TaharezLook/Button" Name="Page1/Del">
+ <Property Name="Text" Value="Del" />
+ <Property Name="UnifiedAreaRect" Value="{{0.83,0},{0.5,0},{0.95,0},{0.57,0}}" />
+ <Property Name="Tooltip" Value="Delete the selected pane" />
+ </Window>
+
+ <Window Type="TaharezLook/StaticText" Name="Page1/TabHeightDesc" >
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.6,0},{0.95,0},{0.7,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ <Property Name="Text" Value="Change the height of tab buttons in pixels" />
+ </Window>
+ <Window Type="TaharezLook/HorizontalScrollbar" Name="Page1/TabHeight">
+ <Property Name="DocumentSize" Value="64" />
+ <Property Name="PageSize" Value="4" />
+ <Property Name="StepSize" Value="1" />
+ <Property Name="OverlapSize" Value="0" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.7,0},{0.95,0},{0.7,12}}" />
+ </Window>
+
+ <Window Type="TaharezLook/StaticText" Name="Page1/TabPaddingDesc" >
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.8,0},{0.95,0},{0.9,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ <Property Name="Text" Value="Change the padding of the text on buttons in pixels" />
+ </Window>
+ <Window Type="TaharezLook/HorizontalScrollbar" Name="Page1/TabPadding">
+ <Property Name="DocumentSize" Value="100" />
+ <Property Name="PageSize" Value="5" />
+ <Property Name="StepSize" Value="1" />
+ <Property Name="OverlapSize" Value="0" />
+ <Property Name="UnifiedAreaRect" Value="{{0.06,0},{0.9,0},{0.95,0},{0.9,12}}" />
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/TabPage1.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/TabPage2.layout
===================================================================
--- code/trunk/data/gui/layouts/TabPage2.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/TabPage2.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,38 +1,38 @@
-<?xml version="1.0" ?>
-<GUILayout>
- <Window Type="DefaultGUISheet" Name="Page2">
- <Property Name="Text" Value="Page two" />
- <Window Type="TaharezLook/Button" Name="Page2/Button1">
- <Property Name="Text" Value="Push me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.1,0},{0.8,0},{0.2,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="Page2/Button2">
- <Property Name="Text" Value="Press me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2,0},{0.8,0},{0.3,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="Page2/Button3">
- <Property Name="Text" Value="Kick me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.3,0},{0.8,0},{0.4,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="Page2/Button4">
- <Property Name="Text" Value="Break me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.4,0},{0.8,0},{0.5,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="Page2/Button5">
- <Property Name="Text" Value="Catch me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.5,0},{0.8,0},{0.6,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="Page2/Button6">
- <Property Name="Text" Value="Kiss me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.6,0},{0.8,0},{0.7,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="Page2/Button7">
- <Property Name="Text" Value="Lick me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.7,0},{0.8,0},{0.8,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="Page2/Button8">
- <Property Name="Text" Value="Spit me" />
- <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.8,0},{0.8,0},{0.9,0}}" />
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" ?>
+<GUILayout>
+ <Window Type="DefaultGUISheet" Name="Page2">
+ <Property Name="Text" Value="Page two" />
+ <Window Type="TaharezLook/Button" Name="Page2/Button1">
+ <Property Name="Text" Value="Push me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.1,0},{0.8,0},{0.2,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="Page2/Button2">
+ <Property Name="Text" Value="Press me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2,0},{0.8,0},{0.3,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="Page2/Button3">
+ <Property Name="Text" Value="Kick me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.3,0},{0.8,0},{0.4,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="Page2/Button4">
+ <Property Name="Text" Value="Break me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.4,0},{0.8,0},{0.5,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="Page2/Button5">
+ <Property Name="Text" Value="Catch me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.5,0},{0.8,0},{0.6,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="Page2/Button6">
+ <Property Name="Text" Value="Kiss me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.6,0},{0.8,0},{0.7,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="Page2/Button7">
+ <Property Name="Text" Value="Lick me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.7,0},{0.8,0},{0.8,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="Page2/Button8">
+ <Property Name="Text" Value="Spit me" />
+ <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.8,0},{0.8,0},{0.9,0}}" />
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/TabPage2.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/TextDemo.layout
===================================================================
--- code/trunk/data/gui/layouts/TextDemo.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/TextDemo.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,146 +1,146 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<GUILayout >
- <Window Type="DefaultWindow" Name="Root" >
- <Property Name="InheritsAlpha" Value="False" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
- <Window Type="TaharezLook/FrameWindow" Name="TextDemo" >
- <Property Name="Text" Value="Text sample" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="TitlebarEnabled" Value="True" />
- <Property Name="UnifiedAreaRect" Value="{{0.0160194,0},{0.0159533,0},{0.869175,0},{0.880739,0}}" />
- <Window Type="TaharezLook/GroupBox" Name="TextDemo/StaticGroup" >
- <Property Name="Text" Value="Static text" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.0173979,0},{0.078319,0},{0.986007,0},{0.404881,0}}" />
- </Window>
- <Window Type="TaharezLook/GroupBox" Name="TextDemo/SingleLineGroup" >
- <Property Name="Text" Value="Single line editing" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.0184568,0},{0.415308,0},{0.984039,0},{0.570098,0}}" />
- </Window>
- <Window Type="TaharezLook/StaticText" Name="TextDemo/StaticText" >
- <Property Name="Text" Value="Demonstrates static (non editable) text. Use the controls on your right for formatting options." />
- <Property Name="HorzFormatting" Value="WordWrapLeftAligned" />
- <Property Name="VertFormatting" Value="TopAligned" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.032217,0},{0.126344,0},{0.42415,0},{0.384995,0}}" />
- </Window>
- <Window Type="TaharezLook/StaticText" Name="TextDemo/lblHorzFormatting" >
- <Property Name="Text" Value="Horz. formatting" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.436163,0},{0.124473,0},{0.634902,0},{0.173498,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="TextDemo/HorzLeft" >
- <Property Name="Text" Value="Left aligned" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.434561,0},{0.179757,0},{0.602889,0},{0.228783,0}}" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="TextDemo/HorzRight" >
- <Property Name="Text" Value="Right aligned" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.434561,0},{0.223715,0},{0.602889,0},{0.27274,0}}" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="TextDemo/HorzCentered" >
- <Property Name="Text" Value="Center aligned" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.434561,0},{0.267673,0},{0.602889,0},{0.316698,0}}" />
- </Window>
- <Window Type="TaharezLook/StaticText" Name="TextDemo/lblVertFormatting" >
- <Property Name="Text" Value="Vert. formatting" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.612759,0},{0.124473,0},{0.787369,0},{0.173498,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="TextDemo/VertTop" >
- <Property Name="Text" Value="Top aligned" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.609555,0},{0.190256,0},{0.792699,0},{0.227283,0}}" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="TextDemo/VertBottom" >
- <Property Name="Text" Value="Bottom aligned" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.609555,0},{0.234214,0},{0.792699,0},{0.27124,0}}" />
- </Window>
- <Window Type="TaharezLook/RadioButton" Name="TextDemo/VertCentered" >
- <Property Name="Text" Value="Center aligned" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.609555,0},{0.276102,0},{0.792699,0},{0.313129,0}}" />
- </Window>
- <Window Type="TaharezLook/Checkbox" Name="TextDemo/Wrap" >
- <Property Name="Text" Value="Word wrap" />
- <Property Name="Selected" Value="True" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.780252,0},{0.127429,0},{0.931853,0},{0.180953,0}}" />
- </Window>
- <Window Type="TaharezLook/Editbox" Name="TextDemo/editName" >
- <Property Name="Text" Value="Your name" />
- <Property Name="MaxTextLength" Value="1073741823" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.032217,0},{0.497488,0},{0.282217,0},{0.548012,0}}" />
- </Window>
- <Window Type="TaharezLook/Editbox" Name="TextDemo/editAge" >
- <Property Name="Text" Value="18" />
- <Property Name="MaxTextLength" Value="1073741823" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.309388,0},{0.497488,0},{0.361665,0},{0.548012,0}}" />
- </Window>
- <Window Type="TaharezLook/Editbox" Name="TextDemo/editPasswd" >
- <Property Name="Text" Value="Secret" />
- <Property Name="MaxTextLength" Value="1073741823" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.386344,0},{0.497488,0},{0.576599,0},{0.548012,0}}" />
- </Window>
- <Window Type="TaharezLook/StaticText" Name="TextDemo/lblName" >
- <Property Name="Text" Value="Name:" />
- <Property Name="AlwaysOnTop" Value="True" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.0334283,0},{0.453505,0},{0.283428,0},{0.492031,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
- <Window Type="TaharezLook/StaticText" Name="TextDemo/lblAge" >
- <Property Name="Text" Value="Age:" />
- <Property Name="AlwaysOnTop" Value="True" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.312375,0},{0.453505,0},{0.562375,0},{0.492031,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
- <Window Type="TaharezLook/StaticText" Name="TextDemo/lblPassword" >
- <Property Name="Text" Value="Password:" />
- <Property Name="AlwaysOnTop" Value="True" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.389616,0},{0.452006,0},{0.639615,0},{0.490531,0}}" />
- <Property Name="BackgroundEnabled" Value="False" />
- </Window>
- <Window Type="TaharezLook/GroupBox" Name="TextDemo/MultiLineGroup" >
- <Property Name="Text" Value="Multi line editing" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.018457,0},{0.583793,0},{0.984039,0},{0.932058,0}}" />
- </Window>
- <Window Type="TaharezLook/MultiLineEditbox" Name="TextDemo/editMulti" >
- <Property Name="Text" >
-</Property>
- <Property Name="MaxTextLength" Value="1073741823" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.032217,0},{0.651968,0},{0.579514,0},{0.910619,0}}" />
- </Window>
- <Window Type="TaharezLook/Checkbox" Name="TextDemo/forceScroll" >
- <Property Name="Text" Value="Force vertical scrollbar" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.585348,0},{0.651481,0},{0.832503,0},{0.688507,0}}" />
- </Window>
- <Window Type="TaharezLook/Button" Name="TextDemo/Quit" >
- <Property Name="Text" Value="Quit" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedAreaRect" Value="{{0.421905,0},{0.937908,0},{0.612162,0},{0.991433,0}}" />
- </Window>
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+ <Window Type="DefaultWindow" Name="Root" >
+ <Property Name="InheritsAlpha" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+ <Window Type="TaharezLook/FrameWindow" Name="TextDemo" >
+ <Property Name="Text" Value="Text sample" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.0160194,0},{0.0159533,0},{0.869175,0},{0.880739,0}}" />
+ <Window Type="TaharezLook/GroupBox" Name="TextDemo/StaticGroup" >
+ <Property Name="Text" Value="Static text" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.0173979,0},{0.078319,0},{0.986007,0},{0.404881,0}}" />
+ </Window>
+ <Window Type="TaharezLook/GroupBox" Name="TextDemo/SingleLineGroup" >
+ <Property Name="Text" Value="Single line editing" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.0184568,0},{0.415308,0},{0.984039,0},{0.570098,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="TextDemo/StaticText" >
+ <Property Name="Text" Value="Demonstrates static (non editable) text. Use the controls on your right for formatting options." />
+ <Property Name="HorzFormatting" Value="WordWrapLeftAligned" />
+ <Property Name="VertFormatting" Value="TopAligned" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.032217,0},{0.126344,0},{0.42415,0},{0.384995,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="TextDemo/lblHorzFormatting" >
+ <Property Name="Text" Value="Horz. formatting" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.436163,0},{0.124473,0},{0.634902,0},{0.173498,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="TextDemo/HorzLeft" >
+ <Property Name="Text" Value="Left aligned" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.434561,0},{0.179757,0},{0.602889,0},{0.228783,0}}" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="TextDemo/HorzRight" >
+ <Property Name="Text" Value="Right aligned" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.434561,0},{0.223715,0},{0.602889,0},{0.27274,0}}" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="TextDemo/HorzCentered" >
+ <Property Name="Text" Value="Center aligned" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.434561,0},{0.267673,0},{0.602889,0},{0.316698,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="TextDemo/lblVertFormatting" >
+ <Property Name="Text" Value="Vert. formatting" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.612759,0},{0.124473,0},{0.787369,0},{0.173498,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="TextDemo/VertTop" >
+ <Property Name="Text" Value="Top aligned" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.609555,0},{0.190256,0},{0.792699,0},{0.227283,0}}" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="TextDemo/VertBottom" >
+ <Property Name="Text" Value="Bottom aligned" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.609555,0},{0.234214,0},{0.792699,0},{0.27124,0}}" />
+ </Window>
+ <Window Type="TaharezLook/RadioButton" Name="TextDemo/VertCentered" >
+ <Property Name="Text" Value="Center aligned" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.609555,0},{0.276102,0},{0.792699,0},{0.313129,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Checkbox" Name="TextDemo/Wrap" >
+ <Property Name="Text" Value="Word wrap" />
+ <Property Name="Selected" Value="True" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.780252,0},{0.127429,0},{0.931853,0},{0.180953,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="TextDemo/editName" >
+ <Property Name="Text" Value="Your name" />
+ <Property Name="MaxTextLength" Value="1073741823" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.032217,0},{0.497488,0},{0.282217,0},{0.548012,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="TextDemo/editAge" >
+ <Property Name="Text" Value="18" />
+ <Property Name="MaxTextLength" Value="1073741823" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.309388,0},{0.497488,0},{0.361665,0},{0.548012,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="TextDemo/editPasswd" >
+ <Property Name="Text" Value="Secret" />
+ <Property Name="MaxTextLength" Value="1073741823" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.386344,0},{0.497488,0},{0.576599,0},{0.548012,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="TextDemo/lblName" >
+ <Property Name="Text" Value="Name:" />
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.0334283,0},{0.453505,0},{0.283428,0},{0.492031,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="TextDemo/lblAge" >
+ <Property Name="Text" Value="Age:" />
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.312375,0},{0.453505,0},{0.562375,0},{0.492031,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="TextDemo/lblPassword" >
+ <Property Name="Text" Value="Password:" />
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.389616,0},{0.452006,0},{0.639615,0},{0.490531,0}}" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ </Window>
+ <Window Type="TaharezLook/GroupBox" Name="TextDemo/MultiLineGroup" >
+ <Property Name="Text" Value="Multi line editing" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.018457,0},{0.583793,0},{0.984039,0},{0.932058,0}}" />
+ </Window>
+ <Window Type="TaharezLook/MultiLineEditbox" Name="TextDemo/editMulti" >
+ <Property Name="Text" >
+</Property>
+ <Property Name="MaxTextLength" Value="1073741823" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.032217,0},{0.651968,0},{0.579514,0},{0.910619,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Checkbox" Name="TextDemo/forceScroll" >
+ <Property Name="Text" Value="Force vertical scrollbar" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.585348,0},{0.651481,0},{0.832503,0},{0.688507,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="TextDemo/Quit" >
+ <Property Name="Text" Value="Quit" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.421905,0},{0.937908,0},{0.612162,0},{0.991433,0}}" />
+ </Window>
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/TextDemo.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/TreeDemoTaharez.layout
===================================================================
--- code/trunk/data/gui/layouts/TreeDemoTaharez.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/TreeDemoTaharez.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,35 +1,35 @@
-<?xml version="1.0" ?>
-<GUILayout>
- <Window Type="TaharezLook/FrameWindow" Name="DemoWindow">
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
- <Property Name="UnifiedSize" Value="{{0.5,0},{0.8,0}}" />
-
- <Property Name="Text" Value="Tree Demo" />
- <Property Name="CloseButtonEnabled" Value="False" />
- <Property Name="SizingEnabled" Value="True" />
- <Property Name="FrameEnabled" Value="True" />
- <Property Name="RollUpEnabled" Value="True" />
- <Property Name="SizingBorderThickness" Value="8.0" />
-
- <Window Type="TaharezLook/Tree" Name="DemoWindow/Tree">
- <Property Name="ID" Value="1" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
-
- <Property Name="UnifiedSize" Value="{{0.96,0},{0.75,0}}" />
- <Property Name="UnifiedPosition" Value="{{0.02,0},{0.1,0}}" />
- </Window>
-
- <Window Type="TaharezLook/Editbox" Name="DemoWindow/Editbox">
- <Property Name="ID" Value="2" />
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="UnifiedMaxSize" Value="{{0.7,0},{0.05,0}}" />
- <Property Name="UnifiedMinSize" Value="{{0.7,0},{0.05,0}}" />
- <Property Name="UnifiedSize" Value="{{0.7,0},{0.05,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
- <Property Name="ReadOnly" Value="True" />
- <Property Name="Text" Value="" />
- <Property Name="Tooltip" Value="World Location X" />
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" ?>
+<GUILayout>
+ <Window Type="TaharezLook/FrameWindow" Name="DemoWindow">
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0,128},{0,128}}" />
+ <Property Name="UnifiedSize" Value="{{0.5,0},{0.8,0}}" />
+
+ <Property Name="Text" Value="Tree Demo" />
+ <Property Name="CloseButtonEnabled" Value="False" />
+ <Property Name="SizingEnabled" Value="True" />
+ <Property Name="FrameEnabled" Value="True" />
+ <Property Name="RollUpEnabled" Value="True" />
+ <Property Name="SizingBorderThickness" Value="8.0" />
+
+ <Window Type="TaharezLook/Tree" Name="DemoWindow/Tree">
+ <Property Name="ID" Value="1" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+
+ <Property Name="UnifiedSize" Value="{{0.96,0},{0.75,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0.02,0},{0.1,0}}" />
+ </Window>
+
+ <Window Type="TaharezLook/Editbox" Name="DemoWindow/Editbox">
+ <Property Name="ID" Value="2" />
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="UnifiedMaxSize" Value="{{0.7,0},{0.05,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.7,0},{0.05,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.7,0},{0.05,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
+ <Property Name="ReadOnly" Value="True" />
+ <Property Name="Text" Value="" />
+ <Property Name="Tooltip" Value="World Location X" />
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/TreeDemoTaharez.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/VanillaConsole.layout
===================================================================
--- code/trunk/data/gui/layouts/VanillaConsole.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/VanillaConsole.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,51 +1,51 @@
-<?xml version="1.0" ?>
-<GUILayout>
- <Window Type="Vanilla/FrameWindow" Name="Vanilla/Console">
- <Property Name="AlwaysOnTop" Value="True" />
- <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
- <Property Name="UnifiedPosition" Value="{{0.5,0},{0.5,0}}" />
- <Property Name="UnifiedSize" Value="{{0.5,0},{0.45,0}}" />
- <Property Name="Text" Value="Console" />
- <Property Name="CloseButtonEnabled" Value="False" />
-
- <Window Type="Vanilla/Button" Name="Vanilla/Console/Submit">
- <Property Name="ID" Value="1" />
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="HorizontalAlignment" Value="Right" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,-7},{0,-7}}" />
- <Property Name="UnifiedSize" Value="{{0.25,0},{0,30}}" />
- <Property Name="Text" Value="Submit" />
- </Window>
-
- <Window Type="Vanilla/Editbox" Name="Vanilla/Console/Editbox">
- <Property Name="ID" Value="2" />
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
- <Property Name="UnifiedSize" Value="{{0.75,-21},{0,30}}" />
- <Property Name="Text" Value="" />
- </Window>
-
- <Window Type="Vanilla/MultiLineEditbox" Name="Vanilla/Console/History">
- <Property Name="ID" Value="3" />
- <Property Name="ReadOnly" Value="True" />
- <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,35}}" />
- <Property Name="UnifiedSize" Value="{{1,-14},{1,-75}}" />
- <Property Name="Text">
-CEGUI Demo Console - F12 toggles this window
-
-It's now easy to add multiline text property.
-Line 1
-<![CDATA[
-You can now put <xml>stuff</xml> in your property easly " " "
-]]>
-Line 2
-Line 3
-</Property>
-
- </Window>
- </Window>
-</GUILayout>
+<?xml version="1.0" ?>
+<GUILayout>
+ <Window Type="Vanilla/FrameWindow" Name="Vanilla/Console">
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0.5,0},{0.5,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.5,0},{0.45,0}}" />
+ <Property Name="Text" Value="Console" />
+ <Property Name="CloseButtonEnabled" Value="False" />
+
+ <Window Type="Vanilla/Button" Name="Vanilla/Console/Submit">
+ <Property Name="ID" Value="1" />
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="HorizontalAlignment" Value="Right" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,-7},{0,-7}}" />
+ <Property Name="UnifiedSize" Value="{{0.25,0},{0,30}}" />
+ <Property Name="Text" Value="Submit" />
+ </Window>
+
+ <Window Type="Vanilla/Editbox" Name="Vanilla/Console/Editbox">
+ <Property Name="ID" Value="2" />
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
+ <Property Name="UnifiedSize" Value="{{0.75,-21},{0,30}}" />
+ <Property Name="Text" Value="" />
+ </Window>
+
+ <Window Type="Vanilla/MultiLineEditbox" Name="Vanilla/Console/History">
+ <Property Name="ID" Value="3" />
+ <Property Name="ReadOnly" Value="True" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,35}}" />
+ <Property Name="UnifiedSize" Value="{{1,-14},{1,-75}}" />
+ <Property Name="Text">
+CEGUI Demo Console - F12 toggles this window
+
+It's now easy to add multiline text property.
+Line 1
+<![CDATA[
+You can now put <xml>stuff</xml> in your property easly " " "
+]]>
+Line 2
+Line 3
+</Property>
+
+ </Window>
+ </Window>
+</GUILayout>
Property changes on: code/trunk/data/gui/layouts/VanillaConsole.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/layouts/VanillaWindows.layout
===================================================================
--- code/trunk/data/gui/layouts/VanillaWindows.layout 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/layouts/VanillaWindows.layout 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,85 +1,85 @@
-<?xml version="1.0" ?>
-<GUILayout>
- <Window Type="Vanilla/StaticImage" Name="root">
- <Property Name="UnifiedPosition" Value="{{0,0},{0,0}}" />
- <Property Name="UnifiedSize" Value="{{1,0},{1,0}}" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="BackgroundEnabled" Value="False" />
- <Property Name="Image" Value="set:Backdrop-Images image:Magic" />
-
- <Window Type="Vanilla/FrameWindow" Name="Demo/NewNode">
- <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
- <Property Name="UnifiedPosition" Value="{{0.6,0},{0.1,0}}" />
- <Property Name="UnifiedSize" Value="{{0.3,0},{0.5,0}}" />
- <Property Name="Text" Value="New Node" />
- <Property Name="CloseButtonEnabled" Value="False" />
-
- <Window Type="Vanilla/Listbox" Name="Demo7/Window2/Listbox">
- <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,35}}" />
- <Property Name="UnifiedSize" Value="{{1,-14},{1,-108}}" />
- </Window>
-
- <Window Type="Vanilla/StaticText" Name="Demo/NewNode/label1">
- <Property Name="BackgroundEnabled" Value="False" />
- <Property Name="FrameEnabled" Value="False" />
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,-45}}" />
- <Property Name="UnifiedSize" Value="{{0,60},{0,30}}" />
- <Property Name="Text" Value="Name:" />
- </Window>
-
- <Window Type="Vanilla/Editbox" Name="Demo/NewNode/Editbox">
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="HorizontalAlignment" Value="Right" />
- <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,-7},{0,-40}}" />
- <Property Name="UnifiedSize" Value="{{1,-74},{0,30}}" />
- <Property Name="Text" Value="" />
- </Window>
-
- <Window Type="Vanilla/Button" Name="Demo/NewNode/Okay">
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
- <Property Name="UnifiedSize" Value="{{0,60},{0,30}}" />
- <Property Name="Text" Value="Okay" />
- </Window>
-
- <Window Type="Vanilla/Button" Name="Demo/NewNode/Cancel">
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="HorizontalAlignment" Value="Right" />
- <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,-7},{0,-7}}" />
- <Property Name="UnifiedSize" Value="{{0,60},{0,30}}" />
- <Property Name="Text" Value="Cancel" />
- </Window>
-
- </Window>
-
- <Window Type="Vanilla/FrameWindow" Name="Demo/NamespaceViewer">
- <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
- <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
- <Property Name="WindowPosition" Value="{{0.25,0},{0.48,0}}" />
- <Property Name="UnifiedSize" Value="{{0.5,0},{0.5,0}}" />
- <Property Name="Text" Value="Namespace Viewer" />
- <Property Name="CloseButtonEnabled" Value="False" />
-
- <Window Type="Vanilla/StaticText" Name="Demo/NamespaceViewer/area1">
- <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,35}}" />
- <Property Name="UnifiedSize" Value="{{1,-14},{0,65}}" />
- </Window>
-
- <Window Type="Vanilla/Listbox" Name="Demo/NamespaceViewer/area2">
- <Property Name="VerticalAlignment" Value="Bottom" />
- <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
- <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
- <Property Name="UnifiedSize" Value="{{1,-14},{1,-110}}" />
- </Window>
- </Window>
-
- </Window>
+<?xml version="1.0" ?>
+<GUILayout>
+ <Window Type="Vanilla/StaticImage" Name="root">
+ <Property Name="UnifiedPosition" Value="{{0,0},{0,0}}" />
+ <Property Name="UnifiedSize" Value="{{1,0},{1,0}}" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="BackgroundEnabled" Value="False" />
+ <Property Name="Image" Value="set:Backdrop-Images image:Magic" />
+
+ <Window Type="Vanilla/FrameWindow" Name="Demo/NewNode">
+ <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0.6,0},{0.1,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.3,0},{0.5,0}}" />
+ <Property Name="Text" Value="New Node" />
+ <Property Name="CloseButtonEnabled" Value="False" />
+
+ <Window Type="Vanilla/Listbox" Name="Demo7/Window2/Listbox">
+ <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,35}}" />
+ <Property Name="UnifiedSize" Value="{{1,-14},{1,-108}}" />
+ </Window>
+
+ <Window Type="Vanilla/StaticText" Name="Demo/NewNode/label1">
+ <Property Name="BackgroundEnabled" Value="False" />
+ <Property Name="FrameEnabled" Value="False" />
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,-45}}" />
+ <Property Name="UnifiedSize" Value="{{0,60},{0,30}}" />
+ <Property Name="Text" Value="Name:" />
+ </Window>
+
+ <Window Type="Vanilla/Editbox" Name="Demo/NewNode/Editbox">
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="HorizontalAlignment" Value="Right" />
+ <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,-7},{0,-40}}" />
+ <Property Name="UnifiedSize" Value="{{1,-74},{0,30}}" />
+ <Property Name="Text" Value="" />
+ </Window>
+
+ <Window Type="Vanilla/Button" Name="Demo/NewNode/Okay">
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
+ <Property Name="UnifiedSize" Value="{{0,60},{0,30}}" />
+ <Property Name="Text" Value="Okay" />
+ </Window>
+
+ <Window Type="Vanilla/Button" Name="Demo/NewNode/Cancel">
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="HorizontalAlignment" Value="Right" />
+ <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,-7},{0,-7}}" />
+ <Property Name="UnifiedSize" Value="{{0,60},{0,30}}" />
+ <Property Name="Text" Value="Cancel" />
+ </Window>
+
+ </Window>
+
+ <Window Type="Vanilla/FrameWindow" Name="Demo/NamespaceViewer">
+ <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />
+ <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />
+ <Property Name="WindowPosition" Value="{{0.25,0},{0.48,0}}" />
+ <Property Name="UnifiedSize" Value="{{0.5,0},{0.5,0}}" />
+ <Property Name="Text" Value="Namespace Viewer" />
+ <Property Name="CloseButtonEnabled" Value="False" />
+
+ <Window Type="Vanilla/StaticText" Name="Demo/NamespaceViewer/area1">
+ <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,35}}" />
+ <Property Name="UnifiedSize" Value="{{1,-14},{0,65}}" />
+ </Window>
+
+ <Window Type="Vanilla/Listbox" Name="Demo/NamespaceViewer/area2">
+ <Property Name="VerticalAlignment" Value="Bottom" />
+ <Property Name="UnifiedMaxSize" Value="{{1.0,0},{1.0,0}}" />
+ <Property Name="UnifiedPosition" Value="{{0,7},{0,-7}}" />
+ <Property Name="UnifiedSize" Value="{{1,-14},{1,-110}}" />
+ </Window>
+ </Window>
+
+ </Window>
</GUILayout>
\ No newline at end of file
Property changes on: code/trunk/data/gui/layouts/VanillaWindows.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/cegui8.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/facial.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/ogregui.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/layouts/shadows.layout
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/Demo8.scheme
===================================================================
--- code/trunk/data/gui/schemes/Demo8.scheme 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/Demo8.scheme 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,62 +1,62 @@
-<?xml version="1.0" ?>
-<GUIScheme Name="TaharezLook">
- <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" />
- <Font Name="Commonwealth-10" Filename="Commonwealth-10.font" />
- <LookNFeel Filename="TaharezLook.looknfeel" />
- <WindowRendererSet Filename="CEGUIFalagardWRBase" />
-
- <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
- <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
- <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
- <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
-
- <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
- <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
- <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
-
- <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
- <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
-
- <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
- <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
- <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
-
- <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
- <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
- <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
-
- <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
-
- <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
- <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
-
- <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
-
- <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="CEGUI/TabButton" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" />
- <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
- <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
- <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
-
- <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
- <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
- <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
-
- <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
- <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
- <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
- <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
-
- <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
- <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/SliderThumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
-
- <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
-
- <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
-
- <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
-
- <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
- <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
-</GUIScheme>
+<?xml version="1.0" ?>
+<GUIScheme Name="TaharezLook">
+ <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" />
+ <Font Name="Commonwealth-10" Filename="Commonwealth-10.font" />
+ <LookNFeel Filename="TaharezLook.looknfeel" />
+ <WindowRendererSet Filename="CEGUIFalagardWRBase" />
+
+ <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
+ <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
+ <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
+
+ <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
+ <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
+ <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
+
+ <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
+ <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
+
+ <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
+ <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
+ <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
+
+ <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
+
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
+
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
+
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
+
+ <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="CEGUI/TabButton" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" />
+ <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
+ <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
+ <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
+
+ <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
+ <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
+
+ <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
+ <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
+ <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
+ <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
+
+ <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
+ <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/SliderThumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
+
+ <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
+
+ <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
+
+ <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
+
+ <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
+ <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
+</GUIScheme>
Property changes on: code/trunk/data/gui/schemes/Demo8.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/GUIScheme.xsd
===================================================================
--- code/trunk/data/gui/schemes/GUIScheme.xsd 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/GUIScheme.xsd 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,54 +1,54 @@
-<?xml version="1.0" ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <xsd:element name="GUIScheme" type="SchemeType" />
- <xsd:complexType name="SchemeType">
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="Imageset" type="NamedDataType" />
- <xsd:element name="ImagesetFromImage" type="NamedDataType" />
- <xsd:element name="Font" type="NamedDataType" />
- <xsd:element name="LookNFeel" type="FileDataType" />
- <xsd:element name="WindowSet" type="WindowSetType" />
- <xsd:element name="WindowRendererSet" type="WindowRendererSetType" />
- <xsd:element name="WindowAlias" type="WindowAliasType" />
- <xsd:element name="FalagardMapping" type="FalagardMapType" />
- </xsd:choice>
- <xsd:attribute name="Name" type="xsd:string" use="required" />
- </xsd:complexType>
- <xsd:complexType name="WindowSetType">
- <xsd:sequence>
- <xsd:element name="WindowFactory" type="WindowFactoryType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="Filename" type="xsd:string" use="required" />
- </xsd:complexType>
- <xsd:complexType name="WindowRendererSetType">
- <xsd:sequence>
- <xsd:element name="WindowRendererFactory" type="WindowRendererFactoryType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="Filename" type="xsd:string" use="required" />
- </xsd:complexType>
- <xsd:complexType name="FileDataType">
- <xsd:attribute name="Filename" type="xsd:string" use="required" />
- <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
- </xsd:complexType>
- <xsd:complexType name="NamedDataType">
- <xsd:attribute name="Name" type="xsd:string" use="required" />
- <xsd:attribute name="Filename" type="xsd:string" use="required" />
- <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
- </xsd:complexType>
- <xsd:complexType name="WindowFactoryType">
- <xsd:attribute name="Name" type="xsd:string" use="required" />
- </xsd:complexType>
- <xsd:complexType name="WindowRendererFactoryType">
- <xsd:attribute name="Name" type="xsd:string" use="required" />
- </xsd:complexType>
- <xsd:complexType name="WindowAliasType">
- <xsd:attribute name="Alias" type="xsd:string" use="required" />
- <xsd:attribute name="Target" type="xsd:string" use="required" />
- </xsd:complexType>
- <xsd:complexType name="FalagardMapType">
- <xsd:attribute name="WindowType" type="xsd:string" use="required" />
- <xsd:attribute name="TargetType" type="xsd:string" use="required" />
- <xsd:attribute name="Renderer" type="xsd:string" use="required" />
- <xsd:attribute name="LookNFeel" type="xsd:string" use="required" />
- </xsd:complexType>
+<?xml version="1.0" ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xsd:element name="GUIScheme" type="SchemeType" />
+ <xsd:complexType name="SchemeType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Imageset" type="NamedDataType" />
+ <xsd:element name="ImagesetFromImage" type="NamedDataType" />
+ <xsd:element name="Font" type="NamedDataType" />
+ <xsd:element name="LookNFeel" type="FileDataType" />
+ <xsd:element name="WindowSet" type="WindowSetType" />
+ <xsd:element name="WindowRendererSet" type="WindowRendererSetType" />
+ <xsd:element name="WindowAlias" type="WindowAliasType" />
+ <xsd:element name="FalagardMapping" type="FalagardMapType" />
+ </xsd:choice>
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowSetType">
+ <xsd:sequence>
+ <xsd:element name="WindowFactory" type="WindowFactoryType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowRendererSetType">
+ <xsd:sequence>
+ <xsd:element name="WindowRendererFactory" type="WindowRendererFactoryType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="FileDataType">
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="NamedDataType">
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowFactoryType">
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowRendererFactoryType">
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowAliasType">
+ <xsd:attribute name="Alias" type="xsd:string" use="required" />
+ <xsd:attribute name="Target" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="FalagardMapType">
+ <xsd:attribute name="WindowType" type="xsd:string" use="required" />
+ <xsd:attribute name="TargetType" type="xsd:string" use="required" />
+ <xsd:attribute name="Renderer" type="xsd:string" use="required" />
+ <xsd:attribute name="LookNFeel" type="xsd:string" use="required" />
+ </xsd:complexType>
</xsd:schema>
\ No newline at end of file
Property changes on: code/trunk/data/gui/schemes/GUIScheme.xsd
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/schemes/OrxonoxGUIScheme.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/TaharezLook.scheme
===================================================================
--- code/trunk/data/gui/schemes/TaharezLook.scheme 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/TaharezLook.scheme 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,50 +1,50 @@
-<?xml version="1.0" ?>
-<GUIScheme Name="TaharezLook">
- <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" />
- <Font Name="Commonwealth-10" Filename="Commonwealth-10.font" />
- <LookNFeel Filename="TaharezLook.looknfeel" />
- <WindowRendererSet Filename="CEGUIFalagardWRBase" />
- <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
- <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
- <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
- <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
- <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
- <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
- <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
- <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
- <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
- <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
- <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
- <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
- <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
- <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
- <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
- <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
- <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
- <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
- <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
- <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
- <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
- <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" />
- <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
- <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
- <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
- <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
- <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
- <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
- <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
- <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
- <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
- <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
- <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
- <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
- <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
- <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
- <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" />
- <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" />
- <FalagardMapping WindowType="TaharezLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="TaharezLook/GroupBox" />
- <FalagardMapping WindowType="TaharezLook/Tree" TargetType="CEGUI/Tree" Renderer="Falagard/Tree" LookNFeel="TaharezLook/Tree" />
-</GUIScheme>
+<?xml version="1.0" ?>
+<GUIScheme Name="TaharezLook">
+ <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" />
+ <Font Name="Commonwealth-10" Filename="Commonwealth-10.font" />
+ <LookNFeel Filename="TaharezLook.looknfeel" />
+ <WindowRendererSet Filename="CEGUIFalagardWRBase" />
+ <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
+ <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
+ <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
+ <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
+ <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
+ <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
+ <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
+ <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
+ <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
+ <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
+ <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
+ <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
+ <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" />
+ <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
+ <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
+ <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
+ <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
+ <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
+ <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
+ <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
+ <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
+ <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
+ <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
+ <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
+ <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
+ <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
+ <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" />
+ <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" />
+ <FalagardMapping WindowType="TaharezLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="TaharezLook/GroupBox" />
+ <FalagardMapping WindowType="TaharezLook/Tree" TargetType="CEGUI/Tree" Renderer="Falagard/Tree" LookNFeel="TaharezLook/Tree" />
+</GUIScheme>
Property changes on: code/trunk/data/gui/schemes/TaharezLook.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/gui/schemes/TaharezLookSkin.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/TaharezLookWidgetAliases.scheme
===================================================================
--- code/trunk/data/gui/schemes/TaharezLookWidgetAliases.scheme 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/TaharezLookWidgetAliases.scheme 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,36 +1,36 @@
-<?xml version="1.0" ?>
-<GUIScheme Name="TaharezLookWidgetAliases">
- <WindowAlias Alias="Taharez AltProgressBar" Target="TaharezLook/AlternateProgressBar" />
- <WindowAlias Alias="Taharez Button" Target="TaharezLook/Button" />
- <WindowAlias Alias="Taharez Checkbox" Target="TaharezLook/Checkbox" />
- <WindowAlias Alias="Taharez System Button" Target="TaharezLook/SystemButton" />
- <WindowAlias Alias="Taharez Combobox" Target="TaharezLook/Combobox" />
- <WindowAlias Alias="Taharez ComboDropList" Target="TaharezLook/ComboDropList" />
- <WindowAlias Alias="Taharez ComboEditbox" Target="TaharezLook/ComboEditbox" />
- <WindowAlias Alias="Taharez Editbox" Target="TaharezLook/Editbox" />
- <WindowAlias Alias="Taharez Frame Window" Target="TaharezLook/FrameWindow" />
- <WindowAlias Alias="Taharez Listbox" Target="TaharezLook/Listbox" />
- <WindowAlias Alias="Taharez ListHeader" Target="TaharezLook/ListHeader" />
- <WindowAlias Alias="Taharez ListHeaderSegment" Target="TaharezLook/ListHeaderSegment" />
- <WindowAlias Alias="Taharez MiniHorzScrollbar" Target="TaharezLook/HorizontalScrollbar" />
- <WindowAlias Alias="Taharez MiniHorzScrollbarThumb" Target="TaharezLook/HorizontalScrollbarThumb" />
- <WindowAlias Alias="Taharez MiniVertScrollbar" Target="TaharezLook/VerticalScrollbar" />
- <WindowAlias Alias="Taharez MiniVertScrollbarThumb" Target="TaharezLook/VerticalScrollbarThumb" />
- <WindowAlias Alias="Taharez MultiColumnList" Target="TaharezLook/MultiColumnList" />
- <WindowAlias Alias="Taharez MultiLineEditbox" Target="TaharezLook/MultiLineEditbox" />
- <WindowAlias Alias="Taharez ProgressBar" Target="TaharezLook/ProgressBar" />
- <WindowAlias Alias="Taharez RadioButton" Target="TaharezLook/RadioButton" />
- <WindowAlias Alias="Taharez Slider" Target="TaharezLook/Slider" />
- <WindowAlias Alias="Taharez Slider Thumb" Target="TaharezLook/SliderThumb" />
- <WindowAlias Alias="Taharez StaticImage" Target="TaharezLook/StaticImage" />
- <WindowAlias Alias="Taharez StaticText" Target="TaharezLook/StaticText" />
- <WindowAlias Alias="Taharez Tab Button" Target="TaharezLook/TabButton" />
- <WindowAlias Alias="Taharez Tab Pane" Target="TaharezLook/TabPane" />
- <WindowAlias Alias="Taharez Tab Control" Target="TaharezLook/TabControl" />
- <WindowAlias Alias="Taharez Titlebar" Target="TaharezLook/Titlebar" />
- <WindowAlias Alias="Taharez VertScrollbar" Target="TaharezLook/LargeVerticalScrollbar" />
- <WindowAlias Alias="Taharez VertScrollbarThumb" Target="TaharezLook/LargeVerticalScrollbarThumb" />
- <WindowAlias Alias="Taharez GroupBox" Target="TaharezLook/GroupBox" />
-</GUIScheme>
-
-
+<?xml version="1.0" ?>
+<GUIScheme Name="TaharezLookWidgetAliases">
+ <WindowAlias Alias="Taharez AltProgressBar" Target="TaharezLook/AlternateProgressBar" />
+ <WindowAlias Alias="Taharez Button" Target="TaharezLook/Button" />
+ <WindowAlias Alias="Taharez Checkbox" Target="TaharezLook/Checkbox" />
+ <WindowAlias Alias="Taharez System Button" Target="TaharezLook/SystemButton" />
+ <WindowAlias Alias="Taharez Combobox" Target="TaharezLook/Combobox" />
+ <WindowAlias Alias="Taharez ComboDropList" Target="TaharezLook/ComboDropList" />
+ <WindowAlias Alias="Taharez ComboEditbox" Target="TaharezLook/ComboEditbox" />
+ <WindowAlias Alias="Taharez Editbox" Target="TaharezLook/Editbox" />
+ <WindowAlias Alias="Taharez Frame Window" Target="TaharezLook/FrameWindow" />
+ <WindowAlias Alias="Taharez Listbox" Target="TaharezLook/Listbox" />
+ <WindowAlias Alias="Taharez ListHeader" Target="TaharezLook/ListHeader" />
+ <WindowAlias Alias="Taharez ListHeaderSegment" Target="TaharezLook/ListHeaderSegment" />
+ <WindowAlias Alias="Taharez MiniHorzScrollbar" Target="TaharezLook/HorizontalScrollbar" />
+ <WindowAlias Alias="Taharez MiniHorzScrollbarThumb" Target="TaharezLook/HorizontalScrollbarThumb" />
+ <WindowAlias Alias="Taharez MiniVertScrollbar" Target="TaharezLook/VerticalScrollbar" />
+ <WindowAlias Alias="Taharez MiniVertScrollbarThumb" Target="TaharezLook/VerticalScrollbarThumb" />
+ <WindowAlias Alias="Taharez MultiColumnList" Target="TaharezLook/MultiColumnList" />
+ <WindowAlias Alias="Taharez MultiLineEditbox" Target="TaharezLook/MultiLineEditbox" />
+ <WindowAlias Alias="Taharez ProgressBar" Target="TaharezLook/ProgressBar" />
+ <WindowAlias Alias="Taharez RadioButton" Target="TaharezLook/RadioButton" />
+ <WindowAlias Alias="Taharez Slider" Target="TaharezLook/Slider" />
+ <WindowAlias Alias="Taharez Slider Thumb" Target="TaharezLook/SliderThumb" />
+ <WindowAlias Alias="Taharez StaticImage" Target="TaharezLook/StaticImage" />
+ <WindowAlias Alias="Taharez StaticText" Target="TaharezLook/StaticText" />
+ <WindowAlias Alias="Taharez Tab Button" Target="TaharezLook/TabButton" />
+ <WindowAlias Alias="Taharez Tab Pane" Target="TaharezLook/TabPane" />
+ <WindowAlias Alias="Taharez Tab Control" Target="TaharezLook/TabControl" />
+ <WindowAlias Alias="Taharez Titlebar" Target="TaharezLook/Titlebar" />
+ <WindowAlias Alias="Taharez VertScrollbar" Target="TaharezLook/LargeVerticalScrollbar" />
+ <WindowAlias Alias="Taharez VertScrollbarThumb" Target="TaharezLook/LargeVerticalScrollbarThumb" />
+ <WindowAlias Alias="Taharez GroupBox" Target="TaharezLook/GroupBox" />
+</GUIScheme>
+
+
Property changes on: code/trunk/data/gui/schemes/TaharezLookWidgetAliases.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/TaharezLookWidgets.scheme
===================================================================
--- code/trunk/data/gui/schemes/TaharezLookWidgets.scheme 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/TaharezLookWidgets.scheme 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,45 +1,45 @@
-<?xml version="1.0" ?>
-<GUIScheme Name="TaharezLookWidgets">
- <WindowRendererSet Filename="CEGUIFalagardWRBase" />
- <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
- <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
- <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
- <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
- <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
- <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
- <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
- <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
- <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
- <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
- <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
- <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
- <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
- <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
- <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
- <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
- <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
- <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
- <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
- <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
- <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
- <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
- <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
- <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
- <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
- <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
- <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
- <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
- <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
- <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
- <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
- <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
- <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
- <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
- <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
- <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
- <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" />
- <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" />
- <FalagardMapping WindowType="TaharezLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="TaharezLook/GroupBox" />
-</GUIScheme>
+<?xml version="1.0" ?>
+<GUIScheme Name="TaharezLookWidgets">
+ <WindowRendererSet Filename="CEGUIFalagardWRBase" />
+ <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
+ <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
+ <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
+ <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
+ <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
+ <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
+ <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
+ <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
+ <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
+ <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
+ <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
+ <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
+ <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
+ <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
+ <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
+ <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
+ <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
+ <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
+ <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
+ <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
+ <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
+ <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
+ <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
+ <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
+ <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
+ <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" />
+ <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" />
+ <FalagardMapping WindowType="TaharezLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="TaharezLook/GroupBox" />
+</GUIScheme>
Property changes on: code/trunk/data/gui/schemes/TaharezLookWidgets.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/VanillaSkin.scheme
===================================================================
--- code/trunk/data/gui/schemes/VanillaSkin.scheme 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/VanillaSkin.scheme 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,28 +1,28 @@
-<?xml version="1.0" ?>
-<GUIScheme Name="VanillaSkin">
- <Imageset Name="Vanilla-Images" Filename="Vanilla.imageset" />
- <LookNFeel Filename="Vanilla.looknfeel" />
- <WindowRendererSet Filename="CEGUIFalagardWRBase" />
- <FalagardMapping WindowType="Vanilla/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="Vanilla/Titlebar" />
- <FalagardMapping WindowType="Vanilla/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="Vanilla/Button" />
- <FalagardMapping WindowType="Vanilla/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="Vanilla/FrameWindow" />
- <FalagardMapping WindowType="Vanilla/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="Vanilla/Editbox" />
- <FalagardMapping WindowType="Vanilla/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="Vanilla/VerticalScrollbarThumb" />
- <FalagardMapping WindowType="Vanilla/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="Vanilla/VerticalScrollbar" />
- <FalagardMapping WindowType="Vanilla/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="Vanilla/HorizontalScrollbarThumb" />
- <FalagardMapping WindowType="Vanilla/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="Vanilla/HorizontalScrollbar" />
- <FalagardMapping WindowType="Vanilla/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="Vanilla/StaticImage" />
- <FalagardMapping WindowType="Vanilla/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="Vanilla/StaticText" />
- <FalagardMapping WindowType="Vanilla/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="Vanilla/Listbox" />
- <FalagardMapping WindowType="Vanilla/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="Vanilla/MultiLineEditbox" />
-<!--
- <FalagardMapping WindowType="Vanilla/ComboDropList" TargetType="Falagard/ComboDropList" LookNFeel="Vanilla/ComboDropList" />
- <FalagardMapping WindowType="Vanilla/ComboboxButton" TargetType="Falagard/Button" LookNFeel="Vanilla/ComboboxButton" />
- <FalagardMapping WindowType="Vanilla/Combobox" TargetType="Falagard/Combobox" LookNFeel="Vanilla/Combobox" />
- <FalagardMapping WindowType="Vanilla/ProgressBar" TargetType="Falagard/ProgressBar" LookNFeel="Vanilla/ProgressBar" />
- <FalagardMapping WindowType="Vanilla/ScrollablePane" TargetType="Falagard/ScrollablePane" LookNFeel="Vanilla/ScrollablePane" />
- <FalagardMapping WindowType="Vanilla/Checkbox" TargetType="Falagard/Checkbox" LookNFeel="Vanilla/Checkbox" />
- <FalagardMapping WindowType="Vanilla/RadioButton" TargetType="Falagard/RadioButton" LookNFeel="Vanilla/RadioButton" />
- <FalagardMapping WindowType="Vanilla/ScrollablePane" TargetType="Falagard/ScrollablePane" LookNFeel="Vanilla/ScrollablePane" />
--->
-</GUIScheme>
+<?xml version="1.0" ?>
+<GUIScheme Name="VanillaSkin">
+ <Imageset Name="Vanilla-Images" Filename="Vanilla.imageset" />
+ <LookNFeel Filename="Vanilla.looknfeel" />
+ <WindowRendererSet Filename="CEGUIFalagardWRBase" />
+ <FalagardMapping WindowType="Vanilla/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="Vanilla/Titlebar" />
+ <FalagardMapping WindowType="Vanilla/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="Vanilla/Button" />
+ <FalagardMapping WindowType="Vanilla/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="Vanilla/FrameWindow" />
+ <FalagardMapping WindowType="Vanilla/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="Vanilla/Editbox" />
+ <FalagardMapping WindowType="Vanilla/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="Vanilla/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="Vanilla/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="Vanilla/VerticalScrollbar" />
+ <FalagardMapping WindowType="Vanilla/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="Vanilla/HorizontalScrollbarThumb" />
+ <FalagardMapping WindowType="Vanilla/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="Vanilla/HorizontalScrollbar" />
+ <FalagardMapping WindowType="Vanilla/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="Vanilla/StaticImage" />
+ <FalagardMapping WindowType="Vanilla/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="Vanilla/StaticText" />
+ <FalagardMapping WindowType="Vanilla/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="Vanilla/Listbox" />
+ <FalagardMapping WindowType="Vanilla/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="Vanilla/MultiLineEditbox" />
+<!--
+ <FalagardMapping WindowType="Vanilla/ComboDropList" TargetType="Falagard/ComboDropList" LookNFeel="Vanilla/ComboDropList" />
+ <FalagardMapping WindowType="Vanilla/ComboboxButton" TargetType="Falagard/Button" LookNFeel="Vanilla/ComboboxButton" />
+ <FalagardMapping WindowType="Vanilla/Combobox" TargetType="Falagard/Combobox" LookNFeel="Vanilla/Combobox" />
+ <FalagardMapping WindowType="Vanilla/ProgressBar" TargetType="Falagard/ProgressBar" LookNFeel="Vanilla/ProgressBar" />
+ <FalagardMapping WindowType="Vanilla/ScrollablePane" TargetType="Falagard/ScrollablePane" LookNFeel="Vanilla/ScrollablePane" />
+ <FalagardMapping WindowType="Vanilla/Checkbox" TargetType="Falagard/Checkbox" LookNFeel="Vanilla/Checkbox" />
+ <FalagardMapping WindowType="Vanilla/RadioButton" TargetType="Falagard/RadioButton" LookNFeel="Vanilla/RadioButton" />
+ <FalagardMapping WindowType="Vanilla/ScrollablePane" TargetType="Falagard/ScrollablePane" LookNFeel="Vanilla/ScrollablePane" />
+-->
+</GUIScheme>
Property changes on: code/trunk/data/gui/schemes/VanillaSkin.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/WindowsLook.scheme
===================================================================
--- code/trunk/data/gui/schemes/WindowsLook.scheme 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/WindowsLook.scheme 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,44 +1,44 @@
-<?xml version="1.0" ?>
-<GUIScheme Name="WindowsLookSkin">
- <Imageset Name="WindowsLook" Filename="WindowsLook.imageset" />
- <LookNFeel Filename="WindowsLook.looknfeel" />
- <WindowSet Filename="CEGUIFalagardWRBase" />
- <FalagardMapping WindowType="WindowsLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/Button" />
- <FalagardMapping WindowType="WindowsLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/Checkbox" />
- <FalagardMapping WindowType="WindowsLook/IconButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/IconButton" />
- <FalagardMapping WindowType="WindowsLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/RadioButton" />
- <FalagardMapping WindowType="WindowsLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="WindowsLook/FrameWindow" />
- <FalagardMapping WindowType="WindowsLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="WindowsLook/Titlebar" />
- <FalagardMapping WindowType="WindowsLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="WindowsLook/SystemButton" />
- <FalagardMapping WindowType="WindowsLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="WindowsLook/Editbox" />
- <FalagardMapping WindowType="WindowsLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="WindowsLook/MultiLineEditbox" />
- <FalagardMapping WindowType="WindowsLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="WindowsLook/Menubar" />
- <FalagardMapping WindowType="WindowsLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="WindowsLook/PopupMenu" />
- <FalagardMapping WindowType="WindowsLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="WindowsLook/MenuItem" />
- <FalagardMapping WindowType="WindowsLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="WindowsLook/ProgressBar" />
- <FalagardMapping WindowType="WindowsLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/VerticalScrollbar" />
- <FalagardMapping WindowType="WindowsLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/HorizontalScrollbar" />
- <FalagardMapping WindowType="WindowsLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/VerticalScrollbarThumb" />
- <FalagardMapping WindowType="WindowsLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/HorizontalScrollbarThumb" />
- <FalagardMapping WindowType="WindowsLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="WindowsLook/TabButton" />
- <FalagardMapping WindowType="WindowsLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="WindowsLook/TabControl" />
- <FalagardMapping WindowType="WindowsLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabContentPane" />
- <FalagardMapping WindowType="WindowsLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabButtonPane" />
- <FalagardMapping WindowType="WindowsLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/ComboDropList" />
- <FalagardMapping WindowType="WindowsLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="WindowsLook/Combobox" />
- <FalagardMapping WindowType="WindowsLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/Listbox" />
- <FalagardMapping WindowType="WindowsLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="WindowsLook/ListHeader" />
- <FalagardMapping WindowType="WindowsLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="WindowsLook/ListHeaderSegment" />
- <FalagardMapping WindowType="WindowsLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="WindowsLook/MultiColumnList" />
- <FalagardMapping WindowType="WindowsLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="WindowsLook/Slider" />
- <FalagardMapping WindowType="WindowsLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/SliderThumb" />
- <FalagardMapping WindowType="WindowsLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="WindowsLook/ScrollablePane" />
- <FalagardMapping WindowType="WindowsLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="WindowsLook/Spinner" />
- <FalagardMapping WindowType="WindowsLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="WindowsLook/Tooltip" />
- <FalagardMapping WindowType="WindowsLook/Static" TargetType="DefaultWindow" Renderer="Falagard/Static" LookNFeel="WindowsLook/Static" />
- <FalagardMapping WindowType="WindowsLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="WindowsLook/StaticImage" />
- <FalagardMapping WindowType="WindowsLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="WindowsLook/StaticText" />
- <FalagardMapping WindowType="WindowsLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="WindowsLook/ItemListbox" />
- <FalagardMapping WindowType="WindowsLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="WindowsLook/ListboxItem" />
- <FalagardMapping WindowType="WindowsLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="WindowsLook/GroupBox" />
-</GUIScheme>
+<?xml version="1.0" ?>
+<GUIScheme Name="WindowsLookSkin">
+ <Imageset Name="WindowsLook" Filename="WindowsLook.imageset" />
+ <LookNFeel Filename="WindowsLook.looknfeel" />
+ <WindowSet Filename="CEGUIFalagardWRBase" />
+ <FalagardMapping WindowType="WindowsLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/Button" />
+ <FalagardMapping WindowType="WindowsLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/Checkbox" />
+ <FalagardMapping WindowType="WindowsLook/IconButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/IconButton" />
+ <FalagardMapping WindowType="WindowsLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/RadioButton" />
+ <FalagardMapping WindowType="WindowsLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="WindowsLook/FrameWindow" />
+ <FalagardMapping WindowType="WindowsLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="WindowsLook/Titlebar" />
+ <FalagardMapping WindowType="WindowsLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="WindowsLook/SystemButton" />
+ <FalagardMapping WindowType="WindowsLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="WindowsLook/Editbox" />
+ <FalagardMapping WindowType="WindowsLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="WindowsLook/MultiLineEditbox" />
+ <FalagardMapping WindowType="WindowsLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="WindowsLook/Menubar" />
+ <FalagardMapping WindowType="WindowsLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="WindowsLook/PopupMenu" />
+ <FalagardMapping WindowType="WindowsLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="WindowsLook/MenuItem" />
+ <FalagardMapping WindowType="WindowsLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="WindowsLook/ProgressBar" />
+ <FalagardMapping WindowType="WindowsLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/VerticalScrollbar" />
+ <FalagardMapping WindowType="WindowsLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/HorizontalScrollbar" />
+ <FalagardMapping WindowType="WindowsLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="WindowsLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/HorizontalScrollbarThumb" />
+ <FalagardMapping WindowType="WindowsLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="WindowsLook/TabButton" />
+ <FalagardMapping WindowType="WindowsLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="WindowsLook/TabControl" />
+ <FalagardMapping WindowType="WindowsLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabContentPane" />
+ <FalagardMapping WindowType="WindowsLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabButtonPane" />
+ <FalagardMapping WindowType="WindowsLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/ComboDropList" />
+ <FalagardMapping WindowType="WindowsLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="WindowsLook/Combobox" />
+ <FalagardMapping WindowType="WindowsLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/Listbox" />
+ <FalagardMapping WindowType="WindowsLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="WindowsLook/ListHeader" />
+ <FalagardMapping WindowType="WindowsLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="WindowsLook/ListHeaderSegment" />
+ <FalagardMapping WindowType="WindowsLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="WindowsLook/MultiColumnList" />
+ <FalagardMapping WindowType="WindowsLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="WindowsLook/Slider" />
+ <FalagardMapping WindowType="WindowsLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/SliderThumb" />
+ <FalagardMapping WindowType="WindowsLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="WindowsLook/ScrollablePane" />
+ <FalagardMapping WindowType="WindowsLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="WindowsLook/Spinner" />
+ <FalagardMapping WindowType="WindowsLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="WindowsLook/Tooltip" />
+ <FalagardMapping WindowType="WindowsLook/Static" TargetType="DefaultWindow" Renderer="Falagard/Static" LookNFeel="WindowsLook/Static" />
+ <FalagardMapping WindowType="WindowsLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="WindowsLook/StaticImage" />
+ <FalagardMapping WindowType="WindowsLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="WindowsLook/StaticText" />
+ <FalagardMapping WindowType="WindowsLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="WindowsLook/ItemListbox" />
+ <FalagardMapping WindowType="WindowsLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="WindowsLook/ListboxItem" />
+ <FalagardMapping WindowType="WindowsLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="WindowsLook/GroupBox" />
+</GUIScheme>
Property changes on: code/trunk/data/gui/schemes/WindowsLook.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/gui/schemes/WindowsLookWidgets.scheme
===================================================================
--- code/trunk/data/gui/schemes/WindowsLookWidgets.scheme 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/gui/schemes/WindowsLookWidgets.scheme 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,41 +1,41 @@
-<?xml version="1.0" ?>
-<GUIScheme Name="WindowsLookWidgets">
- <WindowSet Filename="CEGUIFalagardWRBase" />
- <FalagardMapping WindowType="WindowsLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/Button" />
- <FalagardMapping WindowType="WindowsLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/Checkbox" />
- <FalagardMapping WindowType="WindowsLook/IconButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/IconButton" />
- <FalagardMapping WindowType="WindowsLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/RadioButton" />
- <FalagardMapping WindowType="WindowsLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="WindowsLook/FrameWindow" />
- <FalagardMapping WindowType="WindowsLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="WindowsLook/Titlebar" />
- <FalagardMapping WindowType="WindowsLook/CloseButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="WindowsLook/CloseButton" />
- <FalagardMapping WindowType="WindowsLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="WindowsLook/Editbox" />
- <FalagardMapping WindowType="WindowsLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="WindowsLook/MultiLineEditbox" />
- <FalagardMapping WindowType="WindowsLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="WindowsLook/Menubar" />
- <FalagardMapping WindowType="WindowsLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="WindowsLook/PopupMenu" />
- <FalagardMapping WindowType="WindowsLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="WindowsLook/MenuItem" />
- <FalagardMapping WindowType="WindowsLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="WindowsLook/ProgressBar" />
- <FalagardMapping WindowType="WindowsLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/VerticalScrollbar" />
- <FalagardMapping WindowType="WindowsLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/HorizontalScrollbar" />
- <FalagardMapping WindowType="WindowsLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/VerticalScrollbarThumb" />
- <FalagardMapping WindowType="WindowsLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/HorizontalScrollbarThumb" />
- <FalagardMapping WindowType="WindowsLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="WindowsLook/TabButton" />
- <FalagardMapping WindowType="WindowsLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="WindowsLook/TabControl" />
- <FalagardMapping WindowType="WindowsLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabContentPane" />
- <FalagardMapping WindowType="WindowsLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/ComboDropList" />
- <FalagardMapping WindowType="WindowsLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="WindowsLook/Combobox" />
- <FalagardMapping WindowType="WindowsLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/Listbox" />
- <FalagardMapping WindowType="WindowsLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="WindowsLook/ListHeader" />
- <FalagardMapping WindowType="WindowsLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="WindowsLook/ListHeaderSegment" />
- <FalagardMapping WindowType="WindowsLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="WindowsLook/MultiColumnList" />
- <FalagardMapping WindowType="WindowsLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="WindowsLook/Slider" />
- <FalagardMapping WindowType="WindowsLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/SliderThumb" />
- <FalagardMapping WindowType="WindowsLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="WindowsLook/ScrollablePane" />
- <FalagardMapping WindowType="WindowsLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="WindowsLook/Spinner" />
- <FalagardMapping WindowType="WindowsLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="WindowsLook/Tooltip" />
- <FalagardMapping WindowType="WindowsLook/Static" TargetType="DefaultWindow" Renderer="Falagard/Static" LookNFeel="WindowsLook/Static" />
- <FalagardMapping WindowType="WindowsLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="WindowsLook/StaticImage" />
- <FalagardMapping WindowType="WindowsLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="WindowsLook/StaticText" />
- <FalagardMapping WindowType="WindowsLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="WindowsLook/ItemListbox" />
- <FalagardMapping WindowType="WindowsLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="WindowsLook/ListboxItem" />
- <FalagardMapping WindowType="WindowsLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="WindowsLook/GroupBox" />
-</GUIScheme>
+<?xml version="1.0" ?>
+<GUIScheme Name="WindowsLookWidgets">
+ <WindowSet Filename="CEGUIFalagardWRBase" />
+ <FalagardMapping WindowType="WindowsLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/Button" />
+ <FalagardMapping WindowType="WindowsLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/Checkbox" />
+ <FalagardMapping WindowType="WindowsLook/IconButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="WindowsLook/IconButton" />
+ <FalagardMapping WindowType="WindowsLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="WindowsLook/RadioButton" />
+ <FalagardMapping WindowType="WindowsLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="WindowsLook/FrameWindow" />
+ <FalagardMapping WindowType="WindowsLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="WindowsLook/Titlebar" />
+ <FalagardMapping WindowType="WindowsLook/CloseButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="WindowsLook/CloseButton" />
+ <FalagardMapping WindowType="WindowsLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="WindowsLook/Editbox" />
+ <FalagardMapping WindowType="WindowsLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="WindowsLook/MultiLineEditbox" />
+ <FalagardMapping WindowType="WindowsLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="WindowsLook/Menubar" />
+ <FalagardMapping WindowType="WindowsLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="WindowsLook/PopupMenu" />
+ <FalagardMapping WindowType="WindowsLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="WindowsLook/MenuItem" />
+ <FalagardMapping WindowType="WindowsLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="WindowsLook/ProgressBar" />
+ <FalagardMapping WindowType="WindowsLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/VerticalScrollbar" />
+ <FalagardMapping WindowType="WindowsLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="WindowsLook/HorizontalScrollbar" />
+ <FalagardMapping WindowType="WindowsLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="WindowsLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/HorizontalScrollbarThumb" />
+ <FalagardMapping WindowType="WindowsLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="WindowsLook/TabButton" />
+ <FalagardMapping WindowType="WindowsLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="WindowsLook/TabControl" />
+ <FalagardMapping WindowType="WindowsLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="WindowsLook/TabContentPane" />
+ <FalagardMapping WindowType="WindowsLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/ComboDropList" />
+ <FalagardMapping WindowType="WindowsLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="WindowsLook/Combobox" />
+ <FalagardMapping WindowType="WindowsLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="WindowsLook/Listbox" />
+ <FalagardMapping WindowType="WindowsLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="WindowsLook/ListHeader" />
+ <FalagardMapping WindowType="WindowsLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="WindowsLook/ListHeaderSegment" />
+ <FalagardMapping WindowType="WindowsLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="WindowsLook/MultiColumnList" />
+ <FalagardMapping WindowType="WindowsLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="WindowsLook/Slider" />
+ <FalagardMapping WindowType="WindowsLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="WindowsLook/SliderThumb" />
+ <FalagardMapping WindowType="WindowsLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="WindowsLook/ScrollablePane" />
+ <FalagardMapping WindowType="WindowsLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="WindowsLook/Spinner" />
+ <FalagardMapping WindowType="WindowsLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="WindowsLook/Tooltip" />
+ <FalagardMapping WindowType="WindowsLook/Static" TargetType="DefaultWindow" Renderer="Falagard/Static" LookNFeel="WindowsLook/Static" />
+ <FalagardMapping WindowType="WindowsLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="WindowsLook/StaticImage" />
+ <FalagardMapping WindowType="WindowsLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="WindowsLook/StaticText" />
+ <FalagardMapping WindowType="WindowsLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="WindowsLook/ItemListbox" />
+ <FalagardMapping WindowType="WindowsLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="WindowsLook/ListboxItem" />
+ <FalagardMapping WindowType="WindowsLook/GroupBox" TargetType="CEGUI/GroupBox" Renderer="Falagard/Default" LookNFeel="WindowsLook/GroupBox" />
+</GUIScheme>
Property changes on: code/trunk/data/gui/schemes/WindowsLookWidgets.scheme
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/levels/includes/CuboidSpaceStation.lua
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/CuboidSpaceStation.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/physicstest.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/physicstest2.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/planettest.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/presentation_physics.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/princessaeryn.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/questsystem.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/sample4.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/spaceshiptemplates_physics.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Property changes on: code/trunk/data/levels/old/tutorial_hs08.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Modified: code/trunk/data/levels/presentation09b.oxw
===================================================================
--- code/trunk/data/levels/presentation09b.oxw 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/levels/presentation09b.oxw 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,22 +1,22 @@
-<?lua
- include("hudtemplates3.oxo")
- include("stats.oxo")
- include("templates/spaceship_assff.oxt")
- include("templates/spaceship_H2.oxt")
- include("templates/spaceship_pirate.oxt")
-?>
-
-<Level
- name = "Presentation09"
- description = "presentation level for Orxonox Convention X"
- gametype = TeamDeathmatch
->
- <Scene
- ambientlight = "0.5, 0.5, 0.5"
- skybox = "Orxonox/skypanoramagen2"
- >
- <Light type=directional position="0,0,0" direction="0.683, 0.289, 0.670" diffuse="1.0, 1.0, 1.0, 1.0" specular="1.0, 1.0, 1.0, 1.0" />
+<?lua
+ include("hudtemplates3.oxo")
+ include("stats.oxo")
+ include("templates/spaceship_assff.oxt")
+ include("templates/spaceship_H2.oxt")
+ include("templates/spaceship_pirate.oxt")
+?>
+<Level
+ name = "Presentation09"
+ description = "presentation level for Orxonox Convention X"
+ gametype = TeamDeathmatch
+>
+ <Scene
+ ambientlight = "0.5, 0.5, 0.5"
+ skybox = "Orxonox/skypanoramagen2"
+ >
+ <Light type=directional position="0,0,0" direction="0.683, 0.289, 0.670" diffuse="1.0, 1.0, 1.0, 1.0" specular="1.0, 1.0, 1.0, 1.0" />
+
<Template name="JumpItem" baseclass="Jump">
<Jump velocity="0,0,-1000" jumpsAvailable="4" guiImage="jumpturbinepickup.jpg" guiText="Jump" />
</Template>
@@ -26,65 +26,65 @@
<Template name="HealthUsableItem" baseclass="HealthUsable">
<HealthImmediate recoveredHealth="80" guiImage="goldwrenchpickup.jpg" guiText="Health" />
</Template>
-
- <SpawnPoint position="-3800, 2500, 1500" direction="-0.683, -0.289, -0.670" spawnclass=SpaceShip pawndesign=spaceshipassff2 />
-
- <SpaceShip position="-3900,3000,1000">
- <templates>
- <Template link=spaceshipHtwo/>
- </templates>
- <controller>
- <WaypointPatrolController alertnessradius=100 team=0>
- <waypoints>
- <StaticEntity position="-3850,2800,1450" />
- </waypoints>
- </WaypointPatrolController>
- </controller>
- </SpaceShip>
-
- <SpaceShip position="-4100,2600,1600">
- <templates>
- <Template link=spaceshipHtwo/>
- </templates>
- <controller>
- <WaypointPatrolController alertnessradius=100 team=0>
- <waypoints>
- <StaticEntity position="-3850,2800,1450" />
- </waypoints>
- </WaypointPatrolController>
- </controller>
- </SpaceShip>
-
- <SpaceShip position="-4000,2500,1500">
- <templates>
- <Template link=spaceshipHtwo/>
- </templates>
- <controller>
- <WaypointPatrolController alertnessradius=100 team=0>
- <waypoints>
- <StaticEntity position="-3850,2800,1450" />
- </waypoints>
- </WaypointPatrolController>
- </controller>
- </SpaceShip>
-
- <SpaceShip position="-4100,2700,1500">
- <templates>
- <Template link=spaceshipHtwo/>
- </templates>
- <controller>
- <WaypointPatrolController alertnessradius=100 team=0 />
- </controller>
- </SpaceShip>
-
- <SpaceShip position="-4150,2750,1550">
- <templates>
- <Template link=spaceshipHtwo/>
- </templates>
- <controller>
- <WaypointPatrolController alertnessradius=100 team=0 />
- </controller>
+
+ <SpawnPoint position="-3800, 2500, 1500" direction="-0.683, -0.289, -0.670" spawnclass=SpaceShip pawndesign=spaceshipassff2 />
+
+ <SpaceShip position="-3900,3000,1000">
+ <templates>
+ <Template link=spaceshipHtwo/>
+ </templates>
+ <controller>
+ <WaypointPatrolController alertnessradius=100 team=0>
+ <waypoints>
+ <StaticEntity position="-3850,2800,1450" />
+ </waypoints>
+ </WaypointPatrolController>
+ </controller>
</SpaceShip>
+
+ <SpaceShip position="-4100,2600,1600">
+ <templates>
+ <Template link=spaceshipHtwo/>
+ </templates>
+ <controller>
+ <WaypointPatrolController alertnessradius=100 team=0>
+ <waypoints>
+ <StaticEntity position="-3850,2800,1450" />
+ </waypoints>
+ </WaypointPatrolController>
+ </controller>
+ </SpaceShip>
+
+ <SpaceShip position="-4000,2500,1500">
+ <templates>
+ <Template link=spaceshipHtwo/>
+ </templates>
+ <controller>
+ <WaypointPatrolController alertnessradius=100 team=0>
+ <waypoints>
+ <StaticEntity position="-3850,2800,1450" />
+ </waypoints>
+ </WaypointPatrolController>
+ </controller>
+ </SpaceShip>
+
+ <SpaceShip position="-4100,2700,1500">
+ <templates>
+ <Template link=spaceshipHtwo/>
+ </templates>
+ <controller>
+ <WaypointPatrolController alertnessradius=100 team=0 />
+ </controller>
+ </SpaceShip>
+
+ <SpaceShip position="-4150,2750,1550">
+ <templates>
+ <Template link=spaceshipHtwo/>
+ </templates>
+ <controller>
+ <WaypointPatrolController alertnessradius=100 team=0 />
+ </controller>
+ </SpaceShip>
<PickupSpawner item="JumpItem" triggerDistance="20" respawnTime="10000" position="-3800, 2500, 1500">
<attached>
@@ -105,279 +105,279 @@
<Model mesh="gwrench.mesh" scale="1.0" />
<Billboard material="Examples/Flare" colour="0.9, 1.0, 0.1" scale="0.5" />
</attached>
- </PickupSpawner>
-
- <Billboard position="-2500, 2400, 1500" material="Examples/Flare" />
- <EventDispatcher>
- <targets>
- <EventTarget name=pirates />
- </targets>
- <events>
- <activity>
- <DistanceTrigger position="-2500, 2400, 1500" distance=250 target="SpaceShip" stayactive=true />
- </activity>
- </events>
- </EventDispatcher>
-
-<?lua
-for i = 1, 10, 1
-do
-?>
- <SpaceShip position="<?lua print(5000 + math.random() * 4000 - 2000) ?>,<?lua print(0 + math.random() * 2000 - 1000) ?>,<?lua print(math.random() * 2000 - 1000) ?>">
- <templates>
- <Template link=spaceshippirate />
- </templates>
- <controller>
- <WaypointPatrolController name=pirates alertnessradius=1000 team=1 active=false>
- <waypoints>
- <StaticEntity position="3100, 2000, 1500" />
- </waypoints>
- </WaypointPatrolController>
- </controller>
- </SpaceShip>
-<?lua
-end
-?>
-
-<?lua
-for i = 1, 12, 1
-do
-?>
- <SpaceShip position="<?lua print(2800 + math.random() * 2000 - 1000) ?>,<?lua print(2500+ math.random() * 1000 - 500) ?>,<?lua print(2500 + math.random() * 1000 - 500) ?>" >
- <templates>
- <Template link=spaceshipassff />
- </templates>
- <controller>
- <WaypointPatrolController alertnessradius=1000 team=0>
- <waypoints>
- <StaticEntity position="<?lua print(2800 + math.random() * 1000 - 500) ?>,<?lua print(2500 + math.random() * 1000 - 500) ?>,<?lua print(1500 + math.random() * 1000 - 500) ?>" />
- </waypoints>
- </WaypointPatrolController>
- </controller>
- </SpaceShip>
-<?lua
-end
-?>
-
- <Billboard position="2300, 4400, 2500" material="Examples/Flare" />
- <EventDispatcher>
- <targets>
- <EventTarget name=attacker />
- </targets>
- <events>
- <activity>
- <DistanceTrigger position="2300, 4400, 2500" distance=50 target="SpaceShip" stayactive=true />
- </activity>
- </events>
- </EventDispatcher>
-
-<?lua
-for i = 1, 12, 1
-do
-?>
- <SpaceShip position="<?lua print(2500 + math.random() * 500 - 250) ?>,<?lua print(4800 + math.random() * 500 - 250) ?>,<?lua print(2500 + math.random() * 500 - 250) ?>" >
- <templates>
- <Template link=spaceshipassff />
- </templates>
- <controller>
- <WaypointPatrolController name=attacker alertnessradius=1000 team=0 active=false>
- <waypoints>
- <StaticEntity position="<?lua print(2800 + math.random() * 500 - 250) ?>,<?lua print(2500 + math.random() * 500 - 250) ?>,<?lua print(1500 + math.random() * 500 - 250) ?>" />
- <StaticEntity position="<?lua print(5000 + math.random() * 500 - 250) ?>,<?lua print(0 + math.random() * 500 - 250) ?>,<?lua print(0 + math.random() * 500 - 250) ?>" />
- <StaticEntity position="<?lua print(7500 + math.random() * 500 - 250) ?>,<?lua print(-2500 + math.random() * 500 - 250) ?>,<?lua print(-1500 + math.random() * 500 - 250) ?>" />
- </waypoints>
- </WaypointPatrolController>
- </controller>
- </SpaceShip>
-<?lua
-end
-?>
-
- <StaticEntity position="2800, 2500, 2500">
- <attached>
- <CheckPoint />
- <Model position="400, 0, 0" scale="40" mesh="DuBall2.mesh"/>
- <Model position="-400, 0, 0" scale="40" mesh="DuBall1.mesh"/>
- </attached>
- </StaticEntity>
-<!--
- <Destroyer position="6500, -2000, -1000" collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=500>
- <attached>
- <CheckPoint />
- <Model position="0,0,0" scale="5" mesh="Carrier.mesh"/>
- <Backlight
- mainstate=activity
- active=false
- scale=0.4
- name=bltest
- position=" 7.6, 0, 6"
- colour="0.2, 0.65, 1.0, 1.0"
- width=15
- length=1500
- lifetime=2
- elements=50
- trailmaterial="Trail/backlighttrail"
- turnontime=1
- turnofftime=1
- material="Flares/ThrusterFlare1"
- />
- </attached>
- <collisionShapes>
- <BoxCollisionShape position="70,0,-25" halfExtents="150, 50, 25" />
- <BoxCollisionShape position="95,75,-16" halfExtents="70, 10, 12" />
- <BoxCollisionShape position="95,-75,-16" halfExtents="70, 10, 12" />
- <BoxCollisionShape position="77,47,30" halfExtents="110, 2, 30" />
- <BoxCollisionShape position="77,-47,30" halfExtents="110, 2, 30" />
- <BoxCollisionShape position="77,0,50" halfExtents="110, 45, 6" />
- <BoxCollisionShape position="167,0,70" halfExtents="17, 20, 20" />
- </collisionShapes>
- </Destroyer>
--->
- <Destroyer
- position = "6500,-2000,-1000"
- collisionType = dynamic
- mass = 100000
- angularDamping = 0.9999999
- health = 1000
- maxhealth = 1000
- initialhealth = 1000
- >
- <controller>
- <WaypointPatrolController team=1 />
- </controller>
- <attached>
- <Model mesh="Carrier.mesh" scale="5" />
- <Backlight
- mainstate=activity
- active=false
- scale=0.4
- name=bltest
- position=" 7.6, 0, 6"
- colour="0.2, 0.65, 1.0, 1.0"
- width=15
- length=1500
- lifetime=2
- elements=50
- trailmaterial="Trail/backlighttrail"
- turnontime=1
- turnofftime=1
- material="Flares/ThrusterFlare1"
- />
- <?lua for i=0,8,1 do ?>
- <BlinkingBillboard
- position="<?lua print(200-270/8*i)?> ,15,2"
- material="Examples/Flare"
- colour="1.0, 0.5, 0.3"
- phase=<?lua print(-360/8*i)?>
- amplitude=0.1
- frequency=0.5
- quadratic=1
- />
-
- <BlinkingBillboard
- position="<?lua print(200-270/8*i)?>,-15,2"
- material="Examples/Flare"
- colour="1.0, 0.5, 0.3"
- phase=<?lua print(-360/8*i)?>
- amplitude=0.1
- frequency=0.5
- quadratic=1
- />
- <?lua end ?>
-
- <Backlight
- scale=1
- position=" 169, 75, -15"
- colour="1, 0.85, 0.5, 0.5"
- width=40
- length=1000
- lifetime=5
- elements=15
- trailmaterial="Trail/backlighttrail"
- material="Examples/Flare"
- />
- <Backlight
- scale=1
- position=" 169, -75, -15"
- colour="1, 0.85, 0.5, 0.5"
- width=40
- length=1000
- lifetime=5
- elements=15
- trailmaterial="Trail/backlighttrail"
- material="Examples/Flare" />
- </attached>
- <collisionShapes>
- <BoxCollisionShape position="70,0,-25" halfExtents="150, 50, 25" />
- <BoxCollisionShape position="95,75,-16" halfExtents="70, 10, 12" />
- <BoxCollisionShape position="95,-75,-16" halfExtents="70, 10, 12" />
- <BoxCollisionShape position="77,47,30" halfExtents="110, 2, 30" />
- <BoxCollisionShape position="77,-47,30" halfExtents="110, 2, 30" />
- <BoxCollisionShape position="77,0,50" halfExtents="110, 45, 6" />
- <BoxCollisionShape position="167,0,70" halfExtents="17, 20, 20" />
- </collisionShapes>
- </Destroyer>
-
-<?lua
-for i = 1, 10, 1
-do
-?>
- <SpaceShip position="<?lua print(6200 + math.random() * 2000 - 1000) ?>,<?lua print(-1500 + math.random() * 1000 - 500) ?>,<?lua print(-700 + math.random() * 1000 - 500) ?>" >
- <templates>
- <Template link=spaceshippirate />
- </templates>
- <controller>
- <WaypointPatrolController alertnessradius=1000 team=1>
- <waypoints>
- <StaticEntity position="<?lua print(6000 + math.random() * 1000 - 500) ?>,<?lua print(-2000 + math.random() * 1000 - 500) ?>,<?lua print(-1000 + math.random() * 1000 - 500) ?>" />
- </waypoints>
- </WaypointPatrolController>
- </controller>
- </SpaceShip>
-<?lua
-end
-?>
-
-<?lua
-for i = 1, 200, 1
-do
-x = math.random() * 100 + (i-70) * 100
-y = math.random() * 3000 - 1500
-z = math.random() * 3000 - 1500 + (i-100) * 10
-s = math.random() * 60 + 30
-?>
-
- <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>">
- <attached>
- <Model position="0,0,0" scale=<?lua print(s) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" />
- </attached>
- </MovableEntity>
-<?lua
-end
-?>
-
-<?lua
-elements = {"BodyDebris1.mesh", "CockpitDebris.mesh", "LightningGun.mesh", "WingDebris1.mesh", "WingDebris2.mesh", "satellitedish.mesh", "Thruster.mesh"}
-sizes = {4, 4, 4, 4, 4, 10, 20}
-elements.length = function()
- return table.getn(elements)
-end
-for i = 1, 150, 1
-do
-x = math.random() * 750 - 4500
-y = math.random() * 1000 + 2000
-z = math.random() * 500 + 1000
-e = math.floor(math.random()*elements.length()+1)
-?>
-
- <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>">
- <attached>
- <Model position="0,0,0" scale="<?lua print(sizes[e]) ?>" mesh="<?lua print( elements[e]) ?>" />
- </attached>
- </MovableEntity>
-<?lua
-end
-?>
-
- </Scene>
-</Level>
+ </PickupSpawner>
+
+ <Billboard position="-2500, 2400, 1500" material="Examples/Flare" />
+ <EventDispatcher>
+ <targets>
+ <EventTarget name=pirates />
+ </targets>
+ <events>
+ <activity>
+ <DistanceTrigger position="-2500, 2400, 1500" distance=250 target="SpaceShip" stayactive=true />
+ </activity>
+ </events>
+ </EventDispatcher>
+
+<?lua
+for i = 1, 10, 1
+do
+?>
+ <SpaceShip position="<?lua print(5000 + math.random() * 4000 - 2000) ?>,<?lua print(0 + math.random() * 2000 - 1000) ?>,<?lua print(math.random() * 2000 - 1000) ?>">
+ <templates>
+ <Template link=spaceshippirate />
+ </templates>
+ <controller>
+ <WaypointPatrolController name=pirates alertnessradius=1000 team=1 active=false>
+ <waypoints>
+ <StaticEntity position="3100, 2000, 1500" />
+ </waypoints>
+ </WaypointPatrolController>
+ </controller>
+ </SpaceShip>
+<?lua
+end
+?>
+
+<?lua
+for i = 1, 12, 1
+do
+?>
+ <SpaceShip position="<?lua print(2800 + math.random() * 2000 - 1000) ?>,<?lua print(2500+ math.random() * 1000 - 500) ?>,<?lua print(2500 + math.random() * 1000 - 500) ?>" >
+ <templates>
+ <Template link=spaceshipassff />
+ </templates>
+ <controller>
+ <WaypointPatrolController alertnessradius=1000 team=0>
+ <waypoints>
+ <StaticEntity position="<?lua print(2800 + math.random() * 1000 - 500) ?>,<?lua print(2500 + math.random() * 1000 - 500) ?>,<?lua print(1500 + math.random() * 1000 - 500) ?>" />
+ </waypoints>
+ </WaypointPatrolController>
+ </controller>
+ </SpaceShip>
+<?lua
+end
+?>
+
+ <Billboard position="2300, 4400, 2500" material="Examples/Flare" />
+ <EventDispatcher>
+ <targets>
+ <EventTarget name=attacker />
+ </targets>
+ <events>
+ <activity>
+ <DistanceTrigger position="2300, 4400, 2500" distance=50 target="SpaceShip" stayactive=true />
+ </activity>
+ </events>
+ </EventDispatcher>
+
+<?lua
+for i = 1, 12, 1
+do
+?>
+ <SpaceShip position="<?lua print(2500 + math.random() * 500 - 250) ?>,<?lua print(4800 + math.random() * 500 - 250) ?>,<?lua print(2500 + math.random() * 500 - 250) ?>" >
+ <templates>
+ <Template link=spaceshipassff />
+ </templates>
+ <controller>
+ <WaypointPatrolController name=attacker alertnessradius=1000 team=0 active=false>
+ <waypoints>
+ <StaticEntity position="<?lua print(2800 + math.random() * 500 - 250) ?>,<?lua print(2500 + math.random() * 500 - 250) ?>,<?lua print(1500 + math.random() * 500 - 250) ?>" />
+ <StaticEntity position="<?lua print(5000 + math.random() * 500 - 250) ?>,<?lua print(0 + math.random() * 500 - 250) ?>,<?lua print(0 + math.random() * 500 - 250) ?>" />
+ <StaticEntity position="<?lua print(7500 + math.random() * 500 - 250) ?>,<?lua print(-2500 + math.random() * 500 - 250) ?>,<?lua print(-1500 + math.random() * 500 - 250) ?>" />
+ </waypoints>
+ </WaypointPatrolController>
+ </controller>
+ </SpaceShip>
+<?lua
+end
+?>
+
+ <StaticEntity position="2800, 2500, 2500">
+ <attached>
+ <CheckPoint />
+ <Model position="400, 0, 0" scale="40" mesh="DuBall2.mesh"/>
+ <Model position="-400, 0, 0" scale="40" mesh="DuBall1.mesh"/>
+ </attached>
+ </StaticEntity>
+<!--
+ <Destroyer position="6500, -2000, -1000" collisionType=dynamic linearDamping=0.8 angularDamping=0 mass=500>
+ <attached>
+ <CheckPoint />
+ <Model position="0,0,0" scale="5" mesh="Carrier.mesh"/>
+ <Backlight
+ mainstate=activity
+ active=false
+ scale=0.4
+ name=bltest
+ position=" 7.6, 0, 6"
+ colour="0.2, 0.65, 1.0, 1.0"
+ width=15
+ length=1500
+ lifetime=2
+ elements=50
+ trailmaterial="Trail/backlighttrail"
+ turnontime=1
+ turnofftime=1
+ material="Flares/ThrusterFlare1"
+ />
+ </attached>
+ <collisionShapes>
+ <BoxCollisionShape position="70,0,-25" halfExtents="150, 50, 25" />
+ <BoxCollisionShape position="95,75,-16" halfExtents="70, 10, 12" />
+ <BoxCollisionShape position="95,-75,-16" halfExtents="70, 10, 12" />
+ <BoxCollisionShape position="77,47,30" halfExtents="110, 2, 30" />
+ <BoxCollisionShape position="77,-47,30" halfExtents="110, 2, 30" />
+ <BoxCollisionShape position="77,0,50" halfExtents="110, 45, 6" />
+ <BoxCollisionShape position="167,0,70" halfExtents="17, 20, 20" />
+ </collisionShapes>
+ </Destroyer>
+-->
+ <Destroyer
+ position = "6500,-2000,-1000"
+ collisionType = dynamic
+ mass = 100000
+ angularDamping = 0.9999999
+ health = 1000
+ maxhealth = 1000
+ initialhealth = 1000
+ >
+ <controller>
+ <WaypointPatrolController team=1 />
+ </controller>
+ <attached>
+ <Model mesh="Carrier.mesh" scale="5" />
+ <Backlight
+ mainstate=activity
+ active=false
+ scale=0.4
+ name=bltest
+ position=" 7.6, 0, 6"
+ colour="0.2, 0.65, 1.0, 1.0"
+ width=15
+ length=1500
+ lifetime=2
+ elements=50
+ trailmaterial="Trail/backlighttrail"
+ turnontime=1
+ turnofftime=1
+ material="Flares/ThrusterFlare1"
+ />
+ <?lua for i=0,8,1 do ?>
+ <BlinkingBillboard
+ position="<?lua print(200-270/8*i)?> ,15,2"
+ material="Examples/Flare"
+ colour="1.0, 0.5, 0.3"
+ phase=<?lua print(-360/8*i)?>
+ amplitude=0.1
+ frequency=0.5
+ quadratic=1
+ />
+
+ <BlinkingBillboard
+ position="<?lua print(200-270/8*i)?>,-15,2"
+ material="Examples/Flare"
+ colour="1.0, 0.5, 0.3"
+ phase=<?lua print(-360/8*i)?>
+ amplitude=0.1
+ frequency=0.5
+ quadratic=1
+ />
+ <?lua end ?>
+
+ <Backlight
+ scale=1
+ position=" 169, 75, -15"
+ colour="1, 0.85, 0.5, 0.5"
+ width=40
+ length=1000
+ lifetime=5
+ elements=15
+ trailmaterial="Trail/backlighttrail"
+ material="Examples/Flare"
+ />
+ <Backlight
+ scale=1
+ position=" 169, -75, -15"
+ colour="1, 0.85, 0.5, 0.5"
+ width=40
+ length=1000
+ lifetime=5
+ elements=15
+ trailmaterial="Trail/backlighttrail"
+ material="Examples/Flare" />
+ </attached>
+ <collisionShapes>
+ <BoxCollisionShape position="70,0,-25" halfExtents="150, 50, 25" />
+ <BoxCollisionShape position="95,75,-16" halfExtents="70, 10, 12" />
+ <BoxCollisionShape position="95,-75,-16" halfExtents="70, 10, 12" />
+ <BoxCollisionShape position="77,47,30" halfExtents="110, 2, 30" />
+ <BoxCollisionShape position="77,-47,30" halfExtents="110, 2, 30" />
+ <BoxCollisionShape position="77,0,50" halfExtents="110, 45, 6" />
+ <BoxCollisionShape position="167,0,70" halfExtents="17, 20, 20" />
+ </collisionShapes>
+ </Destroyer>
+
+<?lua
+for i = 1, 10, 1
+do
+?>
+ <SpaceShip position="<?lua print(6200 + math.random() * 2000 - 1000) ?>,<?lua print(-1500 + math.random() * 1000 - 500) ?>,<?lua print(-700 + math.random() * 1000 - 500) ?>" >
+ <templates>
+ <Template link=spaceshippirate />
+ </templates>
+ <controller>
+ <WaypointPatrolController alertnessradius=1000 team=1>
+ <waypoints>
+ <StaticEntity position="<?lua print(6000 + math.random() * 1000 - 500) ?>,<?lua print(-2000 + math.random() * 1000 - 500) ?>,<?lua print(-1000 + math.random() * 1000 - 500) ?>" />
+ </waypoints>
+ </WaypointPatrolController>
+ </controller>
+ </SpaceShip>
+<?lua
+end
+?>
+
+<?lua
+for i = 1, 200, 1
+do
+x = math.random() * 100 + (i-70) * 100
+y = math.random() * 3000 - 1500
+z = math.random() * 3000 - 1500 + (i-100) * 10
+s = math.random() * 60 + 30
+?>
+
+ <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>">
+ <attached>
+ <Model position="0,0,0" scale=<?lua print(s) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" />
+ </attached>
+ </MovableEntity>
+<?lua
+end
+?>
+
+<?lua
+elements = {"BodyDebris1.mesh", "CockpitDebris.mesh", "LightningGun.mesh", "WingDebris1.mesh", "WingDebris2.mesh", "satellitedish.mesh", "Thruster.mesh"}
+sizes = {4, 4, 4, 4, 4, 10, 20}
+elements.length = function()
+ return table.getn(elements)
+end
+for i = 1, 150, 1
+do
+x = math.random() * 750 - 4500
+y = math.random() * 1000 + 2000
+z = math.random() * 500 + 1000
+e = math.floor(math.random()*elements.length()+1)
+?>
+
+ <MovableEntity position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" linearDamping=0.8 angularDamping=0.8 rotationaxis="<?lua print(math.random()) ?>, <?lua print(math.random()) ?>, <?lua print(math.random()) ?>" rotationrate="<?lua print(math.random() * 30 - 15) ?>">
+ <attached>
+ <Model position="0,0,0" scale="<?lua print(sizes[e]) ?>" mesh="<?lua print( elements[e]) ?>" />
+ </attached>
+ </MovableEntity>
+<?lua
+end
+?>
+
+ </Scene>
+</Level>
Property changes on: code/trunk/data/levels/presentation09b.oxw
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/levels/tutorial.oxw
___________________________________________________________________
Deleted: svn:mergeinfo
-
Modified: code/trunk/data/particle/ExplosionComp1.particle
===================================================================
--- code/trunk/data/particle/ExplosionComp1.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/ExplosionComp1.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,66 +1,66 @@
-
-particle_system Orxonox/ExplosionComp1
-{
- quota 150
- material PE/explosion
- particle_width 20
- particle_height 40
- cull_each true
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-
- emitter Ellipsoid
- {
- angle 180
- colour 1 1 1 1
- colour_range_start 1 1 1 1
- colour_range_end 1 1 1 1
- direction 0 1 0
- emission_rate 300
- position 0 0 0
- velocity 75
- velocity_min 75
- velocity_max 75
- time_to_live 0.6
- time_to_live_min 0.4
- time_to_live_max 0.8
- duration 0.4
- duration_min 0.3
- duration_max 0.6
- repeat_delay 2.5
- repeat_delay_min 2.5
- repeat_delay_max 2.5
- width 20
- hight 20
- depth 0
- }
-
- affector Scaler
- {
- rate 5
- }
-
- affector DirectionRandomiser
- {
- randomness 130.6
- scope 0.4505
- keep_velocity false
- }
-
- affector ColourFader
- {
- red 1
- green 1
- blue 1
- alpha -0.06306
- }
-}
+
+particle_system Orxonox/ExplosionComp1
+{
+ quota 150
+ material PE/explosion
+ particle_width 20
+ particle_height 40
+ cull_each true
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Ellipsoid
+ {
+ angle 180
+ colour 1 1 1 1
+ colour_range_start 1 1 1 1
+ colour_range_end 1 1 1 1
+ direction 0 1 0
+ emission_rate 300
+ position 0 0 0
+ velocity 75
+ velocity_min 75
+ velocity_max 75
+ time_to_live 0.6
+ time_to_live_min 0.4
+ time_to_live_max 0.8
+ duration 0.4
+ duration_min 0.3
+ duration_max 0.6
+ repeat_delay 2.5
+ repeat_delay_min 2.5
+ repeat_delay_max 2.5
+ width 20
+ hight 20
+ depth 0
+ }
+
+ affector Scaler
+ {
+ rate 5
+ }
+
+ affector DirectionRandomiser
+ {
+ randomness 130.6
+ scope 0.4505
+ keep_velocity false
+ }
+
+ affector ColourFader
+ {
+ red 1
+ green 1
+ blue 1
+ alpha -0.06306
+ }
+}
Property changes on: code/trunk/data/particle/ExplosionComp1.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/ExplosionComp2.particle
===================================================================
--- code/trunk/data/particle/ExplosionComp2.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/ExplosionComp2.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,56 +1,56 @@
-
-particle_system Orxonox/ExplosionComp2
-{
- quota 1000
- material PE/smoke
- particle_width 10
- particle_height 10
- cull_each false
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-
- emitter Point
- {
- angle 180
- colour 1 1 1 0.62963
- colour_range_start 1 1 1 0.62963
- colour_range_end 1 1 1 0.62963
- direction 0 1 0
- emission_rate 2000
- position 0 0 0
- velocity 80
- velocity_min 80
- velocity_max 80
- time_to_live 0.8
- time_to_live_min 0.8
- time_to_live_max 0.8
- duration 0.79
- duration_min 0.79
- duration_max 0.79
- repeat_delay 1.5
- repeat_delay_min 1.5
- repeat_delay_max 1.5
- }
-
- affector Scaler
- {
- rate 12.07
- }
-
- affector ColourFader
- {
- red -1
- green -1
- blue -1
- alpha -0.4234
- }
-}
+
+particle_system Orxonox/ExplosionComp2
+{
+ quota 1000
+ material PE/smoke
+ particle_width 10
+ particle_height 10
+ cull_each false
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Point
+ {
+ angle 180
+ colour 1 1 1 0.62963
+ colour_range_start 1 1 1 0.62963
+ colour_range_end 1 1 1 0.62963
+ direction 0 1 0
+ emission_rate 2000
+ position 0 0 0
+ velocity 80
+ velocity_min 80
+ velocity_max 80
+ time_to_live 0.8
+ time_to_live_min 0.8
+ time_to_live_max 0.8
+ duration 0.79
+ duration_min 0.79
+ duration_max 0.79
+ repeat_delay 1.5
+ repeat_delay_min 1.5
+ repeat_delay_max 1.5
+ }
+
+ affector Scaler
+ {
+ rate 12.07
+ }
+
+ affector ColourFader
+ {
+ red -1
+ green -1
+ blue -1
+ alpha -0.4234
+ }
+}
Property changes on: code/trunk/data/particle/ExplosionComp2.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/ExplosionComp4.particle
===================================================================
--- code/trunk/data/particle/ExplosionComp4.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/ExplosionComp4.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,76 +1,76 @@
-
-particle_system ExplosionComp4
-{
- quota 10
- material BaseWhite
- particle_width 100
- particle_height 100
- cull_each false
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-}
-
-particle_system Orxonox/ExplosionComp4
-{
- quota 500
- material PE/explosion
- particle_width 24.19
- particle_height 25.08
- cull_each false
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-
- emitter Point
- {
- angle 9.73
- colour 1 1 1 1
- colour_range_start 1 1 1 1
- colour_range_end 1 1 1 1
- direction 0 1 0
- emission_rate 2000
- position 0 0 0
- velocity 300
- velocity_min 300
- velocity_max 300
- time_to_live 0.1802
- time_to_live_min 0.1802
- time_to_live_max 0.1802
- duration 0.08
- duration_min 0.08
- duration_max 0.08
- repeat_delay 0.1802
- repeat_delay_min 0.1802
- repeat_delay_max 0.1802
- }
-
- affector DirectionRandomiser
- {
- randomness 0
- scope 0.2703
- keep_velocity false
- }
-
- affector LinearForce
- {
- force_vector -16.8065 62.4805 6.57674
- force_application add
- }
-}
+
+particle_system ExplosionComp4
+{
+ quota 10
+ material BaseWhite
+ particle_width 100
+ particle_height 100
+ cull_each false
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+}
+
+particle_system Orxonox/ExplosionComp4
+{
+ quota 500
+ material PE/explosion
+ particle_width 24.19
+ particle_height 25.08
+ cull_each false
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Point
+ {
+ angle 9.73
+ colour 1 1 1 1
+ colour_range_start 1 1 1 1
+ colour_range_end 1 1 1 1
+ direction 0 1 0
+ emission_rate 2000
+ position 0 0 0
+ velocity 300
+ velocity_min 300
+ velocity_max 300
+ time_to_live 0.1802
+ time_to_live_min 0.1802
+ time_to_live_max 0.1802
+ duration 0.08
+ duration_min 0.08
+ duration_max 0.08
+ repeat_delay 0.1802
+ repeat_delay_min 0.1802
+ repeat_delay_max 0.1802
+ }
+
+ affector DirectionRandomiser
+ {
+ randomness 0
+ scope 0.2703
+ keep_velocity false
+ }
+
+ affector LinearForce
+ {
+ force_vector -16.8065 62.4805 6.57674
+ force_application add
+ }
+}
Property changes on: code/trunk/data/particle/ExplosionComp4.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/FireComp2.particle
===================================================================
--- code/trunk/data/particle/FireComp2.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/FireComp2.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,69 +1,69 @@
-
-particle_system Orxonox/FireComp2
-{
- quota 10000
- material PE/smoke
- particle_width 4
- particle_height 4
- cull_each true
- renderer billboard
- sorted true
- local_space true
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing true
-
- emitter HollowEllipsoid
- {
- angle 1.69
- colour 1 1 1 0.506173
- colour_range_start 1 1 1 0.506173
- colour_range_end 1 1 1 0.506173
- direction 0 1 0
- emission_rate 1680
- position 0 60 0
- velocity 300
- velocity_min 300
- velocity_max 300
- time_to_live 0.2
- time_to_live_min 0.2
- time_to_live_max 0.2
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
- width 28.83
- height 39.64
- depth 88.29
- inner_width 0.5
- inner_height 0.5
- inner_depth 0.5
- }
-
- affector DirectionRandomiser
- {
- randomness 250
- scope 0.4865
- keep_velocity false
- }
-
- affector Scaler
- {
- rate 20
- }
-
- affector ColourFader
- {
- red -1
- green -1
- blue -1
- alpha 0.1351
- }
-}
+
+particle_system Orxonox/FireComp2
+{
+ quota 10000
+ material PE/smoke
+ particle_width 4
+ particle_height 4
+ cull_each true
+ renderer billboard
+ sorted true
+ local_space true
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing true
+
+ emitter HollowEllipsoid
+ {
+ angle 1.69
+ colour 1 1 1 0.506173
+ colour_range_start 1 1 1 0.506173
+ colour_range_end 1 1 1 0.506173
+ direction 0 1 0
+ emission_rate 1680
+ position 0 60 0
+ velocity 300
+ velocity_min 300
+ velocity_max 300
+ time_to_live 0.2
+ time_to_live_min 0.2
+ time_to_live_max 0.2
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ width 28.83
+ height 39.64
+ depth 88.29
+ inner_width 0.5
+ inner_height 0.5
+ inner_depth 0.5
+ }
+
+ affector DirectionRandomiser
+ {
+ randomness 250
+ scope 0.4865
+ keep_velocity false
+ }
+
+ affector Scaler
+ {
+ rate 20
+ }
+
+ affector ColourFader
+ {
+ red -1
+ green -1
+ blue -1
+ alpha 0.1351
+ }
+}
Property changes on: code/trunk/data/particle/FireComp2.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/LaserGun.particle
===================================================================
--- code/trunk/data/particle/LaserGun.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/LaserGun.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,51 +1,51 @@
-
-particle_system Orxonox/LaserGun
-{
- quota 1000
- material PE/Streak
- particle_width 1.892
- particle_height 1.892
- cull_each false
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-
- emitter Point
- {
- angle 3.243
- colour 1 0 0 1
- colour_range_start 1 0 0 1
- colour_range_end 1 0.0432099 0 1
- direction 0 -1 0
- emission_rate 1027
- position 0 0 0
- velocity 113.5
- velocity_min 113.5
- velocity_max 113.5
- time_to_live 0.3604
- time_to_live_min 0.3604
- time_to_live_max 0.3604
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
- }
-
- affector ColourFader
- {
- red -1
- green 0.2613
- blue -0.1712
- alpha -1
- }
-}
+
+particle_system Orxonox/LaserGun
+{
+ quota 1000
+ material PE/Streak
+ particle_width 1.892
+ particle_height 1.892
+ cull_each false
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Point
+ {
+ angle 3.243
+ colour 1 0 0 1
+ colour_range_start 1 0 0 1
+ colour_range_end 1 0.0432099 0 1
+ direction 0 -1 0
+ emission_rate 1027
+ position 0 0 0
+ velocity 113.5
+ velocity_min 113.5
+ velocity_max 113.5
+ time_to_live 0.3604
+ time_to_live_min 0.3604
+ time_to_live_max 0.3604
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ }
+
+ affector ColourFader
+ {
+ red -1
+ green 0.2613
+ blue -0.1712
+ alpha -1
+ }
+}
Property changes on: code/trunk/data/particle/LaserGun.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: code/trunk/data/particle/ThrusterFire.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/forcefield.particle
===================================================================
--- code/trunk/data/particle/forcefield.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/forcefield.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,554 +1,554 @@
-particle_system Orxonox/ForceFieldPurpleBig
-{
- quota 10000
- material PE/smoke
- particle_width 30
- particle_height 500
- cull_each true
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type oriented_self
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 1 0 0
- point_rendering false
- accurate_facing false
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0.744444 0 1 0.05
- colour_range_end 0.533333 0 1 0.05
+particle_system Orxonox/ForceFieldPurpleBig
+{
+ quota 10000
+ material PE/smoke
+ particle_width 30
+ particle_height 500
+ cull_each true
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 1 0 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0.744444 0 1 0.05
+ colour_range_end 0.533333 0 1 0.05
emission_rate 10
- direction 0 0 -1
- velocity 87.1
- velocity_min 87.1
- velocity_max 87.1
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 87.1
+ velocity_min 87.1
+ velocity_max 87.1
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 1
width 600
- height 600
- }
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0.3 0 0.3 0.05
- colour_range_end 0.4 0 0.5 0.05
+ height 600
+ }
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0.3 0 0.3 0.05
+ colour_range_end 0.4 0 0.5 0.05
emission_rate 10
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 300
- height 300
+ height 300
}
- emitter Cylinder
- {
- angle 1 1 1 0.05
- colour_range_start 0.9 0.9 0.9 0.05
- colour_range_end 1 1 1 0.05
+ emitter Cylinder
+ {
+ angle 1 1 1 0.05
+ colour_range_start 0.9 0.9 0.9 0.05
+ colour_range_end 1 1 1 0.05
emission_rate 5
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 900
- height 900
- }
+ height 900
+ }
}
-particle_system Orxonox/ForceFieldPurpleSmall
-{
- quota 10000
- material PE/smoke
- particle_width 30
- particle_height 500
- cull_each true
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type oriented_self
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 1 0 0
- point_rendering false
- accurate_facing false
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0.744444 0 1 0.05
- colour_range_end 0.533333 0 1 0.05
+particle_system Orxonox/ForceFieldPurpleSmall
+{
+ quota 10000
+ material PE/smoke
+ particle_width 30
+ particle_height 500
+ cull_each true
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 1 0 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0.744444 0 1 0.05
+ colour_range_end 0.533333 0 1 0.05
emission_rate 7
- direction 0 0 -1
- velocity 87.1
- velocity_min 87.1
- velocity_max 87.1
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 87.1
+ velocity_min 87.1
+ velocity_max 87.1
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 1
width 300
- height 300
- }
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0.3 0 0.3 0.05
- colour_range_end 0.4 0 0.5 0.05
+ height 300
+ }
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0.3 0 0.3 0.05
+ colour_range_end 0.4 0 0.5 0.05
emission_rate 6
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 200
- height 200
+ height 200
}
- emitter Cylinder
- {
- angle 1 1 1 0.05
- colour_range_start 0.9 0.9 0.9 0.05
- colour_range_end 1 1 1 0.05
+ emitter Cylinder
+ {
+ angle 1 1 1 0.05
+ colour_range_start 0.9 0.9 0.9 0.05
+ colour_range_end 1 1 1 0.05
emission_rate 4
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 500
- height 500
- }
+ height 500
+ }
}
-particle_system Orxonox/ForceFieldGreenBig
-{
- quota 10000
- material PE/smoke
- particle_width 30
- particle_height 500
- cull_each true
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type oriented_self
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 1 0 0
- point_rendering false
- accurate_facing false
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0 0.744444 1 0.05
- colour_range_end 0 0.533333 1 0.05
+particle_system Orxonox/ForceFieldGreenBig
+{
+ quota 10000
+ material PE/smoke
+ particle_width 30
+ particle_height 500
+ cull_each true
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 1 0 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0 0.744444 1 0.05
+ colour_range_end 0 0.533333 1 0.05
emission_rate 10
- direction 0 0 -1
- velocity 87.1
- velocity_min 87.1
- velocity_max 87.1
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 87.1
+ velocity_min 87.1
+ velocity_max 87.1
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 1
width 600
- height 600
- }
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0 0.455556 0 0.05
- colour_range_end 0 0.8 0 0.05
+ height 600
+ }
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0 0.455556 0 0.05
+ colour_range_end 0 0.8 0 0.05
emission_rate 10
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 300
- height 300
+ height 300
}
- emitter Cylinder
- {
- angle 1 1 1 0.05
- colour_range_start 0.9 0.9 0.9 0.05
- colour_range_end 1 1 1 0.05
+ emitter Cylinder
+ {
+ angle 1 1 1 0.05
+ colour_range_start 0.9 0.9 0.9 0.05
+ colour_range_end 1 1 1 0.05
emission_rate 5
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 900
- height 900
- }
+ height 900
+ }
}
-particle_system Orxonox/ForceFieldGreenSmall
-{
- quota 10000
- material PE/smoke
- particle_width 30
- particle_height 500
- cull_each true
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type oriented_self
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 1 0 0
- point_rendering false
- accurate_facing false
-
- emitter Cylinder
- {
- angle 0
- colour 0 0.744444 1 0.05
- colour_range_start 0 0.744444 1 0.05
- colour_range_end 0 0.533333 1 0.05
+particle_system Orxonox/ForceFieldGreenSmall
+{
+ quota 10000
+ material PE/smoke
+ particle_width 30
+ particle_height 500
+ cull_each true
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 1 0 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Cylinder
+ {
+ angle 0
+ colour 0 0.744444 1 0.05
+ colour_range_start 0 0.744444 1 0.05
+ colour_range_end 0 0.533333 1 0.05
emission_rate 7
- direction 0 0 -1
- velocity 87.1
- velocity_min 87.1
- velocity_max 87.1
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 87.1
+ velocity_min 87.1
+ velocity_max 87.1
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 1
width 300
- height 300
- }
-
- emitter Cylinder
- {
- angle 0
- colour 0 0.455556 0 0.05
- colour_range_start 0 0.455556 0 0.05
- colour_range_end 0 0.8 0 0.05
+ height 300
+ }
+
+ emitter Cylinder
+ {
+ angle 0
+ colour 0 0.455556 0 0.05
+ colour_range_start 0 0.455556 0 0.05
+ colour_range_end 0 0.8 0 0.05
emission_rate 6
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 200
- height 200
+ height 200
}
- emitter Cylinder
- {
- angle 1 1 1 0.05
- colour_range_start 0.9 0.9 0.9 0.05
- colour_range_end 1 1 1 0.05
+ emitter Cylinder
+ {
+ angle 1 1 1 0.05
+ colour_range_start 0.9 0.9 0.9 0.05
+ colour_range_end 1 1 1 0.05
emission_rate 4
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 500
- height 500
- }
+ height 500
+ }
}
-particle_system Orxonox/ForceFieldBlueBig
-{
- quota 10000
- material PE/smoke
- particle_width 30
- particle_height 500
- cull_each true
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type oriented_self
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 1 0 0
- point_rendering false
- accurate_facing false
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0 0 0.744444 0.05
- colour_range_end 0.5 0 0.533333 0.05
+particle_system Orxonox/ForceFieldBlueBig
+{
+ quota 10000
+ material PE/smoke
+ particle_width 30
+ particle_height 500
+ cull_each true
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 1 0 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0 0 0.744444 0.05
+ colour_range_end 0.5 0 0.533333 0.05
emission_rate 10
- direction 0 0 -1
- velocity 87.1
- velocity_min 87.1
- velocity_max 87.1
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 87.1
+ velocity_min 87.1
+ velocity_max 87.1
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 1
width 600
- height 600
- }
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0 0.3 0.455556 0.05
- colour_range_end 0 0.5 0.8 0.05
+ height 600
+ }
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0 0.3 0.455556 0.05
+ colour_range_end 0 0.5 0.8 0.05
emission_rate 10
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 300
- height 300
+ height 300
}
- emitter Cylinder
- {
- angle 1 1 1 0.05
- colour_range_start 0.9 0.9 0.9 0.05
- colour_range_end 1 1 1 0.05
+ emitter Cylinder
+ {
+ angle 1 1 1 0.05
+ colour_range_start 0.9 0.9 0.9 0.05
+ colour_range_end 1 1 1 0.05
emission_rate 5
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 900
- height 900
- }
+ height 900
+ }
}
-particle_system Orxonox/ForceFieldBlueSmall
-{
- quota 10000
- material PE/smoke
- particle_width 30
- particle_height 500
- cull_each true
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type oriented_self
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 1 0 0
- point_rendering false
- accurate_facing false
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0 0 0.744444 0.05
- colour_range_end 0.5 0 0.533333 0.05
+particle_system Orxonox/ForceFieldBlueSmall
+{
+ quota 10000
+ material PE/smoke
+ particle_width 30
+ particle_height 500
+ cull_each true
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type oriented_self
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 1 0 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0 0 0.744444 0.05
+ colour_range_end 0.5 0 0.533333 0.05
emission_rate 7
- direction 0 0 -1
- velocity 87.1
- velocity_min 87.1
- velocity_max 87.1
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 87.1
+ velocity_min 87.1
+ velocity_max 87.1
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 1
width 300
- height 300
- }
-
- emitter Cylinder
- {
- angle 0
- colour_range_start 0 0.3 0.455556 0.05
- colour_range_end 0 0.5 0.8 0.05
+ height 300
+ }
+
+ emitter Cylinder
+ {
+ angle 0
+ colour_range_start 0 0.3 0.455556 0.05
+ colour_range_end 0 0.5 0.8 0.05
emission_rate 6
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 200
- height 200
+ height 200
}
- emitter Cylinder
- {
- angle 1 1 1 0.05
- colour_range_start 0.9 0.9 0.9 0.05
- colour_range_end 1 1 1 0.05
+ emitter Cylinder
+ {
+ angle 1 1 1 0.05
+ colour_range_start 0.9 0.9 0.9 0.05
+ colour_range_end 1 1 1 0.05
emission_rate 4
- direction 0 0 -1
- velocity 77.42
- velocity_min 77.42
- velocity_max 77.42
- time_to_live 30
- time_to_live_min 30
- time_to_live_max 30
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
+ direction 0 0 -1
+ velocity 77.42
+ velocity_min 77.42
+ velocity_max 77.42
+ time_to_live 30
+ time_to_live_min 30
+ time_to_live_max 30
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
depth 0
width 500
- height 500
- }
+ height 500
+ }
}
Property changes on: code/trunk/data/particle/forcefield.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/repairGold.particle
===================================================================
--- code/trunk/data/particle/repairGold.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/repairGold.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,49 +1,49 @@
-
-particle_system Orxonox/repairGold
-{
- quota 200
- material PE/lensflare
- particle_width 47.38
- particle_height 47.38
- cull_each false
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-
- emitter HollowEllipsoid
- {
- angle 180
- colour 0.91358 0.734568 0 1
- colour_range_start 0.91358 0.734568 0 1
- colour_range_end 0.91358 0.734568 0 1
- direction 0 1 0
- emission_rate 216.2
- position 0 0 0
- velocity 1
- velocity_min 1
- velocity_max 1
- time_to_live 0.5405
- time_to_live_min 0.5405
- time_to_live_max 0.5405
- duration 1.441
- duration_min 1.441
- duration_max 1.622
- repeat_delay 0.7207
- repeat_delay_min 0.7207
- repeat_delay_max 0.7207
- width 200
- height 200
- depth 200
- inner_width 0.9
- inner_height 0.9
- inner_depth 0.9
- }
-}
+
+particle_system Orxonox/repairGold
+{
+ quota 200
+ material PE/lensflare
+ particle_width 47.38
+ particle_height 47.38
+ cull_each false
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+
+ emitter HollowEllipsoid
+ {
+ angle 180
+ colour 0.91358 0.734568 0 1
+ colour_range_start 0.91358 0.734568 0 1
+ colour_range_end 0.91358 0.734568 0 1
+ direction 0 1 0
+ emission_rate 216.2
+ position 0 0 0
+ velocity 1
+ velocity_min 1
+ velocity_max 1
+ time_to_live 0.5405
+ time_to_live_min 0.5405
+ time_to_live_max 0.5405
+ duration 1.441
+ duration_min 1.441
+ duration_max 1.622
+ repeat_delay 0.7207
+ repeat_delay_min 0.7207
+ repeat_delay_max 0.7207
+ width 200
+ height 200
+ depth 200
+ inner_width 0.9
+ inner_height 0.9
+ inner_depth 0.9
+ }
+}
Property changes on: code/trunk/data/particle/repairGold.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/repairSilver.particle
===================================================================
--- code/trunk/data/particle/repairSilver.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/repairSilver.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,49 +1,49 @@
-
-particle_system Orxonox/repairSilver
-{
- quota 500
- material PE/lensflare
- particle_width 47.38
- particle_height 47.38
- cull_each false
- renderer billboard
- sorted false
- local_space false
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-
- emitter HollowEllipsoid
- {
- angle 0
- colour 0.691358 0.814815 1 1
- colour_range_start 0.691358 0.814815 1 1
- colour_range_end 0.691358 0.814815 1 1
- direction 0 1 0
- emission_rate 342.3
- position 0 0 0
- velocity 1
- velocity_min 1
- velocity_max 1
- time_to_live 0.4
- time_to_live_min 0.4
- time_to_live_max 0.4
- duration 0.7
- duration_min 0.7
- duration_max 0.7
- repeat_delay 0.7207
- repeat_delay_min 0.7207
- repeat_delay_max 0.7207
- width 200
- height 200
- depth 200
- inner_width 0.9
- inner_height 0.9
- inner_depth 0.9
- }
-}
+
+particle_system Orxonox/repairSilver
+{
+ quota 500
+ material PE/lensflare
+ particle_width 47.38
+ particle_height 47.38
+ cull_each false
+ renderer billboard
+ sorted false
+ local_space false
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+
+ emitter HollowEllipsoid
+ {
+ angle 0
+ colour 0.691358 0.814815 1 1
+ colour_range_start 0.691358 0.814815 1 1
+ colour_range_end 0.691358 0.814815 1 1
+ direction 0 1 0
+ emission_rate 342.3
+ position 0 0 0
+ velocity 1
+ velocity_min 1
+ velocity_max 1
+ time_to_live 0.4
+ time_to_live_min 0.4
+ time_to_live_max 0.4
+ duration 0.7
+ duration_min 0.7
+ duration_max 0.7
+ repeat_delay 0.7207
+ repeat_delay_min 0.7207
+ repeat_delay_max 0.7207
+ width 200
+ height 200
+ depth 200
+ inner_width 0.9
+ inner_height 0.9
+ inner_depth 0.9
+ }
+}
Property changes on: code/trunk/data/particle/repairSilver.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/particle/shotTest.particle
===================================================================
--- code/trunk/data/particle/shotTest.particle 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/particle/shotTest.particle 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,55 +1,55 @@
-
-particle_system Orxonox/shotTest
-{
- quota 3000
- material PE/bigFlame
- particle_width 1
- particle_height 10
- cull_each false
- renderer billboard
- sorted false
- local_space true
- iteration_interval 0
- nonvisible_update_timeout 0
- billboard_type point
- billboard_origin center
- billboard_rotation_type texcoord
- common_up_vector 0 1 0
- point_rendering false
- accurate_facing false
-
- emitter Point
- {
- angle 7.2
- colour 1 0 0 0.9
- colour_range_start 1 0 0 0.9
- colour_range_end 1 0.185185 0 0.9
- direction 0 1 0
- emission_rate 2000
- position 0 0 0
- velocity 300
- velocity_min 300
- velocity_max 300
- time_to_live 0.2
- time_to_live_min 0.2
- time_to_live_max 0.2
- duration 0
- duration_min 0
- duration_max 0
- repeat_delay 0
- repeat_delay_min 0
- repeat_delay_max 0
- }
-
- affector DirectionRandomiser
- {
- randomness 500
- scope 1
- keep_velocity false
- }
-
- affector Scaler
- {
- rate 20
- }
-}
+
+particle_system Orxonox/shotTest
+{
+ quota 3000
+ material PE/bigFlame
+ particle_width 1
+ particle_height 10
+ cull_each false
+ renderer billboard
+ sorted false
+ local_space true
+ iteration_interval 0
+ nonvisible_update_timeout 0
+ billboard_type point
+ billboard_origin center
+ billboard_rotation_type texcoord
+ common_up_vector 0 1 0
+ point_rendering false
+ accurate_facing false
+
+ emitter Point
+ {
+ angle 7.2
+ colour 1 0 0 0.9
+ colour_range_start 1 0 0 0.9
+ colour_range_end 1 0.185185 0 0.9
+ direction 0 1 0
+ emission_rate 2000
+ position 0 0 0
+ velocity 300
+ velocity_min 300
+ velocity_max 300
+ time_to_live 0.2
+ time_to_live_min 0.2
+ time_to_live_max 0.2
+ duration 0
+ duration_min 0
+ duration_max 0
+ repeat_delay 0
+ repeat_delay_min 0
+ repeat_delay_max 0
+ }
+
+ affector DirectionRandomiser
+ {
+ randomness 500
+ scope 1
+ keep_velocity false
+ }
+
+ affector Scaler
+ {
+ rate 20
+ }
+}
Property changes on: code/trunk/data/particle/shotTest.particle
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/resources.oxr
===================================================================
--- code/trunk/data/resources.oxr 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/resources.oxr 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,14 +1,14 @@
-<ResourceCollection resourceGroup = "General" >
- <ResourceLocation path = "levels" />
- <ResourceLocation path = "lua" />
- <ResourceLocation path = "overlays" />
- <ResourceLocation path = "particle" />
- <ResourceLocation path = "tcl" />
-</ResourceCollection>
-
-<ResourceCollection resourceGroup = "GUI" >
- <ResourceLocation path = "gui/configs" />
- <ResourceLocation path = "gui/layouts" />
- <ResourceLocation path = "gui/schemes" />
- <ResourceLocation path = "gui/scripts" />
-</ResourceCollection>
+<ResourceCollection resourceGroup = "General" >
+ <ResourceLocation path = "levels" />
+ <ResourceLocation path = "lua" />
+ <ResourceLocation path = "overlays" />
+ <ResourceLocation path = "particle" />
+ <ResourceLocation path = "tcl" />
+</ResourceCollection>
+
+<ResourceCollection resourceGroup = "GUI" >
+ <ResourceLocation path = "gui/configs" />
+ <ResourceLocation path = "gui/layouts" />
+ <ResourceLocation path = "gui/schemes" />
+ <ResourceLocation path = "gui/scripts" />
+</ResourceCollection>
Property changes on: code/trunk/data/resources.oxr
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/README
===================================================================
--- code/trunk/data/tcl/irk/README 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/README 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,76 +1,76 @@
-IRK README
-==========
-
-Welcome to IRK, a Tcl IRC client library. IRK is intended for Tcl
-programmers that want to use the IRC protocol for communication. It
-can be used to ease the creation of IRC "bots", as shown by the
-examples in the examples directory, and it can also serve as the basis
-for graphical chat clients. Finally, it can be used to allow IRKs to
-find each other without centralized coordination, by meeting on a
-designated IRC server and channel. It is therefore ideal for setting
-up the initial contact for P2P programs without requiring a central
-registry or server.
-
-LICENSE
-=======
-
-IRK is distributed under the BSD license, the same license as Tcl.
-
-INSTALLATION
-============
-
-IRK is written in pure Tcl, which means it requires no extensions. It
-works with Tcl 8.0 and all later releases of Tcl.
-
-IRK has been tested on Solaris 7, Red Hat Linux 7.2, Windows 98,
-Windows 2000 and FreeBSD 4.2. It should work on any platform that is
-able to support Tcl 8.0 or later.
-
-Just drop this directory into one of the directories in Tcl's auto
-path. In your Tcl scripts, add the line:
-
- package require irk
-
-and the IRK package should load into your Tcl interpreter.
-
-USAGE
-=====
-
-Read docs/usage.txt for a short overview of the commands provided by
-IRK.
-
-RECENT CHANGES AND CURRENT VERSION
-==================================
-
-Please read docs/changes.txt to see a list of all changes, ordered
-chronologically by release.
-
-REQUIREMENTS
-============
-
-IRK is event driven, and it requires the event loop to be active. If
-you want to use IRK from tclsh or other programs embedding a Tcl
-interpreter where the event loop is inactive, enter the event loop by
-adding the following line somewhere in your program:
-
- vwait infinitely
-
-If you are using IRK in Wish, you do not need to take any action.
-
-TODO
-====
-
-Please docs/todo.txt for a list of planned enhancements.
-
-CREDITS AND CONTACT
-===================
-
-IRK benefited from examination of the Zircon and savIRC code written
-by Lindsay Marshall and Saverio Castellano, respectively. The future
-OO wrapper API is based on an idea suggested by Dave N. Welton.
-
-You can contact Jacob Levy, the author of IRK, at jyl at best.com. Please
-do drop a note if you use IRK, or if you have suggestions for
-enhancements, or if you run into problems.
-
-
+IRK README
+==========
+
+Welcome to IRK, a Tcl IRC client library. IRK is intended for Tcl
+programmers that want to use the IRC protocol for communication. It
+can be used to ease the creation of IRC "bots", as shown by the
+examples in the examples directory, and it can also serve as the basis
+for graphical chat clients. Finally, it can be used to allow IRKs to
+find each other without centralized coordination, by meeting on a
+designated IRC server and channel. It is therefore ideal for setting
+up the initial contact for P2P programs without requiring a central
+registry or server.
+
+LICENSE
+=======
+
+IRK is distributed under the BSD license, the same license as Tcl.
+
+INSTALLATION
+============
+
+IRK is written in pure Tcl, which means it requires no extensions. It
+works with Tcl 8.0 and all later releases of Tcl.
+
+IRK has been tested on Solaris 7, Red Hat Linux 7.2, Windows 98,
+Windows 2000 and FreeBSD 4.2. It should work on any platform that is
+able to support Tcl 8.0 or later.
+
+Just drop this directory into one of the directories in Tcl's auto
+path. In your Tcl scripts, add the line:
+
+ package require irk
+
+and the IRK package should load into your Tcl interpreter.
+
+USAGE
+=====
+
+Read docs/usage.txt for a short overview of the commands provided by
+IRK.
+
+RECENT CHANGES AND CURRENT VERSION
+==================================
+
+Please read docs/changes.txt to see a list of all changes, ordered
+chronologically by release.
+
+REQUIREMENTS
+============
+
+IRK is event driven, and it requires the event loop to be active. If
+you want to use IRK from tclsh or other programs embedding a Tcl
+interpreter where the event loop is inactive, enter the event loop by
+adding the following line somewhere in your program:
+
+ vwait infinitely
+
+If you are using IRK in Wish, you do not need to take any action.
+
+TODO
+====
+
+Please docs/todo.txt for a list of planned enhancements.
+
+CREDITS AND CONTACT
+===================
+
+IRK benefited from examination of the Zircon and savIRC code written
+by Lindsay Marshall and Saverio Castellano, respectively. The future
+OO wrapper API is based on an idea suggested by Dave N. Welton.
+
+You can contact Jacob Levy, the author of IRK, at jyl at best.com. Please
+do drop a note if you use IRK, or if you have suggestions for
+enhancements, or if you run into problems.
+
+
Property changes on: code/trunk/data/tcl/irk/README
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/docs/changes.txt
===================================================================
--- code/trunk/data/tcl/irk/docs/changes.txt 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/docs/changes.txt 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,22 +1,22 @@
-IRK 0.01, 02/07/2002
- This is the first release of IRK.
-
- What's implemented:
-
- * Connection management.
- * Integrated support for SOCKS5 to get through firewalls.
- * Rudimentary flow control and queueing. Needs more work.
- * Ping, MOTD, and informational messages management.
- * Channel and nick management.
- * Users on channels tracking.
- * CTCP and all its subcommands.
- * Special CTCP TCL protocol for communication between IRKs. All Tcl code
- received from remote IRKs is run in a safe interpreter.
- * Generalized persistent authorization and password management mechanism.
- * Two usage examples:
- + tontalou.tcl: a "bot" modelled after SmallSaints on DalNet. This
- bot is unfinished.
- + fortunebot.tcl: a "bot" that demonstrates grabbing a page from
- the web and presenting its information in IRC.
- Unfortunately no documentation is provided for these bots but they do
- provide excellent examples on how you can use IRK to write Tcl "bots".
+IRK 0.01, 02/07/2002
+ This is the first release of IRK.
+
+ What's implemented:
+
+ * Connection management.
+ * Integrated support for SOCKS5 to get through firewalls.
+ * Rudimentary flow control and queueing. Needs more work.
+ * Ping, MOTD, and informational messages management.
+ * Channel and nick management.
+ * Users on channels tracking.
+ * CTCP and all its subcommands.
+ * Special CTCP TCL protocol for communication between IRKs. All Tcl code
+ received from remote IRKs is run in a safe interpreter.
+ * Generalized persistent authorization and password management mechanism.
+ * Two usage examples:
+ + tontalou.tcl: a "bot" modelled after SmallSaints on DalNet. This
+ bot is unfinished.
+ + fortunebot.tcl: a "bot" that demonstrates grabbing a page from
+ the web and presenting its information in IRC.
+ Unfortunately no documentation is provided for these bots but they do
+ provide excellent examples on how you can use IRK to write Tcl "bots".
Property changes on: code/trunk/data/tcl/irk/docs/changes.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/docs/todo.txt
===================================================================
--- code/trunk/data/tcl/irk/docs/todo.txt 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/docs/todo.txt 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,10 +1,10 @@
-TODO LIST FOR IRK
-=================
-
-* Implement DCC.
-* Implement object based command structure.
-* Implement event bindings modelled after the Tk Text widget.
-* Improve flow control.
-* Implement the last remaining RFC1439 protocol elements.
-* Implement proxy IRK commands for CTCP TCL safe interpreters.
-* Implement /mode commands.
+TODO LIST FOR IRK
+=================
+
+* Implement DCC.
+* Implement object based command structure.
+* Implement event bindings modelled after the Tk Text widget.
+* Improve flow control.
+* Implement the last remaining RFC1439 protocol elements.
+* Implement proxy IRK commands for CTCP TCL safe interpreters.
+* Implement /mode commands.
Property changes on: code/trunk/data/tcl/irk/docs/todo.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/docs/usage.txt
===================================================================
--- code/trunk/data/tcl/irk/docs/usage.txt 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/docs/usage.txt 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,59 +1,59 @@
-A VERY ABBREVIATED INTRO TO IRK
-===============================
-
-All IRK commands are found within the ::irk namespace.
-
-To open a connection with an IRC server, use:
-
- set conn [irk::connect twisted panda1]
-
-This opens a connection to the server named 'twisted' (This is
-actually the server twisted.ma.us.dal.net) with the nickname
-'panda1'. It also saves the connection token in the variable 'conn'
-for later use.
-
-If you're behind a SOCKS5 firewall, you can configure IRK to use a
-SOCKS5 proxy:
-
- irk::config -sockproxy <proxyhost> -sockport <port>
-
-Do this before attempting to open connections to servers outside the
-firewall. After this step all communication with remote IRC servers
-goes through the SOCKS5 proxy. At present it is not possible to have
-connections simultaneously to IRC servers inside and outside the firewall.
-
-You can open any number of connections to different servers at the
-same time, limited only by the resources available on the host
-machine. Most IRC servers disallow opening two or more connections
-from the same user to a single server.
-
-Next, to join a channel, type:
-
- irk::join $conn #mycoolchannel
-
-You can join any number of channels (no limits except those imposed by
-the server).
-
-To talk to a channel, do:
-
- irk::say $conn #mycoolchannel {Wow, I'm on IRC!}
-
-The message "Wow, I'm on IRC!" (without the quotes) is sent to the
-channel #mycoolchannel.
-
-You can also send a private message to a specific nickname, via:
-
- irk::say $conn somenick {Hey, I'm talking to you}
-
-To leave a channel use irk::leave. To close a connection with a server
-use irk::close. Read lib/irkcommand.tcl for all the commands
-provided. Full documentation will be provided eventually.
-
-The above API is likely to be subsumed by a more OO API that will look
-something like this:
-
- set conn [irk::connect twisted panda1]
- set mychan [$conn join #mycoolchannel]
- $mychan say {Wow, I'm on IRC!}
- set somenick [$conn user somenick]
- $somenick say {Hey, I'm taling to you}
+A VERY ABBREVIATED INTRO TO IRK
+===============================
+
+All IRK commands are found within the ::irk namespace.
+
+To open a connection with an IRC server, use:
+
+ set conn [irk::connect twisted panda1]
+
+This opens a connection to the server named 'twisted' (This is
+actually the server twisted.ma.us.dal.net) with the nickname
+'panda1'. It also saves the connection token in the variable 'conn'
+for later use.
+
+If you're behind a SOCKS5 firewall, you can configure IRK to use a
+SOCKS5 proxy:
+
+ irk::config -sockproxy <proxyhost> -sockport <port>
+
+Do this before attempting to open connections to servers outside the
+firewall. After this step all communication with remote IRC servers
+goes through the SOCKS5 proxy. At present it is not possible to have
+connections simultaneously to IRC servers inside and outside the firewall.
+
+You can open any number of connections to different servers at the
+same time, limited only by the resources available on the host
+machine. Most IRC servers disallow opening two or more connections
+from the same user to a single server.
+
+Next, to join a channel, type:
+
+ irk::join $conn #mycoolchannel
+
+You can join any number of channels (no limits except those imposed by
+the server).
+
+To talk to a channel, do:
+
+ irk::say $conn #mycoolchannel {Wow, I'm on IRC!}
+
+The message "Wow, I'm on IRC!" (without the quotes) is sent to the
+channel #mycoolchannel.
+
+You can also send a private message to a specific nickname, via:
+
+ irk::say $conn somenick {Hey, I'm talking to you}
+
+To leave a channel use irk::leave. To close a connection with a server
+use irk::close. Read lib/irkcommand.tcl for all the commands
+provided. Full documentation will be provided eventually.
+
+The above API is likely to be subsumed by a more OO API that will look
+something like this:
+
+ set conn [irk::connect twisted panda1]
+ set mychan [$conn join #mycoolchannel]
+ $mychan say {Wow, I'm on IRC!}
+ set somenick [$conn user somenick]
+ $somenick say {Hey, I'm taling to you}
Property changes on: code/trunk/data/tcl/irk/docs/usage.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/examples/fortunebot.tcl
===================================================================
--- code/trunk/data/tcl/irk/examples/fortunebot.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/examples/fortunebot.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,151 +1,151 @@
-# fortunebot.tcl --
-#
-# Demo bot using the irc TCL client library. This is a VERY simple bot that
-# demonstrates some simple uses of the irc TCL library.
-#
-# The bot sits on any number of channels and networks. It periodically grabs
-# a fortune from a web site and sends the fortune with appropriate delays
-# between each line to all channels on all networks it is on.
-
-# Example use in Tcl:
-#
-# % source fortunebot.tcl
-# % set token [irc::connect ....]
-# % fortune::join $token #mychannel
-# % fortune::start 120
-#
-# What this does:
-# * Loads the bot, which in turn will load the IRC library and HTTP.
-# * Connect to IRC
-# * Send the bot to join #mychannel
-# * Start the bot, with 120 seconds delay. Now it'll do its actions every
-# 120 seconds.
-#
-# To stop the bot:
-#
-# % fortune::stop
-#
-# Make him leave a channel:
-#
-# % fortune::leave $token #mychannel
-
-package require irk
-package require http
-
-namespace eval fortune {
- variable state
-
- array set state {
- linedelay 2000
- fortuneurl http://www.earth.com/fortune
- }
-}
-
-# Bot control:
-
-proc ::fortune::start {{delay 60}} {
- variable state
-
- # Compute the delay in milliseconds:
-
- set state(delay) [expr $delay * 1000]
-
- # Schedule the bot to run each $delay milliseconds:
-
- set state(after) [after $state(delay) [list ::fortune::doquote]]
-}
-
-proc ::fortune::stop {} {
- variable state
-
- # Stop the bot if its running:
-
- if {[info exists state(after)]} {
- after cancel $state(after)
- unset state(after)
- }
-}
-
-
-# This is the actual body of the bot:
-#
-# Grab a quote from a web page and post it to all channels we're on:
-
-proc ::fortune::doquote {} {
- variable state
-
- # Grab the quote. The command callback does all the work:
-
- http::geturl $state(fortuneurl) -command ::fortune::httpdone
-
- # Finally reschedule ourselves, after events are one-shots
-
- set state(after) [after $state(delay) [list ::fortune::doquote]]
-}
-
-proc ::fortune::httpdone {http} {
- variable state
- upvar #0 $http response
-
- # Scrape the fortune off of the page:
-
- set fortune [grabfortune $response(body)]
-
- # Discard the HTTP array:
-
- unset response
-
- # Check if the quote is too long. If it is then punt.
-
- if {[llength $fortune] > 3} {
- return
- }
-
- # Say this quote on all channels on all connections we're on:
-
- foreach conn [irk::connections] {
- tell $fortune $conn
- }
-}
-
-# This procedure scrapes the quote off of an HTML page:
-
-proc ::fortune::grabfortune {body} {
- set body [split $body "\n"]
- set beg [lsearch $body <PRE>]
- set end [lsearch $body </PRE>]
- return [lrange $body [expr $beg+1] [expr $end-1]]
-}
-
-# This procedure sends the quote to all channels we want the bot to be on:
-
-proc ::fortune::tell {fort conn} {
- variable state
-
- # Send the fortune to each channel we're on:
-
- foreach chan [irk::onchannels $conn] {
- tellchan $fort $conn $chan
- }
-}
-
-# Asynchronously send lines to the channel:
-
-proc ::fortune::tellchan {fort conn channel} {
- variable state
-
- # Check if we are still on the channel:
-
- if {![irk::onchannel $conn $channel]} {
- return
- }
-
- # OK we're still on this channel, so say the current line and schedule
- # the next line for later:
-
- if {[llength $fort] > 0} {
- irk::say $conn $channel [lindex $fort 0]
- after $state(linedelay) \
- [list ::fortune::tellchan [lrange $fort 1 end] $conn $channel]
- }
-}
+# fortunebot.tcl --
+#
+# Demo bot using the irc TCL client library. This is a VERY simple bot that
+# demonstrates some simple uses of the irc TCL library.
+#
+# The bot sits on any number of channels and networks. It periodically grabs
+# a fortune from a web site and sends the fortune with appropriate delays
+# between each line to all channels on all networks it is on.
+
+# Example use in Tcl:
+#
+# % source fortunebot.tcl
+# % set token [irc::connect ....]
+# % fortune::join $token #mychannel
+# % fortune::start 120
+#
+# What this does:
+# * Loads the bot, which in turn will load the IRC library and HTTP.
+# * Connect to IRC
+# * Send the bot to join #mychannel
+# * Start the bot, with 120 seconds delay. Now it'll do its actions every
+# 120 seconds.
+#
+# To stop the bot:
+#
+# % fortune::stop
+#
+# Make him leave a channel:
+#
+# % fortune::leave $token #mychannel
+
+package require irk
+package require http
+
+namespace eval fortune {
+ variable state
+
+ array set state {
+ linedelay 2000
+ fortuneurl http://www.earth.com/fortune
+ }
+}
+
+# Bot control:
+
+proc ::fortune::start {{delay 60}} {
+ variable state
+
+ # Compute the delay in milliseconds:
+
+ set state(delay) [expr $delay * 1000]
+
+ # Schedule the bot to run each $delay milliseconds:
+
+ set state(after) [after $state(delay) [list ::fortune::doquote]]
+}
+
+proc ::fortune::stop {} {
+ variable state
+
+ # Stop the bot if its running:
+
+ if {[info exists state(after)]} {
+ after cancel $state(after)
+ unset state(after)
+ }
+}
+
+
+# This is the actual body of the bot:
+#
+# Grab a quote from a web page and post it to all channels we're on:
+
+proc ::fortune::doquote {} {
+ variable state
+
+ # Grab the quote. The command callback does all the work:
+
+ http::geturl $state(fortuneurl) -command ::fortune::httpdone
+
+ # Finally reschedule ourselves, after events are one-shots
+
+ set state(after) [after $state(delay) [list ::fortune::doquote]]
+}
+
+proc ::fortune::httpdone {http} {
+ variable state
+ upvar #0 $http response
+
+ # Scrape the fortune off of the page:
+
+ set fortune [grabfortune $response(body)]
+
+ # Discard the HTTP array:
+
+ unset response
+
+ # Check if the quote is too long. If it is then punt.
+
+ if {[llength $fortune] > 3} {
+ return
+ }
+
+ # Say this quote on all channels on all connections we're on:
+
+ foreach conn [irk::connections] {
+ tell $fortune $conn
+ }
+}
+
+# This procedure scrapes the quote off of an HTML page:
+
+proc ::fortune::grabfortune {body} {
+ set body [split $body "\n"]
+ set beg [lsearch $body <PRE>]
+ set end [lsearch $body </PRE>]
+ return [lrange $body [expr $beg+1] [expr $end-1]]
+}
+
+# This procedure sends the quote to all channels we want the bot to be on:
+
+proc ::fortune::tell {fort conn} {
+ variable state
+
+ # Send the fortune to each channel we're on:
+
+ foreach chan [irk::onchannels $conn] {
+ tellchan $fort $conn $chan
+ }
+}
+
+# Asynchronously send lines to the channel:
+
+proc ::fortune::tellchan {fort conn channel} {
+ variable state
+
+ # Check if we are still on the channel:
+
+ if {![irk::onchannel $conn $channel]} {
+ return
+ }
+
+ # OK we're still on this channel, so say the current line and schedule
+ # the next line for later:
+
+ if {[llength $fort] > 0} {
+ irk::say $conn $channel [lindex $fort 0]
+ after $state(linedelay) \
+ [list ::fortune::tellchan [lrange $fort 1 end] $conn $channel]
+ }
+}
Property changes on: code/trunk/data/tcl/irk/examples/fortunebot.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/examples/mysaint.tcl
===================================================================
--- code/trunk/data/tcl/irk/examples/mysaint.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/examples/mysaint.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,277 +1,277 @@
-# mysaint.tcl
-#
-# I got the inspiration to write this bot from the SmallSaints
-# bot on DalNet and the request of some Malay friends to create a clone.
-#
-# The bot sits on a channel and simply counts words that each user says.
-
-package require irk
-
-namespace eval ::mysaint {
-
- variable state
-
- set state(thisdir) [file dir [info script]]
- set state(words,save) [file join $state(thisdir) savedwords.dat]
- set state(save,interval) 30000
-
- # For each identified user, there are several entries in the state array:
- #
- # state($user,words) How many words they have total.
- # state($user,session) How many words they said this time.
- # state($user,password) What's their password
- # state($user,ident) What's their ident
- #
- # We also keep a mapping from nicknames to users:
- #
- # state($nick,user) What's the user mask associated with this
- # nick name
-
- proc initialize {} {
- variable state
- variable thisdir
-
- # Set up a timer to save words:
-
- set state(saver) [after $state(save,interval) ::mysaint::save]
-
- # See if we have a saved words file. If so, read it in.
-
- if {[file exists $state(words,save)]} {
- uplevel #0 source $state(words,save)
- }
- }
-
- proc userSays {token nick user comm dest rest} {
- if {[string match "!*" [lindex $rest 0]]} {
- userSaysCommand $token $dest $nick $user \
- [lindex $rest 0] [lrange $rest 1 end]
- } else {
- userSaysWords $nick $user [llength $rest]
- }
- }
-
- proc userSaysWords {nick user n} {
- variable state
-
- set seconds [clock seconds]
- if {![info exists state($user,session,time)]} {
- set state($user,session,time) [clock seconds]
- }
- set state($user,time) $seconds
-
- if {![info exists state($user,session)]} {
- set state($user,session) $n
- } else {
- incr state($user,session) $n
- }
- if {![info exists state($user,words)]} {
- set state($user,words) $n
- } else {
- incr state($user,words) $n
- }
-
- set state($nick,user) $user
- }
-
- proc userSaysCommand {token dest nick user cmd rest} {
- variable state
-
- # Determine destination of any reply we're going to send:
-
- if {![string compare $dest $state(nick)]} {
- set dest $nick
- }
-
- switch -exact $cmd {
- "!help" {userAsksHelp $token $nick}
- "!time" {userAsksTime $token $nick $user $rest $dest}
- "!heard" {userAsksHeard $token $nick $user $rest $dest}
- "!words" {userAsksWords $token $nick $user $rest $dest}
- "!donate" {userDonates $token $nick $user $rest $dest}
- "!pass" {::irk::pass $token mysaint $nick $user $rest}
- "!ident" {::irk::id $token mysaint $nick $user $rest}
- "!newpass" {::irk::np $token mysaint $nick $user $rest}
- }
- }
-
- proc userAsksHelp {token nick} {
- ::irk::say $token $nick \
- [list Hello $nick, the following commands are supported: ]
- ::irk::say $token $nick "!help ---- prints this message"
- ::irk::say $token $nick "!words --- how many words you have"
- ::irk::say $token $nick "!donate -- to donate words to someone"
- after 2000 [list ::irk::say $token $nick \
- "!heard --- when did some speak last time"]
- after 2500 [list ::irk::say $token $nick \
- "!time ---- when someone connected"]
- after 5000 [list ::irk::say $token $nick \
- "Note: To donate you have to have a password"]
- after 7500 [list ::irk::say $token $nick \
- "Note: You can get a password with !pass"]
- }
-
- proc userAsksWords {token nick user rest dest} {
- variable state
-
- set target [lindex $rest 0]
- if {[string compare $target ""]} {
- if {[catch {set user $state($target,user)}]} {
- set who "The unknown user $target"
- set target "The unknown user $target"
- } else {
- set who $user
- }
- } else {
- set who ""
- }
- if {[string compare $who ""]} {
- if {[catch {set words $state($who,words)}]} {
- set words 0
- }
- if {[catch {set session $state($who,session)}]} {
- set session 0
- }
- set reply \
- "$nick, $target has $session words now, total $words words"
- } else {
- if {[catch {set words $state($user,words)}]} {
- set words 0
- }
- if {[catch {set session $state($user,session)}]} {
- set session 0
- }
- set reply \
- "$nick, you have $session words now, $words total words"
- }
- ::irk::say $token $dest $reply
- }
-
- proc userAsksHeard {token nick user rest dest} {
- variable state
-
- set target [lindex $rest 0]
- if {[string compare $target ""]} {
- if {[catch {set user $state($target,user)}]} {
- set answer "I haven't heard $target speak recently."
- } else {
- set time $state($user,time)
- set time [clock format $time]
- set answer "I heard $target speak last at $time"
- }
- } else {
- set answer "I'm talking to you just now, $nick"
- }
-
- ::irk::say $token $dest $answer
- }
-
- proc userAsksTime {token nick user rest dest} {
- variable state
-
- set target [lindex $rest 0]
- if {[string compare $target ""]} {
- if {[catch {set user $state($target,user)}]} {
- set answer "I don't know when $target connected"
- } else {
- if {[catch {set time $state($user,session,time)}]} {
- set answer "I don't know when $target connected"
- } else {
- set time [clock format $time]
- set answer \
- "I first noticed $target at $time"
- }
- }
- } else {
- if {[catch {set user $state($nick,user)}]} {
- set answer "$nick, I don't know when you connected"
- } else {
- if {[catch {set time $state($user,session,time)}]} {
- set answer "$nick, I don't know when you connected"
- } else {
- set time [clock format $time]
- set answer \
- "$nick, I first noticed you at $time"
- }
- }
- }
-
- ::irk::say $token $dest $answer
- }
-
- # Start the bot:
-
- proc start {token} {
- variable state
-
- set state($token,token) $token
-
- set symsrv $::irk::state($token,symsrv)
- set state(nick) $::irk::state(-$symsrv,nick)
- set nick $state(nick)
-
- foreach chan [::irk::onchannels $token] {
- ::irk::setaction2 $token PRIVMSG $chan ::mysaint::userSays
- }
- ::irk::setaction2 $token PRIVMSG $nick ::mysaint::userSays
-
- # Set up a timer to save the words info.
-
- if {![info exists state(saver)]} {
- initialize
- }
-
- return ""
- }
-
- # Stop the bot:
-
- proc stop {} {
- variable state
-
- foreach conn [array names state *,token] {
- stopcon $state($conn)
- }
-
- after cancel $state(saver)
- catch {unset state(saver)}
-
- return ""
- }
- proc stopcon {token} {
- variable state
-
- if {[catch {set symsrv $::irk::state($token,symsrv)}]} {
- return
- }
- set nick $state(nick)
-
- foreach chan [::irk::onchannels $token] {
- ::irk::remaction2 $token PRIVMSG $chan ::mysaint::userSays
- }
- ::irk::remaction2 $token PRIVMSG $nick ::mysaint::userSays
-
- return ""
- }
-
- # Save words to a disk file:
-
- proc save {} {
- variable state
-
- puts "Saving words in $state(words,save)"
-
- # First of all reschedule ourselves:
-
- set state(saver) [after $state(save,interval) ::mysaint::save]
-
- # Save the words:
-
- set pt "*,words"
- if {![catch {set fd [open $state(words,save) w]}]} {
- puts $fd "array set ::mysaint::state [list [array get state $pt]]"
-
- catch {close $fd}
- }
- }
-}
+# mysaint.tcl
+#
+# I got the inspiration to write this bot from the SmallSaints
+# bot on DalNet and the request of some Malay friends to create a clone.
+#
+# The bot sits on a channel and simply counts words that each user says.
+
+package require irk
+
+namespace eval ::mysaint {
+
+ variable state
+
+ set state(thisdir) [file dir [info script]]
+ set state(words,save) [file join $state(thisdir) savedwords.dat]
+ set state(save,interval) 30000
+
+ # For each identified user, there are several entries in the state array:
+ #
+ # state($user,words) How many words they have total.
+ # state($user,session) How many words they said this time.
+ # state($user,password) What's their password
+ # state($user,ident) What's their ident
+ #
+ # We also keep a mapping from nicknames to users:
+ #
+ # state($nick,user) What's the user mask associated with this
+ # nick name
+
+ proc initialize {} {
+ variable state
+ variable thisdir
+
+ # Set up a timer to save words:
+
+ set state(saver) [after $state(save,interval) ::mysaint::save]
+
+ # See if we have a saved words file. If so, read it in.
+
+ if {[file exists $state(words,save)]} {
+ uplevel #0 source $state(words,save)
+ }
+ }
+
+ proc userSays {token nick user comm dest rest} {
+ if {[string match "!*" [lindex $rest 0]]} {
+ userSaysCommand $token $dest $nick $user \
+ [lindex $rest 0] [lrange $rest 1 end]
+ } else {
+ userSaysWords $nick $user [llength $rest]
+ }
+ }
+
+ proc userSaysWords {nick user n} {
+ variable state
+
+ set seconds [clock seconds]
+ if {![info exists state($user,session,time)]} {
+ set state($user,session,time) [clock seconds]
+ }
+ set state($user,time) $seconds
+
+ if {![info exists state($user,session)]} {
+ set state($user,session) $n
+ } else {
+ incr state($user,session) $n
+ }
+ if {![info exists state($user,words)]} {
+ set state($user,words) $n
+ } else {
+ incr state($user,words) $n
+ }
+
+ set state($nick,user) $user
+ }
+
+ proc userSaysCommand {token dest nick user cmd rest} {
+ variable state
+
+ # Determine destination of any reply we're going to send:
+
+ if {![string compare $dest $state(nick)]} {
+ set dest $nick
+ }
+
+ switch -exact $cmd {
+ "!help" {userAsksHelp $token $nick}
+ "!time" {userAsksTime $token $nick $user $rest $dest}
+ "!heard" {userAsksHeard $token $nick $user $rest $dest}
+ "!words" {userAsksWords $token $nick $user $rest $dest}
+ "!donate" {userDonates $token $nick $user $rest $dest}
+ "!pass" {::irk::pass $token mysaint $nick $user $rest}
+ "!ident" {::irk::id $token mysaint $nick $user $rest}
+ "!newpass" {::irk::np $token mysaint $nick $user $rest}
+ }
+ }
+
+ proc userAsksHelp {token nick} {
+ ::irk::say $token $nick \
+ [list Hello $nick, the following commands are supported: ]
+ ::irk::say $token $nick "!help ---- prints this message"
+ ::irk::say $token $nick "!words --- how many words you have"
+ ::irk::say $token $nick "!donate -- to donate words to someone"
+ after 2000 [list ::irk::say $token $nick \
+ "!heard --- when did some speak last time"]
+ after 2500 [list ::irk::say $token $nick \
+ "!time ---- when someone connected"]
+ after 5000 [list ::irk::say $token $nick \
+ "Note: To donate you have to have a password"]
+ after 7500 [list ::irk::say $token $nick \
+ "Note: You can get a password with !pass"]
+ }
+
+ proc userAsksWords {token nick user rest dest} {
+ variable state
+
+ set target [lindex $rest 0]
+ if {[string compare $target ""]} {
+ if {[catch {set user $state($target,user)}]} {
+ set who "The unknown user $target"
+ set target "The unknown user $target"
+ } else {
+ set who $user
+ }
+ } else {
+ set who ""
+ }
+ if {[string compare $who ""]} {
+ if {[catch {set words $state($who,words)}]} {
+ set words 0
+ }
+ if {[catch {set session $state($who,session)}]} {
+ set session 0
+ }
+ set reply \
+ "$nick, $target has $session words now, total $words words"
+ } else {
+ if {[catch {set words $state($user,words)}]} {
+ set words 0
+ }
+ if {[catch {set session $state($user,session)}]} {
+ set session 0
+ }
+ set reply \
+ "$nick, you have $session words now, $words total words"
+ }
+ ::irk::say $token $dest $reply
+ }
+
+ proc userAsksHeard {token nick user rest dest} {
+ variable state
+
+ set target [lindex $rest 0]
+ if {[string compare $target ""]} {
+ if {[catch {set user $state($target,user)}]} {
+ set answer "I haven't heard $target speak recently."
+ } else {
+ set time $state($user,time)
+ set time [clock format $time]
+ set answer "I heard $target speak last at $time"
+ }
+ } else {
+ set answer "I'm talking to you just now, $nick"
+ }
+
+ ::irk::say $token $dest $answer
+ }
+
+ proc userAsksTime {token nick user rest dest} {
+ variable state
+
+ set target [lindex $rest 0]
+ if {[string compare $target ""]} {
+ if {[catch {set user $state($target,user)}]} {
+ set answer "I don't know when $target connected"
+ } else {
+ if {[catch {set time $state($user,session,time)}]} {
+ set answer "I don't know when $target connected"
+ } else {
+ set time [clock format $time]
+ set answer \
+ "I first noticed $target at $time"
+ }
+ }
+ } else {
+ if {[catch {set user $state($nick,user)}]} {
+ set answer "$nick, I don't know when you connected"
+ } else {
+ if {[catch {set time $state($user,session,time)}]} {
+ set answer "$nick, I don't know when you connected"
+ } else {
+ set time [clock format $time]
+ set answer \
+ "$nick, I first noticed you at $time"
+ }
+ }
+ }
+
+ ::irk::say $token $dest $answer
+ }
+
+ # Start the bot:
+
+ proc start {token} {
+ variable state
+
+ set state($token,token) $token
+
+ set symsrv $::irk::state($token,symsrv)
+ set state(nick) $::irk::state(-$symsrv,nick)
+ set nick $state(nick)
+
+ foreach chan [::irk::onchannels $token] {
+ ::irk::setaction2 $token PRIVMSG $chan ::mysaint::userSays
+ }
+ ::irk::setaction2 $token PRIVMSG $nick ::mysaint::userSays
+
+ # Set up a timer to save the words info.
+
+ if {![info exists state(saver)]} {
+ initialize
+ }
+
+ return ""
+ }
+
+ # Stop the bot:
+
+ proc stop {} {
+ variable state
+
+ foreach conn [array names state *,token] {
+ stopcon $state($conn)
+ }
+
+ after cancel $state(saver)
+ catch {unset state(saver)}
+
+ return ""
+ }
+ proc stopcon {token} {
+ variable state
+
+ if {[catch {set symsrv $::irk::state($token,symsrv)}]} {
+ return
+ }
+ set nick $state(nick)
+
+ foreach chan [::irk::onchannels $token] {
+ ::irk::remaction2 $token PRIVMSG $chan ::mysaint::userSays
+ }
+ ::irk::remaction2 $token PRIVMSG $nick ::mysaint::userSays
+
+ return ""
+ }
+
+ # Save words to a disk file:
+
+ proc save {} {
+ variable state
+
+ puts "Saving words in $state(words,save)"
+
+ # First of all reschedule ourselves:
+
+ set state(saver) [after $state(save,interval) ::mysaint::save]
+
+ # Save the words:
+
+ set pt "*,words"
+ if {![catch {set fd [open $state(words,save) w]}]} {
+ puts $fd "array set ::mysaint::state [list [array get state $pt]]"
+
+ catch {close $fd}
+ }
+ }
+}
Property changes on: code/trunk/data/tcl/irk/examples/mysaint.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/irk.tcl
===================================================================
--- code/trunk/data/tcl/irk/irk.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/irk.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,24 +1,24 @@
-# IRK: A client library for IRC programming written in Tcl.
-
-# We need the socks package to get through firewalls:
-
-package require socks
-
-# We provide the IRK package:
-
-package provide irk 0.1
-
-set thisdir [file dir [info script]]
-
-# Source the rest of the package:
-
-source [file join $thisdir lib irkstate.tcl]
-source [file join $thisdir lib irkconnect.tcl]
-source [file join $thisdir lib irkdispatch.tcl]
-source [file join $thisdir lib irkreceive.tcl]
-source [file join $thisdir lib irkcommand.tcl]
-source [file join $thisdir lib irkflow.tcl]
-source [file join $thisdir lib irkutil.tcl]
-source [file join $thisdir lib irkctcptcl.tcl]
-source [file join $thisdir lib irkauth.tcl]
-source [file join $thisdir lib irkservers.tcl]
+# IRK: A client library for IRC programming written in Tcl.
+
+# We need the socks package to get through firewalls:
+
+package require socks
+
+# We provide the IRK package:
+
+package provide irk 0.1
+
+set thisdir [file dir [info script]]
+
+# Source the rest of the package:
+
+source [file join $thisdir lib irkstate.tcl]
+source [file join $thisdir lib irkconnect.tcl]
+source [file join $thisdir lib irkdispatch.tcl]
+source [file join $thisdir lib irkreceive.tcl]
+source [file join $thisdir lib irkcommand.tcl]
+source [file join $thisdir lib irkflow.tcl]
+source [file join $thisdir lib irkutil.tcl]
+source [file join $thisdir lib irkctcptcl.tcl]
+source [file join $thisdir lib irkauth.tcl]
+source [file join $thisdir lib irkservers.tcl]
Property changes on: code/trunk/data/tcl/irk/irk.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkauth.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkauth.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkauth.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,303 +1,303 @@
-# irkauth.tcl:
-#
-# Various procedures that deal with user authentication:
-
-namespace eval ::irk {
-
- # The AUTH module keeps information about each user and facility ($fac)
- # in the state array:
- #
- # auth(auth,$fac,$user) If set, then $user has authenticated
- # successfully for the facility $fac.
- # auth(user,$fac,$user,pass) The password for this $user and $fac.
- # auth(user,$fac,$user,ident) The ident token for this $user & $fac.
- #
- # auth(ident,$fac,$ident,pass) The password for this $ident and $fac.
- # auth(ident,$fac,$ident,user) The user for this $ident and $fac.
- #
- # auth(identcounter,$fac) The ident token counter for $fac. This
- # is incremented each time a new user
- # establishes themselves with $fac.
-
- # This procedure can be called by programs using the IRK library
- # when a user sends a password.
-
- proc pass {token fac nick user rest} {
- variable auth
-
- if {[llength $rest] != 1} {
- # Incorrect syntax:
-
- set reply "$nick, syntax is !pass <yourpass> (one word, no spaces)"
- } elseif {[info exists auth(user,$fac,$user,pass)]} {
-
- # If this user has already established a password,
- # check that they're giving the right password.
-
- if {[string compare $auth(user,$fac,$user,pass) \
- [lindex $rest 0]]} {
- set reply "$nick, sorry, wrong password!"
- } else {
- set reply "$nick, thanks for entering your password!"
- set auth(auth,$fac,$user) 1
- }
- } else {
-
- # This is the first time we're seeing this user. Accept
- # their password and send them an ident token. They can
- # use the ident token to reestablish themselves when their
- # user mask changes significantly.
-
- if {![info exists auth(identcounter,$fac)]} {
- set auth(identcounter,$fac) 0
- }
- set ident $auth(identcounter,$fac)
- incr auth(identcounter,$fac)
-
- set auth(ident,$fac,$ident,user) $user
- set auth(ident,$fac,$ident,pass) [lindex $rest 0]
-
- set auth(user,$fac,$user,ident) $ident
- set auth(user,$fac,$user,pass) [lindex $rest 0]
-
- # Save the changes
-
- saveauth
-
- # Save them a step and also authorize them:
-
- set auth(ident,$fac,$user) 1
-
- set reply [list \
- $nick, your password is [lindex $rest 0]. Your ident is \
- $ident, write it down, you will need it later to \
- reidentify yourself if your user mask changes. \
- You user mask is currently $user. You are now authorised \
- to use $fac.]
- }
-
- # Tell them what happened:
-
- ::irk::say $token $nick $reply
-
- return ""
- }
-
- # This procedure can be called by programs when the user attempts to
- # reestablish themselves with the existing ident and password.
-
- proc id {token fac nick user rest} {
- variable auth
-
- set len [llength $rest]
- set reply "Wrong syntax. Call !ident or !ident <ident> <pass>"
-
- if {$len == 0} {
-
- # Calling ident with zero arguments. The user is trying to
- # retrieve their ident. Give it to them only if they did
- # identify successfully with the correct password.
-
- if {![info exists auth(user,$fac,$user,pass)]} {
- set reply "$nick, first set a password"
- } elseif {[info exists auth(auth,$fac,$user)]} {
- set reply \
- "$nick, your ident is $auth(user,$fac,$user,ident)"
- } else {
- set reply \
- "$nick, identify with password before getting your ident!"
- }
- } elseif {$len == 2} {
-
- # Calling ident with two arguments. The user is trying to
- # establish a new value for $user to associate with this
- # ident and password. If $auth($ident,pass) is the password
- # she gave, then they're the rightfull owner of the ident and
- # so we now recognize the new $user mask.
-
- set ident [lindex $rest 0]
- set pass [lindex $rest 1]
-
- if {[info exists auth(ident,$fac,$ident,pass)]} {
- if {![string compare $auth(ident,$fac,$ident,pass) $pass]} {
-
- # Identify the old user mask they were using:
-
- set olduser $auth(ident,$fac,$ident,user)
-
- # Clean up the state associated with the old mask:
-
- array unset auth user,$fac,$olduser,*
- catch {unset auth(ident,$face,$olduser)}
-
- # Link up the new state:
-
- set auth(ident,$fac,$ident,user) $user
-
- set auth(user,$fac,$user,ident) $ident
- set auth(user,$fac,$user,pass) $pass
-
- # Save the changes
-
- saveauth
-
- # Save them a step and also treat them as authenticated:
-
- set auth(ident,$fac,$user) 1
-
- set reply \
- "OK, $nick, I'm now recognising you as $user.\
- You are now authorised to use $fac."
- } else {
- set reply "$nick, sorry, wrong ident or password"
- }
- } else {
- set reply "$nick, sorry, wrong ident or password"
- }
- }
-
- # Tell them what happened:
-
- ::irk::say $token $nick $reply
-
- return ""
- }
-
- # This procedure can be invoked by a program when a user tries to
- # change her password.
-
- proc np {token fac nick user rest} {
- variable auth
-
- set reply "Wrong syntax. Call !newpass <oldpass> <newpass>"
-
- if {[llength $rest] == 2} {
- set opw [lindex $rest 0]
- set npw [lindex $rest 1]
-
- if {![info exists auth(user,$fac,$user,pass)]} {
- # Unknown $user, probably their user mask changed. Help
- # them reestablish the connection.
-
- set reply \
- [list $nick, I don't have you in my database. Perhaps \
- your user mask changed drastically. If so, please \
- reestablish your user mask by using !ident <ident> \
- <oldpass>.]
- } elseif {[string compare $auth(user,$fac,$user,pass) $opw]} {
- # Wrong old password!
-
- set reply "$nick, sorry, wrong old password!"
- } else {
- # Their user mask matches and they gave the correct old
- # password, so we accept their new password:
-
- set ident $auth(user,$fac,$user,ident)
-
- set auth(ident,$fac,$ident,pass) $npw
- set auth(user,$fac,$user,pass) $npw
-
- # Save the changes:
-
- saveauth
-
- # Save them a step by also recording that they
- # authenticated:
-
- set auth(auth,$fac,$user) 1
-
- set reply "OK, $nick, your new password is now $npw"
- }
- }
-
- # Tell them what happened:
-
- ::irk::say $token $nick $reply
-
- return ""
- }
-
- # This procedure can be called by programs when the user wants to
- # "log out" or lose her authentication with a given facility:
-
- proc logout {token fac nick user rest} {
- variable auth
-
- set reply "You were not logged into $fac. Now you certainly aren't."
-
- if {[info exists auth(auth,$fac,$user)]} {
- unset auth(auth,$fac,$user)
-
- set reply \
- [list $nick, you logged out successfully from $fac. Thank you \
- for using $fac.]
- }
-
- # Tell them what happened:
-
- ::irk::say $token $nick $reply
-
- return ""
- }
-
- # Is the user authenticated with the given facility?
-
- proc userauthenticated {fac user} {
- variable auth
-
- # If auth(auth,$fac,$user) exists, then she is authenticated.
-
- if {[info exists auth(auth,$fac,$user)]} {
- return 1
- }
- return 0
- }
-
- # This procedure automatically saves the authorization database:
-
- proc saveauth {} {
- variable state
- variable auth
-
- puts "Saving!"
-
- # Define the patterns to save:
-
- set p1 "identcounter,*"
- set p2 "user,*"
- set p3 "ident,*"
-
- # Try to open the save file:
-
- if {[info exists state(auth,save,file)]} {
- if {![catch {set fd [open $state(auth,save,file) w]}]} {
- puts $fd "array set ::irk::auth [list [array get auth $p1]]"
- puts $fd "array set ::irk::auth [list [array get auth $p2]]"
- puts $fd "array set ::irk::auth [list [array get auth $p3]]"
-
- catch {close $fd}
- }
- }
- }
-
- # This procedure restores the authorization database:
-
- proc restoreauth {} {
- variable state
-
- if {[info exists state(auth,save,file)]} {
- catch {uplevel #0 source $state(auth,save,file)}
- }
- set state(auth,restored) 1
- }
-
- # If this is the first time we're loading the IRK package, then
- # restore the authorization database. Otherwise we'd be overwriting
- # a potentially unsaved state.
-
- variable state
-
- if {![info exists state(auth,restored)]} {
- restoreauth
- }
-}
+# irkauth.tcl:
+#
+# Various procedures that deal with user authentication:
+
+namespace eval ::irk {
+
+ # The AUTH module keeps information about each user and facility ($fac)
+ # in the state array:
+ #
+ # auth(auth,$fac,$user) If set, then $user has authenticated
+ # successfully for the facility $fac.
+ # auth(user,$fac,$user,pass) The password for this $user and $fac.
+ # auth(user,$fac,$user,ident) The ident token for this $user & $fac.
+ #
+ # auth(ident,$fac,$ident,pass) The password for this $ident and $fac.
+ # auth(ident,$fac,$ident,user) The user for this $ident and $fac.
+ #
+ # auth(identcounter,$fac) The ident token counter for $fac. This
+ # is incremented each time a new user
+ # establishes themselves with $fac.
+
+ # This procedure can be called by programs using the IRK library
+ # when a user sends a password.
+
+ proc pass {token fac nick user rest} {
+ variable auth
+
+ if {[llength $rest] != 1} {
+ # Incorrect syntax:
+
+ set reply "$nick, syntax is !pass <yourpass> (one word, no spaces)"
+ } elseif {[info exists auth(user,$fac,$user,pass)]} {
+
+ # If this user has already established a password,
+ # check that they're giving the right password.
+
+ if {[string compare $auth(user,$fac,$user,pass) \
+ [lindex $rest 0]]} {
+ set reply "$nick, sorry, wrong password!"
+ } else {
+ set reply "$nick, thanks for entering your password!"
+ set auth(auth,$fac,$user) 1
+ }
+ } else {
+
+ # This is the first time we're seeing this user. Accept
+ # their password and send them an ident token. They can
+ # use the ident token to reestablish themselves when their
+ # user mask changes significantly.
+
+ if {![info exists auth(identcounter,$fac)]} {
+ set auth(identcounter,$fac) 0
+ }
+ set ident $auth(identcounter,$fac)
+ incr auth(identcounter,$fac)
+
+ set auth(ident,$fac,$ident,user) $user
+ set auth(ident,$fac,$ident,pass) [lindex $rest 0]
+
+ set auth(user,$fac,$user,ident) $ident
+ set auth(user,$fac,$user,pass) [lindex $rest 0]
+
+ # Save the changes
+
+ saveauth
+
+ # Save them a step and also authorize them:
+
+ set auth(ident,$fac,$user) 1
+
+ set reply [list \
+ $nick, your password is [lindex $rest 0]. Your ident is \
+ $ident, write it down, you will need it later to \
+ reidentify yourself if your user mask changes. \
+ You user mask is currently $user. You are now authorised \
+ to use $fac.]
+ }
+
+ # Tell them what happened:
+
+ ::irk::say $token $nick $reply
+
+ return ""
+ }
+
+ # This procedure can be called by programs when the user attempts to
+ # reestablish themselves with the existing ident and password.
+
+ proc id {token fac nick user rest} {
+ variable auth
+
+ set len [llength $rest]
+ set reply "Wrong syntax. Call !ident or !ident <ident> <pass>"
+
+ if {$len == 0} {
+
+ # Calling ident with zero arguments. The user is trying to
+ # retrieve their ident. Give it to them only if they did
+ # identify successfully with the correct password.
+
+ if {![info exists auth(user,$fac,$user,pass)]} {
+ set reply "$nick, first set a password"
+ } elseif {[info exists auth(auth,$fac,$user)]} {
+ set reply \
+ "$nick, your ident is $auth(user,$fac,$user,ident)"
+ } else {
+ set reply \
+ "$nick, identify with password before getting your ident!"
+ }
+ } elseif {$len == 2} {
+
+ # Calling ident with two arguments. The user is trying to
+ # establish a new value for $user to associate with this
+ # ident and password. If $auth($ident,pass) is the password
+ # she gave, then they're the rightfull owner of the ident and
+ # so we now recognize the new $user mask.
+
+ set ident [lindex $rest 0]
+ set pass [lindex $rest 1]
+
+ if {[info exists auth(ident,$fac,$ident,pass)]} {
+ if {![string compare $auth(ident,$fac,$ident,pass) $pass]} {
+
+ # Identify the old user mask they were using:
+
+ set olduser $auth(ident,$fac,$ident,user)
+
+ # Clean up the state associated with the old mask:
+
+ array unset auth user,$fac,$olduser,*
+ catch {unset auth(ident,$face,$olduser)}
+
+ # Link up the new state:
+
+ set auth(ident,$fac,$ident,user) $user
+
+ set auth(user,$fac,$user,ident) $ident
+ set auth(user,$fac,$user,pass) $pass
+
+ # Save the changes
+
+ saveauth
+
+ # Save them a step and also treat them as authenticated:
+
+ set auth(ident,$fac,$user) 1
+
+ set reply \
+ "OK, $nick, I'm now recognising you as $user.\
+ You are now authorised to use $fac."
+ } else {
+ set reply "$nick, sorry, wrong ident or password"
+ }
+ } else {
+ set reply "$nick, sorry, wrong ident or password"
+ }
+ }
+
+ # Tell them what happened:
+
+ ::irk::say $token $nick $reply
+
+ return ""
+ }
+
+ # This procedure can be invoked by a program when a user tries to
+ # change her password.
+
+ proc np {token fac nick user rest} {
+ variable auth
+
+ set reply "Wrong syntax. Call !newpass <oldpass> <newpass>"
+
+ if {[llength $rest] == 2} {
+ set opw [lindex $rest 0]
+ set npw [lindex $rest 1]
+
+ if {![info exists auth(user,$fac,$user,pass)]} {
+ # Unknown $user, probably their user mask changed. Help
+ # them reestablish the connection.
+
+ set reply \
+ [list $nick, I don't have you in my database. Perhaps \
+ your user mask changed drastically. If so, please \
+ reestablish your user mask by using !ident <ident> \
+ <oldpass>.]
+ } elseif {[string compare $auth(user,$fac,$user,pass) $opw]} {
+ # Wrong old password!
+
+ set reply "$nick, sorry, wrong old password!"
+ } else {
+ # Their user mask matches and they gave the correct old
+ # password, so we accept their new password:
+
+ set ident $auth(user,$fac,$user,ident)
+
+ set auth(ident,$fac,$ident,pass) $npw
+ set auth(user,$fac,$user,pass) $npw
+
+ # Save the changes:
+
+ saveauth
+
+ # Save them a step by also recording that they
+ # authenticated:
+
+ set auth(auth,$fac,$user) 1
+
+ set reply "OK, $nick, your new password is now $npw"
+ }
+ }
+
+ # Tell them what happened:
+
+ ::irk::say $token $nick $reply
+
+ return ""
+ }
+
+ # This procedure can be called by programs when the user wants to
+ # "log out" or lose her authentication with a given facility:
+
+ proc logout {token fac nick user rest} {
+ variable auth
+
+ set reply "You were not logged into $fac. Now you certainly aren't."
+
+ if {[info exists auth(auth,$fac,$user)]} {
+ unset auth(auth,$fac,$user)
+
+ set reply \
+ [list $nick, you logged out successfully from $fac. Thank you \
+ for using $fac.]
+ }
+
+ # Tell them what happened:
+
+ ::irk::say $token $nick $reply
+
+ return ""
+ }
+
+ # Is the user authenticated with the given facility?
+
+ proc userauthenticated {fac user} {
+ variable auth
+
+ # If auth(auth,$fac,$user) exists, then she is authenticated.
+
+ if {[info exists auth(auth,$fac,$user)]} {
+ return 1
+ }
+ return 0
+ }
+
+ # This procedure automatically saves the authorization database:
+
+ proc saveauth {} {
+ variable state
+ variable auth
+
+ puts "Saving!"
+
+ # Define the patterns to save:
+
+ set p1 "identcounter,*"
+ set p2 "user,*"
+ set p3 "ident,*"
+
+ # Try to open the save file:
+
+ if {[info exists state(auth,save,file)]} {
+ if {![catch {set fd [open $state(auth,save,file) w]}]} {
+ puts $fd "array set ::irk::auth [list [array get auth $p1]]"
+ puts $fd "array set ::irk::auth [list [array get auth $p2]]"
+ puts $fd "array set ::irk::auth [list [array get auth $p3]]"
+
+ catch {close $fd}
+ }
+ }
+ }
+
+ # This procedure restores the authorization database:
+
+ proc restoreauth {} {
+ variable state
+
+ if {[info exists state(auth,save,file)]} {
+ catch {uplevel #0 source $state(auth,save,file)}
+ }
+ set state(auth,restored) 1
+ }
+
+ # If this is the first time we're loading the IRK package, then
+ # restore the authorization database. Otherwise we'd be overwriting
+ # a potentially unsaved state.
+
+ variable state
+
+ if {![info exists state(auth,restored)]} {
+ restoreauth
+ }
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkauth.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkcommand.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkcommand.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkcommand.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,420 +1,420 @@
-# irkcommand.tcl:
-#
-# Various commands that can be invoked by the user of the IRK library:
-
-namespace eval irk {
-
- # Say something to a user or to a channel
-
- proc say {token chan saying} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- if {![string compare "" $saying]} {
- return
- }
- sendit $sock "PRIVMSG $chan :[string trim $saying]"
- }
-
- # Send a NOTICE to a user or a channel
-
- proc notice {token chan args} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- sendit $sock "NOTICE $chan :$args"
- }
-
- # Send a raw command to the server:
-
- proc send {token args} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- puts $sock $args
- }
-
- # Change your NICK
-
- proc nick {token {newnick ""}} {
- variable state
-
- if {![string compare "" $newnick]} {
- return $state($token,nick)
- }
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- puts $sock "NICK $newnick"
- }
-
- # Join a channel
-
- proc join {token chans {keys ""}} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- puts $sock "JOIN $chans $keys"
- }
-
- # Leave a channel
-
- proc leave {token chans {partmsg ""}} {
- variable state
-
- if {![string compare $partmsg ""]} {
- if {[info exists state(partmsg)]} {
- set partmsg $state(partmsg)
- }
- }
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- puts $sock "PART $chans $partmsg"
- }
-
- # Return a list of all connections that are open:
-
- proc connections {} {
- variable state
-
- if {![info exists state(connections)]} {
- return {}
- }
- return $state(connections)
- }
-
- # Return a list of channels we're on in a give connection:
-
- proc onchannels {token} {
- variable state
-
- if {![info exists state($token,channels)]} {
- return {}
- }
- return $state($token,channels)
- }
-
- # Returns 1 if we are on the given channel.
-
- proc onchannel {token channel} {
- variable state
-
- if {![info exists state($token,channels)]} {
- return 0
- }
-
- set idx [lsearch $state($token,channels) $channel]
- if {$idx == -1} {
- return 0
- }
- return 1
- }
-
- # Return a list of users on a given channel (we must be on that channel).
-
- proc whoison {token chan} {
- variable state
-
- if {![info exists state($token,$chan,NAMES)]} {
- return {}
- }
- return $state($token,$chan,NAMES)
- }
-
- # Ping a server
-
- proc ping {token} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- set state($token,PINGSTART) [clock clicks -millis]
- puts $sock "PING $state($token,host)"
- }
-
- # Quit this connection
-
- proc quit {token} {
- disconnect $token
- }
-
- # Query information about someone
-
- proc whois {token nick} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- puts $sock "WHOIS $nick"
- }
-
- # Set an away message
-
- proc away {token args} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- puts $sock "AWAY :$args"
- }
-
- # This procedure lets the client do CTCP actions:
-
- proc ctcp {token target action args} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- sendit $sock "PRIVMSG $target :\001$action $args\001"
- }
-
- # This command implements the TCL CTCP protocol:
-
- proc tcl {token target args} {
- variable state
-
- # Send it to the channel:
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid irc connection"
- }
- sendit $sock "PRIVMSG $target :\001TCL $args\001"
-
- # Apply it locally:
-
- if {[info exists state($token,channel,ctcp,TCL,LOCAL)]} {
- $state($token,channel,ctcp,TCL,LOCAL) \
- $token $state($token,nick) $state($token,user) \
- PRIVMSG $target TCL $args
- }
- }
-
- # These procedures add and remove action handlers:
-
- # These procedures add actions that will be called when the user
- # with the given nick causes the supplied comm(and) to be executed
- # on the given dest(ination). This is the most specific form of action.
-
- proc addaction3 {token nick comm dest cmd} {
- variable state
-
- if {![info exists state($token,$nick,$comm,$dest)]} {
- set state($token,$nick,$comm,$dest) [list $cmd]
- } else {
- lappend state($token,$nick,$comm,$dest) $cmd
- }
- }
-
- proc setaction3 {token nick comm dest cmd} {
- variable state
-
- set state($token,$nick,$comm,$dest) [list $cmd]
- }
-
- # This procedure removes an action set by either of the above two
- # procedures.
-
- proc remaction3 {token nick comm dest cmd} {
- variable state
-
- if {![info exists state($token,$nick,$comm,$dest)]} {
- return
- }
- set cmds $state($token,$nick,$comm,$dest)
- set idx [lsearch $cmds $cmd]
- if {$idx == -1} {
- return
- }
- set state($token,$nick,$comm,$dest) [lreplace $cmds $idx $idx]
- if {![string compare "" $state($token,$nick,$comm,$dest)]} {
- unset state($token,$nick,$comm,$dest)
- }
- }
-
- # These procedures add actions that will be called when the
- # specific comm(and) is caused for the given dest(ination).
-
- proc addaction2 {token comm dest cmd} {
- variable state
-
- if {![info exists state($token,$comm,$dest)]} {
- set state($token,$comm,$dest) [list $cmd]
- } else {
- lappend state($token,$comm,$dest) $cmd
- }
- }
-
- proc setaction2 {token comm dest cmd} {
- variable state
-
- set state($token,$comm,$dest) [list $cmd]
- }
-
- # This procedure removes an action set by either of the above two
- # procedures.
-
- proc remaction2 {token comm dest cmd} {
- variable state
-
- if {![info exists state($token,$comm,$dest)]} {
- return
- }
- set cmds $state($token,$comm,$dest)
- set idx [lsearch $cmds $cmd]
- if {$idx == -1} {
- return
- }
- set state($token,$comm,$dest) [lreplace $cmds $idx $idx]
- if {![string compare "" $state($token,$comm,$dest)]} {
- unset state($token,$comm,$dest)
- }
- }
-
- # These procedures add actions that will be called when the
- # specific comm(and) is caused any dest(ination).
-
- proc addaction1 {token comm cmd} {
- variable state
-
- if {![info exists state($token,$comm)]} {
- set state($token,$comm) [list $cmd]
- } else {
- lappend state($token,$comm) $cmd
- }
- }
-
- proc setaction1 {token comm cmd} {
- variable state
-
- set state($token,$comm) [list $cmd]
- }
-
- # This procedure removes an action set by either of the above two
- # procedures.
-
- proc remaction1 {token comm cmd} {
- variable state
-
- if {![info exists state($token,$comm)]} {
- return
- }
- set cmds $state($token,$comm)
- set idx [lsearch $cmds $cmd]
- if {$idx == -1} {
- return
- }
- set state($token,$comm) [lreplace $cmds $idx $idx]
- if {![string compare "" $state($token,$comm)]} {
- unset state($token,$comm)
- }
- }
-
- # These procedures add global actions that will be called
- # when the specific comm(and) is caused on any dest(ination) and
- # any irc connection. These are the lowest priority commands.
-
- proc addactionglobal {comm cmd} {
- variable state
-
- if {![info exists state(cmd,$comm)]} {
- set state(cmd,$comm) [list $cmd]
- } else {
- lappend state(cmd,$comm) $cmd
- }
- }
-
- proc setactionglobal {comm cmd} {
- variable state
-
- set state(cmd,$comm) [list $cmd]
- }
-
- # This procedure removes an action set by either of the above two
- # procedures.
-
- proc remactionglobal {comm cmd} {
- variable state
-
- if {![info exists state(cmd,$comm)]} {
- return
- }
- set cmds $state(cmd,$comm)
- set idx [lsearch $cmds $cmd]
- if {$idx == -1} {
- return
- }
- set state(cmd,$comm) [lreplace $cmds $idx $idx]
- if {![string compare "" $state(cmd,$comm)]} {
- unset state(cmd,$comm)
- }
- }
-
- # This procedure manages configuration information for IRC:
-
- proc config {args} {
- if {$args == {}} {
- return [collectConfig]
- }
-
- if {[llength $args] == 1} {
- return [queryConfig [lindex $args 0]]
- }
-
- if {[expr [llength $args] % 2] != 0} {
- error "incorrect number of argument, must be multiple of 2"
- }
-
- setConfig $args
- }
-
- # Helper procedure to return a list with all important user settable
- # configuration information.
-
- proc collectConfig {} {
- variable state
-
- set config {}
-
- foreach name [array names state "-*"] {
- lappend config [list $name $state($name)]
- }
- return $config
- }
-
- # Helper procedure to return the value of one option.
-
- proc queryConfig {option} {
- variable state
-
- if {![info exists state($option)]} {
- return {}
- }
- return $state($option)
- }
-
- # Helper procedure to modify the configuration of a set of options.
-
- proc setConfig {theargs} {
- variable state
-
- foreach {opt val} $theargs {
- if {![string match "-*" $opt]} {
- continue
- }
- set state($opt) $val
- }
- }
-}
+# irkcommand.tcl:
+#
+# Various commands that can be invoked by the user of the IRK library:
+
+namespace eval irk {
+
+ # Say something to a user or to a channel
+
+ proc say {token chan saying} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ if {![string compare "" $saying]} {
+ return
+ }
+ sendit $sock "PRIVMSG $chan :[string trim $saying]"
+ }
+
+ # Send a NOTICE to a user or a channel
+
+ proc notice {token chan args} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ sendit $sock "NOTICE $chan :$args"
+ }
+
+ # Send a raw command to the server:
+
+ proc send {token args} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ puts $sock $args
+ }
+
+ # Change your NICK
+
+ proc nick {token {newnick ""}} {
+ variable state
+
+ if {![string compare "" $newnick]} {
+ return $state($token,nick)
+ }
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ puts $sock "NICK $newnick"
+ }
+
+ # Join a channel
+
+ proc join {token chans {keys ""}} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ puts $sock "JOIN $chans $keys"
+ }
+
+ # Leave a channel
+
+ proc leave {token chans {partmsg ""}} {
+ variable state
+
+ if {![string compare $partmsg ""]} {
+ if {[info exists state(partmsg)]} {
+ set partmsg $state(partmsg)
+ }
+ }
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ puts $sock "PART $chans $partmsg"
+ }
+
+ # Return a list of all connections that are open:
+
+ proc connections {} {
+ variable state
+
+ if {![info exists state(connections)]} {
+ return {}
+ }
+ return $state(connections)
+ }
+
+ # Return a list of channels we're on in a give connection:
+
+ proc onchannels {token} {
+ variable state
+
+ if {![info exists state($token,channels)]} {
+ return {}
+ }
+ return $state($token,channels)
+ }
+
+ # Returns 1 if we are on the given channel.
+
+ proc onchannel {token channel} {
+ variable state
+
+ if {![info exists state($token,channels)]} {
+ return 0
+ }
+
+ set idx [lsearch $state($token,channels) $channel]
+ if {$idx == -1} {
+ return 0
+ }
+ return 1
+ }
+
+ # Return a list of users on a given channel (we must be on that channel).
+
+ proc whoison {token chan} {
+ variable state
+
+ if {![info exists state($token,$chan,NAMES)]} {
+ return {}
+ }
+ return $state($token,$chan,NAMES)
+ }
+
+ # Ping a server
+
+ proc ping {token} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ set state($token,PINGSTART) [clock clicks -millis]
+ puts $sock "PING $state($token,host)"
+ }
+
+ # Quit this connection
+
+ proc quit {token} {
+ disconnect $token
+ }
+
+ # Query information about someone
+
+ proc whois {token nick} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ puts $sock "WHOIS $nick"
+ }
+
+ # Set an away message
+
+ proc away {token args} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ puts $sock "AWAY :$args"
+ }
+
+ # This procedure lets the client do CTCP actions:
+
+ proc ctcp {token target action args} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ sendit $sock "PRIVMSG $target :\001$action $args\001"
+ }
+
+ # This command implements the TCL CTCP protocol:
+
+ proc tcl {token target args} {
+ variable state
+
+ # Send it to the channel:
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid irc connection"
+ }
+ sendit $sock "PRIVMSG $target :\001TCL $args\001"
+
+ # Apply it locally:
+
+ if {[info exists state($token,channel,ctcp,TCL,LOCAL)]} {
+ $state($token,channel,ctcp,TCL,LOCAL) \
+ $token $state($token,nick) $state($token,user) \
+ PRIVMSG $target TCL $args
+ }
+ }
+
+ # These procedures add and remove action handlers:
+
+ # These procedures add actions that will be called when the user
+ # with the given nick causes the supplied comm(and) to be executed
+ # on the given dest(ination). This is the most specific form of action.
+
+ proc addaction3 {token nick comm dest cmd} {
+ variable state
+
+ if {![info exists state($token,$nick,$comm,$dest)]} {
+ set state($token,$nick,$comm,$dest) [list $cmd]
+ } else {
+ lappend state($token,$nick,$comm,$dest) $cmd
+ }
+ }
+
+ proc setaction3 {token nick comm dest cmd} {
+ variable state
+
+ set state($token,$nick,$comm,$dest) [list $cmd]
+ }
+
+ # This procedure removes an action set by either of the above two
+ # procedures.
+
+ proc remaction3 {token nick comm dest cmd} {
+ variable state
+
+ if {![info exists state($token,$nick,$comm,$dest)]} {
+ return
+ }
+ set cmds $state($token,$nick,$comm,$dest)
+ set idx [lsearch $cmds $cmd]
+ if {$idx == -1} {
+ return
+ }
+ set state($token,$nick,$comm,$dest) [lreplace $cmds $idx $idx]
+ if {![string compare "" $state($token,$nick,$comm,$dest)]} {
+ unset state($token,$nick,$comm,$dest)
+ }
+ }
+
+ # These procedures add actions that will be called when the
+ # specific comm(and) is caused for the given dest(ination).
+
+ proc addaction2 {token comm dest cmd} {
+ variable state
+
+ if {![info exists state($token,$comm,$dest)]} {
+ set state($token,$comm,$dest) [list $cmd]
+ } else {
+ lappend state($token,$comm,$dest) $cmd
+ }
+ }
+
+ proc setaction2 {token comm dest cmd} {
+ variable state
+
+ set state($token,$comm,$dest) [list $cmd]
+ }
+
+ # This procedure removes an action set by either of the above two
+ # procedures.
+
+ proc remaction2 {token comm dest cmd} {
+ variable state
+
+ if {![info exists state($token,$comm,$dest)]} {
+ return
+ }
+ set cmds $state($token,$comm,$dest)
+ set idx [lsearch $cmds $cmd]
+ if {$idx == -1} {
+ return
+ }
+ set state($token,$comm,$dest) [lreplace $cmds $idx $idx]
+ if {![string compare "" $state($token,$comm,$dest)]} {
+ unset state($token,$comm,$dest)
+ }
+ }
+
+ # These procedures add actions that will be called when the
+ # specific comm(and) is caused any dest(ination).
+
+ proc addaction1 {token comm cmd} {
+ variable state
+
+ if {![info exists state($token,$comm)]} {
+ set state($token,$comm) [list $cmd]
+ } else {
+ lappend state($token,$comm) $cmd
+ }
+ }
+
+ proc setaction1 {token comm cmd} {
+ variable state
+
+ set state($token,$comm) [list $cmd]
+ }
+
+ # This procedure removes an action set by either of the above two
+ # procedures.
+
+ proc remaction1 {token comm cmd} {
+ variable state
+
+ if {![info exists state($token,$comm)]} {
+ return
+ }
+ set cmds $state($token,$comm)
+ set idx [lsearch $cmds $cmd]
+ if {$idx == -1} {
+ return
+ }
+ set state($token,$comm) [lreplace $cmds $idx $idx]
+ if {![string compare "" $state($token,$comm)]} {
+ unset state($token,$comm)
+ }
+ }
+
+ # These procedures add global actions that will be called
+ # when the specific comm(and) is caused on any dest(ination) and
+ # any irc connection. These are the lowest priority commands.
+
+ proc addactionglobal {comm cmd} {
+ variable state
+
+ if {![info exists state(cmd,$comm)]} {
+ set state(cmd,$comm) [list $cmd]
+ } else {
+ lappend state(cmd,$comm) $cmd
+ }
+ }
+
+ proc setactionglobal {comm cmd} {
+ variable state
+
+ set state(cmd,$comm) [list $cmd]
+ }
+
+ # This procedure removes an action set by either of the above two
+ # procedures.
+
+ proc remactionglobal {comm cmd} {
+ variable state
+
+ if {![info exists state(cmd,$comm)]} {
+ return
+ }
+ set cmds $state(cmd,$comm)
+ set idx [lsearch $cmds $cmd]
+ if {$idx == -1} {
+ return
+ }
+ set state(cmd,$comm) [lreplace $cmds $idx $idx]
+ if {![string compare "" $state(cmd,$comm)]} {
+ unset state(cmd,$comm)
+ }
+ }
+
+ # This procedure manages configuration information for IRC:
+
+ proc config {args} {
+ if {$args == {}} {
+ return [collectConfig]
+ }
+
+ if {[llength $args] == 1} {
+ return [queryConfig [lindex $args 0]]
+ }
+
+ if {[expr [llength $args] % 2] != 0} {
+ error "incorrect number of argument, must be multiple of 2"
+ }
+
+ setConfig $args
+ }
+
+ # Helper procedure to return a list with all important user settable
+ # configuration information.
+
+ proc collectConfig {} {
+ variable state
+
+ set config {}
+
+ foreach name [array names state "-*"] {
+ lappend config [list $name $state($name)]
+ }
+ return $config
+ }
+
+ # Helper procedure to return the value of one option.
+
+ proc queryConfig {option} {
+ variable state
+
+ if {![info exists state($option)]} {
+ return {}
+ }
+ return $state($option)
+ }
+
+ # Helper procedure to modify the configuration of a set of options.
+
+ proc setConfig {theargs} {
+ variable state
+
+ foreach {opt val} $theargs {
+ if {![string match "-*" $opt]} {
+ continue
+ }
+ set state($opt) $val
+ }
+ }
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkcommand.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkconnect.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkconnect.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkconnect.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,239 +1,239 @@
-# irkconnect.tcl:
-#
-# This file provides the IRK commands to connect to remote servers
-# as well as some attendant utility procedures:
-
-namespace eval ::irk {
-
- # The "connect" procedure returns a token
- # for the connection to this server.
- #
- # symsrv The symbolic name of the server to connect to.
- # nick The nick name to use.
- # user The user name to use.
- # pass The password to use.
- # disp The command dispatcher expression to use.
-
- proc connect {{symsrv ""} {nick ""} {user ""} {pass ""} {disp ""}} {
- variable state
-
- # Auto initialize the list of connections. We do this so that
- # the list is not reset each time the irk.tcl file is sourced.
-
- if {![info exists state(connections)]} {
- set state(connections) {}
- }
-
- # Try to convert the symbolic server name to a
- # server description. This may throw an error,
- # we propagate it.
-
- set servdesc [locate $symsrv]
-
- # If the nickname is not specified, there must be
- # a nick setting in the state array; use that
-
- if {![string compare $nick ""]} {
- if {![info exists state(-$symsrv,nick)]} {
- error "No nick given or set in global state"
- }
- set nick $state(-$symsrv,nick)
- }
-
- # If a global nick is not set, save this nick for use
- # as a global nick.
-
- if {![info exists state(-$symsrv,nick)]} {
- set state(-$symsrv,nick) $nick
- }
-
- # If user is not supplied, see if there is a global
- # user registered in the IRK package state. If not,
- # invent a user.
-
- if {![string compare $user ""]} {
- if {[info exists state(-$symsrv,user)]} {
- set user $state(-$symsrv,user)
- } else {
- set user $nick
- set state(-$symsrv,user) $user
- }
- }
-
- # If a password is not supplied, see if there is a global
- # one registered. If so, use that. Otherwise, do not
- # use a password.
-
- if {![string compare $pass ""]} {
- if {[info exists state(-$symsrv,pass)]} {
- set pass $state(-$symsrv,pass)
- }
- }
-
- # If a dispatcher expression is not supplied, there must be a
- # global dispatcher expression in the state array, and use that.
-
- if {![string compare $disp ""]} {
- if {![info exists state(dispatcher)]} {
- error "ERROR: o dispatch given or found in global state"
- }
- set disp $state(dispatcher)
- }
-
- # Try to connect to the given server.
-
- set h [lindex $servdesc 0]
- set p [randselect [lindex $servdesc 1]]
-
- set s [opensocket $h $p]
-
- # The socket is line buffered and consumed by the
- # supplied consumer
-
- fconfigure $s -translation auto -buffering line
- fileevent $s readable [list ::irk::consumer $s]
-
-
- # Identify ourselves to the IRK server: If a password is given
- # send that first. Then send the nick name and user name.
-
- if {[string compare $pass ""]} {
- puts $s "PASS $pass"
- }
-
- puts $s "NICK $nick"
- puts $s "USER $user $h $h :$user"
-
- # Make a connection token:
-
- set contok [contok $s $symsrv]
-
- # Save the state for this new connection
-
- lappend state(connections) $contok
-
- set state($contok,port) $p
- set state($contok,host) $h
- set state($contok,symsrv) $symsrv
- set state($contok,nick) $nick
- set state($contok,user) $user
- set state($contok,pass) $pass
- set state($contok,disp) $disp
-
- # Set up some default behavior for the connection:
-
- setupDefaultActions $contok $nick
-
- # Collect information about who the server thinks we are
-
- puts $s "WHOIS $nick"
-
- # Finally return the token for this connection:
-
- return $contok
- }
-
- # This procedure makes an easy to remember connection token. It takes
- # the symbolic server's name and appends _<n> to it, where n is an
- # integer starting at 0 and monotonically increasing for every new
- # connection to that server.
- #
- # Once it figures out what the connection token is going to be,
- # it associates it with the given socket so it can be used.
-
- proc contok {sock symsrv} {
- variable state
-
- # Compute the symbolic name for this connection:
-
- if {![info exists state($symsrv,counter)]} {
- set state($symsrv,counter) 0
- }
- set contok ${symsrv}_$state($symsrv,counter)
- incr state($symsrv,counter)
-
- # Associate the symbolic name with the socket:
-
- set state($contok,socket) $sock
- set state($sock,contok) $contok
-
- return $contok
- }
-
- # The locate procedure tries to convert the symbolic name for
- # a connection to a server/port specification.
-
- proc locate {s} {
- variable symsrv
- variable state
-
- # If the caller specified "" as the name of the server, select
- # a random one from the list of known servers.
-
- if {![string compare $s ""]} {
- set s [randselect $state(servers)]
- }
-
- # Now see if the requested server exists:
-
- if {![info exists symsrv($s)]} {
- error \
- "Could not find a match for symbolic IRK server name \"$s\""
- }
-
- # It does, return the server specification:
-
- return $symsrv($s)
- }
-
- # opensocket connects to the requested server and port, either
- # directly or through a SOCKS5 proxy.
-
- proc opensocket {server port} {
- variable state
-
- if {[info exists state(-socksproxy)] \
- && [info exists state(-socksport)]} {
- set sock [socket $state(-socksproxy) $state(-socksport)]
- return [::socks::init $sock $server $port]
- }
-
- return [socket $server $port]
- }
-
- # The disconnect procedure disconnects from a given connection
- # identified by its symbolic name, and cleans up state associated
- # with the connection.
-
- proc disconnect {contok} {
- variable state
-
- if {[catch {set s $state($contok,socket)} err]} {
- error "ERROR: $contok: No such IRC connection"
- }
-
- # Send a QUIT message.
-
- if {[info exists state(quitmsg)]} {
- set q ":$state($contok,nick) $state(quitmsg)"
- } else {
- set q ":$state($contok,nick) quit"
- }
- puts $s "QUIT $q"
-
- # Try to close the connection with the server.
-
- catch {close $s}
-
- # And clean up all state associated with this connection:
-
- array unset state $contok,*
-
- # Remove this connection from the list of active connections:
-
- set i [lsearch $state(connections) $s]
- set state(connections) [lreplace $state(connections) $i $i]
-
- return ""
- }
-}
+# irkconnect.tcl:
+#
+# This file provides the IRK commands to connect to remote servers
+# as well as some attendant utility procedures:
+
+namespace eval ::irk {
+
+ # The "connect" procedure returns a token
+ # for the connection to this server.
+ #
+ # symsrv The symbolic name of the server to connect to.
+ # nick The nick name to use.
+ # user The user name to use.
+ # pass The password to use.
+ # disp The command dispatcher expression to use.
+
+ proc connect {{symsrv ""} {nick ""} {user ""} {pass ""} {disp ""}} {
+ variable state
+
+ # Auto initialize the list of connections. We do this so that
+ # the list is not reset each time the irk.tcl file is sourced.
+
+ if {![info exists state(connections)]} {
+ set state(connections) {}
+ }
+
+ # Try to convert the symbolic server name to a
+ # server description. This may throw an error,
+ # we propagate it.
+
+ set servdesc [locate $symsrv]
+
+ # If the nickname is not specified, there must be
+ # a nick setting in the state array; use that
+
+ if {![string compare $nick ""]} {
+ if {![info exists state(-$symsrv,nick)]} {
+ error "No nick given or set in global state"
+ }
+ set nick $state(-$symsrv,nick)
+ }
+
+ # If a global nick is not set, save this nick for use
+ # as a global nick.
+
+ if {![info exists state(-$symsrv,nick)]} {
+ set state(-$symsrv,nick) $nick
+ }
+
+ # If user is not supplied, see if there is a global
+ # user registered in the IRK package state. If not,
+ # invent a user.
+
+ if {![string compare $user ""]} {
+ if {[info exists state(-$symsrv,user)]} {
+ set user $state(-$symsrv,user)
+ } else {
+ set user $nick
+ set state(-$symsrv,user) $user
+ }
+ }
+
+ # If a password is not supplied, see if there is a global
+ # one registered. If so, use that. Otherwise, do not
+ # use a password.
+
+ if {![string compare $pass ""]} {
+ if {[info exists state(-$symsrv,pass)]} {
+ set pass $state(-$symsrv,pass)
+ }
+ }
+
+ # If a dispatcher expression is not supplied, there must be a
+ # global dispatcher expression in the state array, and use that.
+
+ if {![string compare $disp ""]} {
+ if {![info exists state(dispatcher)]} {
+ error "ERROR: o dispatch given or found in global state"
+ }
+ set disp $state(dispatcher)
+ }
+
+ # Try to connect to the given server.
+
+ set h [lindex $servdesc 0]
+ set p [randselect [lindex $servdesc 1]]
+
+ set s [opensocket $h $p]
+
+ # The socket is line buffered and consumed by the
+ # supplied consumer
+
+ fconfigure $s -translation auto -buffering line
+ fileevent $s readable [list ::irk::consumer $s]
+
+
+ # Identify ourselves to the IRK server: If a password is given
+ # send that first. Then send the nick name and user name.
+
+ if {[string compare $pass ""]} {
+ puts $s "PASS $pass"
+ }
+
+ puts $s "NICK $nick"
+ puts $s "USER $user $h $h :$user"
+
+ # Make a connection token:
+
+ set contok [contok $s $symsrv]
+
+ # Save the state for this new connection
+
+ lappend state(connections) $contok
+
+ set state($contok,port) $p
+ set state($contok,host) $h
+ set state($contok,symsrv) $symsrv
+ set state($contok,nick) $nick
+ set state($contok,user) $user
+ set state($contok,pass) $pass
+ set state($contok,disp) $disp
+
+ # Set up some default behavior for the connection:
+
+ setupDefaultActions $contok $nick
+
+ # Collect information about who the server thinks we are
+
+ puts $s "WHOIS $nick"
+
+ # Finally return the token for this connection:
+
+ return $contok
+ }
+
+ # This procedure makes an easy to remember connection token. It takes
+ # the symbolic server's name and appends _<n> to it, where n is an
+ # integer starting at 0 and monotonically increasing for every new
+ # connection to that server.
+ #
+ # Once it figures out what the connection token is going to be,
+ # it associates it with the given socket so it can be used.
+
+ proc contok {sock symsrv} {
+ variable state
+
+ # Compute the symbolic name for this connection:
+
+ if {![info exists state($symsrv,counter)]} {
+ set state($symsrv,counter) 0
+ }
+ set contok ${symsrv}_$state($symsrv,counter)
+ incr state($symsrv,counter)
+
+ # Associate the symbolic name with the socket:
+
+ set state($contok,socket) $sock
+ set state($sock,contok) $contok
+
+ return $contok
+ }
+
+ # The locate procedure tries to convert the symbolic name for
+ # a connection to a server/port specification.
+
+ proc locate {s} {
+ variable symsrv
+ variable state
+
+ # If the caller specified "" as the name of the server, select
+ # a random one from the list of known servers.
+
+ if {![string compare $s ""]} {
+ set s [randselect $state(servers)]
+ }
+
+ # Now see if the requested server exists:
+
+ if {![info exists symsrv($s)]} {
+ error \
+ "Could not find a match for symbolic IRK server name \"$s\""
+ }
+
+ # It does, return the server specification:
+
+ return $symsrv($s)
+ }
+
+ # opensocket connects to the requested server and port, either
+ # directly or through a SOCKS5 proxy.
+
+ proc opensocket {server port} {
+ variable state
+
+ if {[info exists state(-socksproxy)] \
+ && [info exists state(-socksport)]} {
+ set sock [socket $state(-socksproxy) $state(-socksport)]
+ return [::socks::init $sock $server $port]
+ }
+
+ return [socket $server $port]
+ }
+
+ # The disconnect procedure disconnects from a given connection
+ # identified by its symbolic name, and cleans up state associated
+ # with the connection.
+
+ proc disconnect {contok} {
+ variable state
+
+ if {[catch {set s $state($contok,socket)} err]} {
+ error "ERROR: $contok: No such IRC connection"
+ }
+
+ # Send a QUIT message.
+
+ if {[info exists state(quitmsg)]} {
+ set q ":$state($contok,nick) $state(quitmsg)"
+ } else {
+ set q ":$state($contok,nick) quit"
+ }
+ puts $s "QUIT $q"
+
+ # Try to close the connection with the server.
+
+ catch {close $s}
+
+ # And clean up all state associated with this connection:
+
+ array unset state $contok,*
+
+ # Remove this connection from the list of active connections:
+
+ set i [lsearch $state(connections) $s]
+ set state(connections) [lreplace $state(connections) $i $i]
+
+ return ""
+ }
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkconnect.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkctcptcl.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkctcptcl.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkctcptcl.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,45 +1,45 @@
-# irkctcptcl.tcl:
-#
-# This file implements the IRK CTCP TCL protocol:
-
-namespace eval ::irk {
-
- # This procedure sets up a safe interpreter for the channel in which
- # the CTCP TCL action occurs:
-
- proc setupInterp {token chan} {
- variable state
-
- if {![info exists state($token,$chan,interp)]} {
- catch {interp delete ${token}${chan}}
- set state($token,$chan,interp) [safe::interpCreate ${token}${chan}]
- safe::loadTk $state($token,$chan,interp)
- }
- if {![interp exists ${token}${chan}]} {
- set state($token,$chan,interp) [safe::interpCreate ${token}${chan}]
- safe::loadTk $state($token,$chan,interp)
- }
- }
-
- # This procedure dispatches the Tcl command embedded within the
- # CTCP TCL action to the associated interpreter:
-
- proc RECV,CTCP,TCL {token nick user comm dest action rest} {
- variable state
-
- puts stderr "Tcl command is: $rest [llength $rest]"
- setupInterp $token $dest
- interp eval $state($token,$dest,interp) [::join $rest]
- }
-
- # This procedure dispatches the Tcl command embedded within the
- # CTCP TCL action for local execution on the issuer's side:
-
- proc RECV,CTCP,TCL,LOCAL {token nick user comm dest action rest} {
- variable state
-
- puts stderr "Tcl command is: $rest [llength $rest]"
- setupInterp $token $dest
- interp eval $state($token,$dest,interp) $rest
- }
-}
+# irkctcptcl.tcl:
+#
+# This file implements the IRK CTCP TCL protocol:
+
+namespace eval ::irk {
+
+ # This procedure sets up a safe interpreter for the channel in which
+ # the CTCP TCL action occurs:
+
+ proc setupInterp {token chan} {
+ variable state
+
+ if {![info exists state($token,$chan,interp)]} {
+ catch {interp delete ${token}${chan}}
+ set state($token,$chan,interp) [safe::interpCreate ${token}${chan}]
+ safe::loadTk $state($token,$chan,interp)
+ }
+ if {![interp exists ${token}${chan}]} {
+ set state($token,$chan,interp) [safe::interpCreate ${token}${chan}]
+ safe::loadTk $state($token,$chan,interp)
+ }
+ }
+
+ # This procedure dispatches the Tcl command embedded within the
+ # CTCP TCL action to the associated interpreter:
+
+ proc RECV,CTCP,TCL {token nick user comm dest action rest} {
+ variable state
+
+ puts stderr "Tcl command is: $rest [llength $rest]"
+ setupInterp $token $dest
+ interp eval $state($token,$dest,interp) [::join $rest]
+ }
+
+ # This procedure dispatches the Tcl command embedded within the
+ # CTCP TCL action for local execution on the issuer's side:
+
+ proc RECV,CTCP,TCL,LOCAL {token nick user comm dest action rest} {
+ variable state
+
+ puts stderr "Tcl command is: $rest [llength $rest]"
+ setupInterp $token $dest
+ interp eval $state($token,$dest,interp) $rest
+ }
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkctcptcl.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkdispatch.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkdispatch.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkdispatch.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,248 +1,248 @@
-# irkdispatch.tcl:
-#
-# Based on the input received from the server, dispatch control to various
-# command procedures.
-
-namespace eval ::irk {
-
- # This procedure sets up the default actions for a connection:
-
- proc setupDefaultActions {s nick} {
- variable state
-
- # Catch any unexpected PRIVMSG actions:
-
- set state($s,PRIVMSG,$nick) $state(PRIVMSG,unsolicited)
-
- # Set up CTCP global actions:
-
- set state($s,cmd,ctcp,PING) ::irk::RECV,CTCP,PING
- set state($s,cmd,ctcp,TIME) ::irk::RECV,CTCP,TIME
- set state($s,cmd,ctcp,VERSION) ::irk::RECV,CTCP,VERSION
- set state($s,cmd,ctcp,USERINFO) \
- ::irk::RECV,CTCP,USERINFO
-
- # Set up CTCP channel specific actions:
-
- set state($s,channel,ctcp,ACTION) \
- ::irk::RECV,CTCP,ACTION
-
- # Set up the CTCP TCL protocol:
-
- set state($s,channel,ctcp,TCL) ::irk::RECV,CTCP,TCL
- set state($s,channel,ctcp,TCL,LOCAL) \
- ::irk::RECV,CTCP,TCL,LOCAL
-
- # Deal with CTCP commands we do not understand:
-
- set state($s,cmd,ctcp,error) ::irk::RECV,CTCP,ERROR
- set state($s,channel,ctcp,error) \
- ::irk::RECV,CTCP,ERROR
- }
-
- # The consumer procedure consumes input received from
- # a connection. It calls the dispatcher for the given connection
- # with each input line.
-
- proc consumer {s} {
- variable state
-
- if {[eof $s]} {
- disconnect $s
- } else {
- set l [gets $s]
- if {[info exists state($s,trace)]} {
- $state($s,trace) $l
- }
- if {[string compare $l ""]} {
- dissect $state($s,contok) $l
- }
- }
- }
-
- # This procedure dissects the input into its parts:
-
- proc dissect {token line} {
- variable state
-
- # Make a list out of the line:
-
- set line [split $line " "]
-
- # Split first token into nickname and user mask:
-
- set nandu [split [lindex $line 0] \!]
-
- # Call dispatcher for this connection:
-
- $state($token,disp) \
- $token \
- [lindex $nandu 0] \
- [lindex $nandu 1] \
- [lindex $line 1] \
- [lindex $line 2] \
- [lrange $line 3 end]
- }
-
- # This procedure is the default command dispatcher:
-
- proc defaultDispatcher {token nick user comm dest rest} {
- variable state
-
- # Check if the nick starts with ':'. If not then this is
- # a special action, handled by the built in actions.
-
- if {![string match ":*" $nick]} {
- return [specialAction $token $nick $user $comm $dest $rest]
- }
-
- # Trim off the leading ':' on the $nick, if present.
-
- if {[string match ":*" $nick]} {
- set nick [string range $nick 1 end]
- }
-
- # If a ':' is present in the $dest, trim that off too.
-
- if {[string match ":*" $dest]} {
- set dest [string range $dest 1 end]
- }
-
- # If a ':' is present in the $rest, trim that off too.
-
- set firstrest [lindex $rest 0]
- if {[string match ":*" $firstrest]} {
- set firstrest [string range $firstrest 1 end]
- set rest [lreplace $rest 0 0 $firstrest]
- }
-
- # Clean up the payload:
-
- set rest [split [string trim [eval concat $rest]] " "]
-
- # Now try to dispatch to specific handlers.
- #
- # First see if there is a handler for the specific combination
- # of $token, $nick, $comm and $dest. This is used for PRIVMSG.
-
- if {[info exists state($token,$nick,$comm,$dest)]} {
- foreach cmd $state($token,$nick,$comm,$dest) {
- if {[catch {set res [$cmd $token $nick $user \
- $comm $dest $rest]} err]} {
- if {[info exists state(errorhandler)]} {
- $state(errorhandler) $err $token $comm $dest
- }
- return
- }
-
- # If this handler said to go on to a more general handler,
- # then don't return. Otherwise return.
-
- if {[string compare $res pass]} {
- return
- }
- }
- }
-
- # If there's a handler for $token, $comm and $dest, use that.
-
- if {[info exists state($token,$comm,$dest)]} {
- foreach cmd $state($token,$comm,$dest) {
- if {[catch {set res [$cmd $token $nick $user \
- $comm $dest $rest]} err]} {
- if {[info exists state(errorhandler)]} {
- $state(errorhandler) $err $token $comm $dest
- }
- return
- }
-
- # If this handler said to go on to a more general handler,
- # then don't return. Otherwise return.
-
- if {[string compare $res pass]} {
- return
- }
- }
- }
-
- # See if there's a handler for $token and $comm. If so use that.
-
- if {[info exists state($token,$comm)]} {
- foreach cmd $state($token,$comm) {
- if {[catch {set res [$cmd $token $nick $user \
- $comm $dest $rest]} err]} {
- if {[info exists state(errorhandler)]} {
- $state(errorhandler) $err $token $comm $dest
- }
- return
- }
-
- # If this handler said to go on to a more general handler,
- # then don't return. Otherwise return.
-
- if {[string compare $res pass]} {
- return
- }
- }
- }
-
- # See if there's a global handler for the command. All the
- # default handlers are defined here.
-
- if {[info exists state(cmd,$comm)]} {
- foreach cmd $state(cmd,$comm) {
- if {[catch {set res [$cmd $token $nick $user \
- $comm $dest $rest]} err]} {
- if {[info exists state(errorhandler)]} {
- $state(errorhandler) $err $token $comm $dest
- }
- return
- }
-
- # If this handler said to go on to a more general handler,
- # then don't return. Otherwise return.
-
- if {[string compare $res pass]} {
- return
- }
- }
- }
-
- # If all of the above fail, send this input to the default
- # action handler:
-
- if {[catch {set res [$state(action) \
- $token $nick $user \
- $comm $dest $rest]} err]} {
- if {[info exists state(errorhandler)]} {
- $state(errorhandler) $err $token $comm $dest
- }
- return
- }
- }
-
- # This procedure deals with special actions (built in, cannot
- # easily be modified by users). I use this to e.g deal with
- # PING, NOTICE, ERROR etc., automatically.
-
- proc specialAction {token nick user comm dest rest} {
- variable state
-
- # The nick is the special action selector:
-
- $state(special,$nick) $token $nick $user $comm $dest $rest
- }
-
- # This is the default error handler:
-
- proc echoerror {args} {
- puts stderr $args
- }
-
- # This procedure provides a default tracing facility (it just prints
- # the lines received to stderr):
-
- proc trace {args} {
- puts stderr "Received: $args"
- }
-}
+# irkdispatch.tcl:
+#
+# Based on the input received from the server, dispatch control to various
+# command procedures.
+
+namespace eval ::irk {
+
+ # This procedure sets up the default actions for a connection:
+
+ proc setupDefaultActions {s nick} {
+ variable state
+
+ # Catch any unexpected PRIVMSG actions:
+
+ set state($s,PRIVMSG,$nick) $state(PRIVMSG,unsolicited)
+
+ # Set up CTCP global actions:
+
+ set state($s,cmd,ctcp,PING) ::irk::RECV,CTCP,PING
+ set state($s,cmd,ctcp,TIME) ::irk::RECV,CTCP,TIME
+ set state($s,cmd,ctcp,VERSION) ::irk::RECV,CTCP,VERSION
+ set state($s,cmd,ctcp,USERINFO) \
+ ::irk::RECV,CTCP,USERINFO
+
+ # Set up CTCP channel specific actions:
+
+ set state($s,channel,ctcp,ACTION) \
+ ::irk::RECV,CTCP,ACTION
+
+ # Set up the CTCP TCL protocol:
+
+ set state($s,channel,ctcp,TCL) ::irk::RECV,CTCP,TCL
+ set state($s,channel,ctcp,TCL,LOCAL) \
+ ::irk::RECV,CTCP,TCL,LOCAL
+
+ # Deal with CTCP commands we do not understand:
+
+ set state($s,cmd,ctcp,error) ::irk::RECV,CTCP,ERROR
+ set state($s,channel,ctcp,error) \
+ ::irk::RECV,CTCP,ERROR
+ }
+
+ # The consumer procedure consumes input received from
+ # a connection. It calls the dispatcher for the given connection
+ # with each input line.
+
+ proc consumer {s} {
+ variable state
+
+ if {[eof $s]} {
+ disconnect $s
+ } else {
+ set l [gets $s]
+ if {[info exists state($s,trace)]} {
+ $state($s,trace) $l
+ }
+ if {[string compare $l ""]} {
+ dissect $state($s,contok) $l
+ }
+ }
+ }
+
+ # This procedure dissects the input into its parts:
+
+ proc dissect {token line} {
+ variable state
+
+ # Make a list out of the line:
+
+ set line [split $line " "]
+
+ # Split first token into nickname and user mask:
+
+ set nandu [split [lindex $line 0] \!]
+
+ # Call dispatcher for this connection:
+
+ $state($token,disp) \
+ $token \
+ [lindex $nandu 0] \
+ [lindex $nandu 1] \
+ [lindex $line 1] \
+ [lindex $line 2] \
+ [lrange $line 3 end]
+ }
+
+ # This procedure is the default command dispatcher:
+
+ proc defaultDispatcher {token nick user comm dest rest} {
+ variable state
+
+ # Check if the nick starts with ':'. If not then this is
+ # a special action, handled by the built in actions.
+
+ if {![string match ":*" $nick]} {
+ return [specialAction $token $nick $user $comm $dest $rest]
+ }
+
+ # Trim off the leading ':' on the $nick, if present.
+
+ if {[string match ":*" $nick]} {
+ set nick [string range $nick 1 end]
+ }
+
+ # If a ':' is present in the $dest, trim that off too.
+
+ if {[string match ":*" $dest]} {
+ set dest [string range $dest 1 end]
+ }
+
+ # If a ':' is present in the $rest, trim that off too.
+
+ set firstrest [lindex $rest 0]
+ if {[string match ":*" $firstrest]} {
+ set firstrest [string range $firstrest 1 end]
+ set rest [lreplace $rest 0 0 $firstrest]
+ }
+
+ # Clean up the payload:
+
+ set rest [split [string trim [eval concat $rest]] " "]
+
+ # Now try to dispatch to specific handlers.
+ #
+ # First see if there is a handler for the specific combination
+ # of $token, $nick, $comm and $dest. This is used for PRIVMSG.
+
+ if {[info exists state($token,$nick,$comm,$dest)]} {
+ foreach cmd $state($token,$nick,$comm,$dest) {
+ if {[catch {set res [$cmd $token $nick $user \
+ $comm $dest $rest]} err]} {
+ if {[info exists state(errorhandler)]} {
+ $state(errorhandler) $err $token $comm $dest
+ }
+ return
+ }
+
+ # If this handler said to go on to a more general handler,
+ # then don't return. Otherwise return.
+
+ if {[string compare $res pass]} {
+ return
+ }
+ }
+ }
+
+ # If there's a handler for $token, $comm and $dest, use that.
+
+ if {[info exists state($token,$comm,$dest)]} {
+ foreach cmd $state($token,$comm,$dest) {
+ if {[catch {set res [$cmd $token $nick $user \
+ $comm $dest $rest]} err]} {
+ if {[info exists state(errorhandler)]} {
+ $state(errorhandler) $err $token $comm $dest
+ }
+ return
+ }
+
+ # If this handler said to go on to a more general handler,
+ # then don't return. Otherwise return.
+
+ if {[string compare $res pass]} {
+ return
+ }
+ }
+ }
+
+ # See if there's a handler for $token and $comm. If so use that.
+
+ if {[info exists state($token,$comm)]} {
+ foreach cmd $state($token,$comm) {
+ if {[catch {set res [$cmd $token $nick $user \
+ $comm $dest $rest]} err]} {
+ if {[info exists state(errorhandler)]} {
+ $state(errorhandler) $err $token $comm $dest
+ }
+ return
+ }
+
+ # If this handler said to go on to a more general handler,
+ # then don't return. Otherwise return.
+
+ if {[string compare $res pass]} {
+ return
+ }
+ }
+ }
+
+ # See if there's a global handler for the command. All the
+ # default handlers are defined here.
+
+ if {[info exists state(cmd,$comm)]} {
+ foreach cmd $state(cmd,$comm) {
+ if {[catch {set res [$cmd $token $nick $user \
+ $comm $dest $rest]} err]} {
+ if {[info exists state(errorhandler)]} {
+ $state(errorhandler) $err $token $comm $dest
+ }
+ return
+ }
+
+ # If this handler said to go on to a more general handler,
+ # then don't return. Otherwise return.
+
+ if {[string compare $res pass]} {
+ return
+ }
+ }
+ }
+
+ # If all of the above fail, send this input to the default
+ # action handler:
+
+ if {[catch {set res [$state(action) \
+ $token $nick $user \
+ $comm $dest $rest]} err]} {
+ if {[info exists state(errorhandler)]} {
+ $state(errorhandler) $err $token $comm $dest
+ }
+ return
+ }
+ }
+
+ # This procedure deals with special actions (built in, cannot
+ # easily be modified by users). I use this to e.g deal with
+ # PING, NOTICE, ERROR etc., automatically.
+
+ proc specialAction {token nick user comm dest rest} {
+ variable state
+
+ # The nick is the special action selector:
+
+ $state(special,$nick) $token $nick $user $comm $dest $rest
+ }
+
+ # This is the default error handler:
+
+ proc echoerror {args} {
+ puts stderr $args
+ }
+
+ # This procedure provides a default tracing facility (it just prints
+ # the lines received to stderr):
+
+ proc trace {args} {
+ puts stderr "Received: $args"
+ }
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkdispatch.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkflow.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkflow.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkflow.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,102 +1,102 @@
-# irkflow.tcl
-#
-# Simple flow control management so as to avoid flooding.
-
-namespace eval ::irk {
-
- # For each combination of destination+connection, we keep three items:
- #
- # flowctl($dest,$conn,after) The "after" token for the next time
- # we send anything to this destination.
- # flowctl($dest,$conn,queue) A list of items to send to this
- # destination on this connection.
- # flowctl($dest,$conn,lastsend) The time we last sent to this
- # destination on this connection.
- #
- # NOTE: We do not limit the length of each item to send. This
- # would lead to extremely hard to diagnose bugs due to commands
- # (e.g. ctcp's) getting cut up into chunks.
-
- variable flowctl
-
- # The following setting controls how often (in msecs) we can send
- # to a given connection. It should not be modified by user code or
- # flooding may occur.
-
- set flowctl(floodlimit) 1500
-
- # This procedure sends an item to a specific destination+connection.
- # If possible, the item is sent right away. Otherwise it is enqueued
- # for later sending.
-
- proc sendit {conn item} {
- variable flowctl
-
- # If this connection has a backlog, append the new
- # items. Otherwise, check if the previous send was
- # less than flowctl(floodlimit) msecs ago. If so, enqueue
- # it for later sending. Otherwise send it now and record
- # the time we sent this item.
-
- if {[info exists flowctl($conn,after)]} {
- lappend flowctl($conn,queue) $item
- } else {
- if {[catch {set lastsend $flowctl($conn,lastsend)}]} {
- set lastsend 0
- }
- set now [clock clicks -milliseconds]
- set lim $flowctl(floodlimit)
- if {[expr $now - $lastsend] < $lim} {
- lappend flowctl($conn,queue) $item
- set wait [expr ($lim - ($now - $lastsend))]
- set flowctl($conn,after) \
- [after $wait [list ::irk::sendlater $conn]]
- } else {
- set flowctl($conn,lastsend) $now
- puts $conn $item
- }
- }
-
- return ""
- }
-
- # This procedure does the sending when flow control for a connection
- # is activated.
-
- proc sendlater {conn} {
- variable flowctl
-
- # First of all clear the after entry.
-
- unset flowctl($conn,after)
-
- # Grab the first item on the queue:
-
- if {[info exists flowctl($conn,queue)]} {
- set items $flowctl($conn,queue)
- if {[string compare $items ""]} {
- set item [lindex $items 0]
- set rest [lrange $items 1 end]
- if {[string compare $rest ""]} {
- set flowctl($conn,queue) $rest
- set flowctl($conn,after) \
- [after $flowctl(floodlimit) \
- [list ::irk::sendlater $conn]]
- } else {
- unset flowctl($conn,queue)
- }
-
- # Record time we last sent to this destination.
-
- set flowctl($conn,lastsend) [clock clicks -milliseconds]
-
- # Send this item:
-
- puts $conn $item
- } else {
- unset flowctl($conn,queue)
- }
- }
- }
-}
-
+# irkflow.tcl
+#
+# Simple flow control management so as to avoid flooding.
+
+namespace eval ::irk {
+
+ # For each combination of destination+connection, we keep three items:
+ #
+ # flowctl($dest,$conn,after) The "after" token for the next time
+ # we send anything to this destination.
+ # flowctl($dest,$conn,queue) A list of items to send to this
+ # destination on this connection.
+ # flowctl($dest,$conn,lastsend) The time we last sent to this
+ # destination on this connection.
+ #
+ # NOTE: We do not limit the length of each item to send. This
+ # would lead to extremely hard to diagnose bugs due to commands
+ # (e.g. ctcp's) getting cut up into chunks.
+
+ variable flowctl
+
+ # The following setting controls how often (in msecs) we can send
+ # to a given connection. It should not be modified by user code or
+ # flooding may occur.
+
+ set flowctl(floodlimit) 1500
+
+ # This procedure sends an item to a specific destination+connection.
+ # If possible, the item is sent right away. Otherwise it is enqueued
+ # for later sending.
+
+ proc sendit {conn item} {
+ variable flowctl
+
+ # If this connection has a backlog, append the new
+ # items. Otherwise, check if the previous send was
+ # less than flowctl(floodlimit) msecs ago. If so, enqueue
+ # it for later sending. Otherwise send it now and record
+ # the time we sent this item.
+
+ if {[info exists flowctl($conn,after)]} {
+ lappend flowctl($conn,queue) $item
+ } else {
+ if {[catch {set lastsend $flowctl($conn,lastsend)}]} {
+ set lastsend 0
+ }
+ set now [clock clicks -milliseconds]
+ set lim $flowctl(floodlimit)
+ if {[expr $now - $lastsend] < $lim} {
+ lappend flowctl($conn,queue) $item
+ set wait [expr ($lim - ($now - $lastsend))]
+ set flowctl($conn,after) \
+ [after $wait [list ::irk::sendlater $conn]]
+ } else {
+ set flowctl($conn,lastsend) $now
+ puts $conn $item
+ }
+ }
+
+ return ""
+ }
+
+ # This procedure does the sending when flow control for a connection
+ # is activated.
+
+ proc sendlater {conn} {
+ variable flowctl
+
+ # First of all clear the after entry.
+
+ unset flowctl($conn,after)
+
+ # Grab the first item on the queue:
+
+ if {[info exists flowctl($conn,queue)]} {
+ set items $flowctl($conn,queue)
+ if {[string compare $items ""]} {
+ set item [lindex $items 0]
+ set rest [lrange $items 1 end]
+ if {[string compare $rest ""]} {
+ set flowctl($conn,queue) $rest
+ set flowctl($conn,after) \
+ [after $flowctl(floodlimit) \
+ [list ::irk::sendlater $conn]]
+ } else {
+ unset flowctl($conn,queue)
+ }
+
+ # Record time we last sent to this destination.
+
+ set flowctl($conn,lastsend) [clock clicks -milliseconds]
+
+ # Send this item:
+
+ puts $conn $item
+ } else {
+ unset flowctl($conn,queue)
+ }
+ }
+ }
+}
+
Property changes on: code/trunk/data/tcl/irk/lib/irkflow.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkqueue.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkqueue.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkqueue.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,103 +1,103 @@
-# irkenqueue.tcl
-#
-# Simple flow control management so as to avoid flooding.
-
-namespace eval ::irk {
-
- # For each combination of destination+connection, we keep three items:
- #
- # flowctl($dest,$conn,after) The "after" token for the next time
- # we send anything to this destination.
- # flowctl($dest,$conn,queue) A list of items to send to this
- # destination on this connection.
- # flowctl($dest,$conn,lastsend) The time we last sent to this
- # destination on this connection.
- #
- # NOTE: We do not limit the length of each item to send. This
- # would lead to extremely hard to diagnose bugs due to commands
- # (e.g. ctcp's) getting cut up into chunks.
-
- variable flowctl
-
- # The following setting determines the number of seconds that must
- # pass between sends to any one destination+connection. If fewer
- # seconds have passed since the last send, then flow control is
- # activated for this destination+connection.
-
- set flowctl(sendlimit) 2
-
- # This procedure sends an item to a specific destination+connection.
- # If possible, the item is sent right away. Otherwise it is enqueued
- # for later sending.
-
- proc enqueue {dest conn item} {
- variable flowctl
-
- # If this destination has a backlog, append the new
- # items. Otherwise, check if the previous send was
- # less than 2 seconds ago. If so, enqueue it for
- # later sending. Otherwise send it now and record
- # the time we sent this item.
-
- if {[info exists flowctl($dest,$conn,after)]} {
- lappend flowctl($dest,$conn,queue) $item
- } else {
- if {[catch {set lastsend $flowctl($dest,$conn,lastsend)}]} {
- set lastsend 0
- }
- set now [clock seconds]
- set lim $flowctl(sendlimit)
- if {[expr $now - $lastsend] < $lim} {
- lappend flowctl($dest,$conn,queue) $item
- set wait [expr ($lim - ($now - $lastsend)) * 1000]
- set flowctl($dest,$conn,after) \
- [after $wait [list ::irk::sender $dest $conn]]
- } else {
- set flowctl($dest,$conn,lastsend) $now
- puts $conn $item
- }
- }
-
- return ""
- }
-
- # This procedure does the sending when flow control for a connection
- # is activated.
-
- proc sender {dest conn} {
- variable flowctl
-
- # First of all clear the after entry.
-
- unset flowctl($dest,$conn,after)
-
- # Grab the first item on the queue:
-
- if {[info exists flowctl($dest,$conn,queue)]} {
- set items $flowctl($dest,$conn,queue)
- if {[string compare $items ""]} {
- set item [lindex $items 0]
- set rest [lrange $items 1 end]
- if {[string compare $rest ""]} {
- set lim [expr $flowctl(sendlimit) * 1000]
- set flowctl($dest,$conn,queue) $rest
- set flowctl($dest,$conn,after) \
- [after $lim [list ::irk::sender $dest $conn]]
- } else {
- unset flowctl($dest,$conn,queue)
- }
-
- # Record time we last sent to this destination.
-
- set flowctl($dest,$conn,lastsend) [clock seconds]
-
- # Send this item:
-
- puts $conn $item
- } else {
- unset flowctl($dest,$conn,queue)
- }
- }
- }
-}
-
+# irkenqueue.tcl
+#
+# Simple flow control management so as to avoid flooding.
+
+namespace eval ::irk {
+
+ # For each combination of destination+connection, we keep three items:
+ #
+ # flowctl($dest,$conn,after) The "after" token for the next time
+ # we send anything to this destination.
+ # flowctl($dest,$conn,queue) A list of items to send to this
+ # destination on this connection.
+ # flowctl($dest,$conn,lastsend) The time we last sent to this
+ # destination on this connection.
+ #
+ # NOTE: We do not limit the length of each item to send. This
+ # would lead to extremely hard to diagnose bugs due to commands
+ # (e.g. ctcp's) getting cut up into chunks.
+
+ variable flowctl
+
+ # The following setting determines the number of seconds that must
+ # pass between sends to any one destination+connection. If fewer
+ # seconds have passed since the last send, then flow control is
+ # activated for this destination+connection.
+
+ set flowctl(sendlimit) 2
+
+ # This procedure sends an item to a specific destination+connection.
+ # If possible, the item is sent right away. Otherwise it is enqueued
+ # for later sending.
+
+ proc enqueue {dest conn item} {
+ variable flowctl
+
+ # If this destination has a backlog, append the new
+ # items. Otherwise, check if the previous send was
+ # less than 2 seconds ago. If so, enqueue it for
+ # later sending. Otherwise send it now and record
+ # the time we sent this item.
+
+ if {[info exists flowctl($dest,$conn,after)]} {
+ lappend flowctl($dest,$conn,queue) $item
+ } else {
+ if {[catch {set lastsend $flowctl($dest,$conn,lastsend)}]} {
+ set lastsend 0
+ }
+ set now [clock seconds]
+ set lim $flowctl(sendlimit)
+ if {[expr $now - $lastsend] < $lim} {
+ lappend flowctl($dest,$conn,queue) $item
+ set wait [expr ($lim - ($now - $lastsend)) * 1000]
+ set flowctl($dest,$conn,after) \
+ [after $wait [list ::irk::sender $dest $conn]]
+ } else {
+ set flowctl($dest,$conn,lastsend) $now
+ puts $conn $item
+ }
+ }
+
+ return ""
+ }
+
+ # This procedure does the sending when flow control for a connection
+ # is activated.
+
+ proc sender {dest conn} {
+ variable flowctl
+
+ # First of all clear the after entry.
+
+ unset flowctl($dest,$conn,after)
+
+ # Grab the first item on the queue:
+
+ if {[info exists flowctl($dest,$conn,queue)]} {
+ set items $flowctl($dest,$conn,queue)
+ if {[string compare $items ""]} {
+ set item [lindex $items 0]
+ set rest [lrange $items 1 end]
+ if {[string compare $rest ""]} {
+ set lim [expr $flowctl(sendlimit) * 1000]
+ set flowctl($dest,$conn,queue) $rest
+ set flowctl($dest,$conn,after) \
+ [after $lim [list ::irk::sender $dest $conn]]
+ } else {
+ unset flowctl($dest,$conn,queue)
+ }
+
+ # Record time we last sent to this destination.
+
+ set flowctl($dest,$conn,lastsend) [clock seconds]
+
+ # Send this item:
+
+ puts $conn $item
+ } else {
+ unset flowctl($dest,$conn,queue)
+ }
+ }
+ }
+}
+
Property changes on: code/trunk/data/tcl/irk/lib/irkqueue.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkreceive.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkreceive.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkreceive.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,618 +1,618 @@
-# irkreceive.tcl:
-#
-# Various commands invoked in response to input received from the server:
-
-namespace eval irk {
-
- # This procedure deals with the PING special action:
-
- proc RECV,PING {token nick user comm dest rest} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid IRK connection"
- }
- puts $sock "PONG :$comm $rest"
-
- return ""
- }
-
- # This procedure deals with the NOTICE special action:
-
- proc RECV,NOTICE {token nick user comm dest rest} {
- variable state
-
- append state($token,GLOBALNOTICES) "$rest\n"
-
- return ""
- }
-
-
- # This procedure deals with the ERROR special action:
-
- proc RECV,ERROR {token nick user comm dest rest} {
- variable state
-
- set rest [eval concat $rest]
- append state($token,ERRORS) "$nick $dest $rest\n"
-# puts "Got ERROR: $token $nick ---> $dest: $rest"
- orxonox::execute error "Got ERROR: $token $nick ---> $dest: $rest"
-
- return ""
- }
-
- # This procedure deals with the AWAY response:
-
- proc RECV,AWAY {token nick user comm dest rest} {
- set id [lindex $rest 0]
- set rest [lrange $rest 1 end]
- set rest [lreplace $rest 0 0 [string range [lindex $rest 0] 1 end]]
- set rest [eval concat $rest]
- puts "$id is away: $rest"
-
- return ""
- }
-
- # This procedure deals with the WHOIS USER message:
-
- proc RECV,WHOIS,NICK,USER {token nick user comm dest rest} {
- variable state
-
- # Split the rest of the line on space:
-
- foreach {unick uuser uhost ustar urnm} [split $rest " "] break
-
- # If the WHOIS information is about this user, save it specially:
-
- if {[isus $token $unick]} {
- set state($token,uuser) $uuser
- set state($token,uhost) $uhost
- set state($token,urnm) $urnm
- }
-
- # Save the information for a regular user:
-
- set state($token,ident,$unick,uuser) $uuser
- set state($token,ident,$unick,uhost) $uhost
- set state($token,ident,$unick,urnm) $urnm
- }
-
- # This procedure deals with the WHOIS SERVER message:
-
- proc RECV,WHOIS,NICK,SERVER {token nick user comm dest rest} {
- variable state
-
- # Split the rest of the line on space:
-
- foreach {unick userv} [split $rest " "] break
-
- # If the WHOIS information is about this user, save it specially:
-
- if {[isus $token $unick]} {
- set state($token,userv) $userv
- }
-
- # Save the information for a regular user:
-
- set state($token,ident,$unick,userv) $userv
- }
-
- # This procedure deals with the WHOIS IDENT message
-
- proc RECV,WHOIS,NICK,IDENT {token nick user comm dest rest} {
- variable state
-
- # Extract the nick of the user who has identified
-
- set unick [lindex [split $rest " "] 0]
-
- # If the WHOIS information is about this user, save it specially:
-
- if {[isus $token $unick]} {
- set state($token,ident) 1
- }
-
- # Save the information for a regular user:
-
- set state($token,ident,$unick,ident) 1
- }
-
- # This procedure deals with the WHOIS CONNECTTIME message:
-
- proc RECV,WHOIS,NICK,CONNECTTIME {token nick user comm dest rest} {
- variable state
-
- # Split the rest of the input on space:
-
- foreach {unick idle connecttime} [split $rest " "] break
-
- # Format the connect time for this user:
-
- set connecttime [clock format $connecttime]
-
- # If the WHOIS information is about this user, save it specially:
-
- if {[isus $token $unick]} {
- set state($token,connecttime) $connecttime
- }
-
- # Save the information for a regular user:
-
- set state($token,ident,$unick,connecttime) $connecttime
- }
-
- # Handle the WHOIS CHANNELS message:
-
- proc RECV,WHOIS,NICK,CHANNELS {token nick user comm dest rest} {
- variable state
-
- # Split the rest on space.
-
- set rest [split $rest " "]
-
- # Get the nick for which this is the channel list:
-
- set unick [lindex $rest 0]
- set rest [lrange $rest 1 end]
-
- # The first channel may have an extra ":", if it does get rid of it.
-
- set firstchan [lindex $rest 0]
- if {[string match ":*" $firstchan]} {
- set rest [lreplace $rest 0 0 [string range $firstchan 1 end]]
- }
-
- # If the WHOIS information is about this user, save it specially:
-
- if {[isus $token $unick]} {
- set state($token,channels) $channels
- }
-
- # Save the information for a regular user:
-
- set state($token,ident,$unick,channels) $rest
- }
-
- # This procedure deals with the WHOIS END message:
-
- proc RECV,WHOIS,NICK,END {token nick user comm dest rest} {
- variable state
-
- set state($token,whois,done) 1
- }
-
- # This procedure deals with various MOTD actions:
-
- proc RECV,MOTD {token nick user comm dest rest} {
- variable state
-
- append state($token,MOTD) "${rest}\n"
-
- return ""
- }
-
- # This procedure deals with PONG actions:
-
- proc RECV,PONG {token nick user comm dest rest} {
- variable state
-
- if {[info exists state($token,PINGSTART)]} {
- set elapsed \
- [expr [clock clicks -millis] - $state($token,PINGSTART)]
- puts "$nick: $elapsed msecs"
- unset state($token,PINGSTART)
- }
-
- return ""
- }
-
- # This procedure deals with NOTICE received from a regular user:
-
- proc RECV,NOTICE,USER {token nick user comm dest rest} {
- if {[string match "\001*" [lindex $rest 0]]} {
- set rest [ctcpcleanup $rest]
- RECV,NOTICE,CTCP,USER $token $nick $user $comm $dest \
- [lindex $rest 0] [lrange $rest 1 end]
- } else {
- set rest [eval concat $rest]
- puts "$nick sends $dest a notice: $rest"
- }
-
- return ""
- }
-
- # This procedure helps with CTCP notice actions:
-
- proc RECV,NOTICE,CTCP,USER {token nick user comm dest action rest} {
- variable state
-
- if {[info exists state($token,response,ctcp,$action)]} {
- $state($token,response,ctcp,$action) \
- $token $nick $user $comm $dest \
- $action $rest
- } else {
- $state($token,response,ctcp,error) \
- $token $nick $user $comm $dest \
- $action $rest
- }
-
- return ""
- }
-
- # This procedure deals with JOIN actions:
-
- proc RECV,JOIN {token nick user comm dest rest} {
- variable state
-
- # Check if it's us that joined the channel or someone else.
-
- if {[isus $token $nick]} {
-# puts "You joined $dest"
- orxonox::irc::info $token "You joined $dest"
-
- addChannel $token $dest
- } else {
-# puts "$nick joined $dest"
- orxonox::irc::info $token "$nick joined $dest"
-
- addToChannel $token $nick $dest
- }
-
- return ""
- }
-
- # This procedure deals with PART actions:
-
- proc RECV,PART {token nick user comm dest rest} {
- variable state
-
- set chan [string tolower $dest]
-
- if {[isus $token $nick]} {
-# puts "You left channel $chan"
- orxonox::irc::info $token "You left channel $chan"
- } else {
-# puts "$nick left [string tolower $dest]"
- orxonox::irc::info $token "$nick left [string tolower $dest]"
- }
- removeFromChannel $token $nick $chan
- removeFromChannel $token @$nick $chan
-
- return ""
- }
-
- # This procedure deals with MODE actions:
-
- proc RECV,MODE {token nick user comm dest rest} {
- set rest [eval concat $rest]
-# puts "$nick sets mode $dest $rest"
- orxonox::irc::info "$nick $token sets mode $dest $rest"
-
- return ""
- }
-
- # This procedure deals with NICK actions:
-
- proc RECV,NICK {token nick user comm dest rest} {
- variable state
-
- set newnick [string range $dest 0 end]
-
- # If our nick changed, remember it as the nick associated with
- # this connection:
-
- if {[isus $token $nick]} {
- set state($token,nick) $newnick
- set state($token,$newnick,PRIVMSG) $state(PRIVMSG,unsolicited)
- catch {unset state($token,$nick,PRIVMSG)}
- }
-
- # Replace the old nick with the new in all channels that we're on:
-
- replaceAllChannels $token $nick $newnick
-
-# puts "$nick ${user} ($token) changes his/her nickname to $newnick"
- orxonox::irc::info $token "$nick changes his/her nickname to $newnick"
-
- return ""
- }
-
- # This procedure deals with QUIT actions:
-
- proc RECV,QUIT {token nick user comm dest rest} {
- variable state
-
- set rest [eval concat $rest]
-# puts "Received QUIT $token $nick $rest"
- orxonox::irc::info $token "Received QUIT $token $nick $rest"
-
- if {[string match ":*" $dest]} {
- set dest [string range $dest 1 end]
- }
- if {[isus $token $nick]} {
-# puts "You left the server $state($token,host) ($dest $rest)"
- orxonox::irc::info $token "You left the server $state($token,host) ($dest $rest)"
- forgetConnection $token
- } else {
- puts "$nick quits IRK ($dest $rest)"
- removeFromAllChannels $token $nick
- removeFromAllChannels $token @$nick
- }
-
- return ""
- }
-
- # This procedure deals with expected PRIVMSG actions:
-
- proc RECV,PRIVMSG {token nick user comm dest rest} {
- if {[string match "\001*" [lindex $rest 0]]} {
- set rest [ctcpcleanup $rest]
- RECV,PRIVMSG,CTCP,CHANNEL $token $nick $user $comm $dest \
- [lindex $rest 0] [lrange $rest 1 end]
- } else {
-# puts "$nick$dest: [eval concat $rest]"
- orxonox::irc::say $token $nick [eval concat $rest]
- }
-
- return ""
- }
-
- # This procedure handles CTCP actions on the channel:
-
- proc RECV,PRIVMSG,CTCP,CHANNEL {token nick user comm dest action rest} {
- variable state
-
- if {[info exists state($token,channel,ctcp,$action)]} {
- $state($token,channel,ctcp,$action) \
- $token $nick $user $comm $dest \
- $action $rest
- } else {
- $state($token,channel,ctcp,error) \
- $token $nick $user $comm $dest \
- $action $rest
- }
-
- return ""
- }
-
- # This procedure stores the result of USERHOST actions:
-
- proc RECV,USERHOST {token nick user comm dest rest} {
- return ""
- }
-
- # This procedure stores the channel topic:
-
- proc RECV,CHANNEL,TOPIC {token nick user comm dest rest} {
- variable state
-
- set chan [lindex $rest 0]
- set rest [lrange $rest 1 end]
- if {[string match ":*" [lindex $rest 0]]} {
- set rest [lreplace $rest 0 0 \
- [string range [lindex $rest 0] 1 end]]
- }
- set state($token,$chan,TOPIC) $rest
- set state($token,$chan,TOPIC,SETBY) $nick
- set state($token,$chan,TOPIC,SETAT) [clock format [clock seconds]]
-
- return ""
- }
-
- # This procedure stores the channel byline:
-
- proc RECV,CHANNEL,SETBY {token nick user comm dest rest} {
- variable state
-
- set chan [lindex $rest 0]
- set rest [lrange $rest 1 end]
- if {[string match ":*" [lindex $rest 0]]} {
- set rest [lreplace $rest 0 0 \
- [string range [lindex $rest 0] 1 end]]
- }
- set state($token,$chan,TOPIC,SETBY) [lindex $rest 0]
- set state($token,$chan,TOPIC,SETAT) [clock format [lindex $rest 1]]
-
- return ""
- }
-
- # This procedure deals with unsolicited PRIVMSG actions:
-
- proc RECV,PRIVMSG,unsolicited {token nick user comm dest rest} {
- if {[string match "\001*" [lindex $rest 0]]} {
- set rest [ctcpcleanup $rest]
- RECV,PRIVMSG,CTCP,USER $token $nick $user $comm $dest \
- [lindex $rest 0] [lrange $rest 1 end]
- } else {
-# puts "$nick: [eval concat $rest]"
- orxonox::irc::privmsg $nick $nick [eval concat $rest]
- }
-
- return ""
- }
-
- # This procedure helps with CTCP private messages:
-
- proc RECV,PRIVMSG,CTCP,USER {token nick user comm dest action rest} {
- variable state
-
- if {[info exists state($token,cmd,ctcp,$action)]} {
- $state($token,cmd,ctcp,$action) \
- $token $nick $user $comm $dest \
- $action $rest
- } else {
- $state($token,cmd,ctcp,error) \
- $token $nick $user $comm $dest \
- $action $rest
- }
-
- return ""
- }
-
- # This procedure deals with a KICK action:
-
- proc RECV,KICK {token nick user comm dest rest} {
- set kicked [lindex $rest 0]
- if {[string match ":*" $kicked]} {
- set kicked [string range $kicked 1 end]
- }
- set reason [eval concat [lrange $rest 1 end]]
- if {[string match ":*" $reason]} {
- set reason [string range $reason 1 end]
- }
-
- if {[isus $token $kicked]} {
-# puts "$nick kicked you from $dest because $reason"
- orxonox::irc::info $token "$nick kicked you from $dest because $reason"
-
- removeChannel $token $dest
- } else {
-# puts "$nick kicks $kicked from $dest because $reason"
- orxonox::irc::info $token "$nick kicks $kicked from $dest because $reason"
-
- removeFromChannel $token $kicked $dest
- removeFromChannel $token @$kicked $dest
- }
-
- return ""
- }
-
- # These procedures collect the name list for a channel:
-
- proc RECV,CHANNEL,NAMELIST {token nick user comm dest rest} {
- variable state
-
- # Scan forward in $rest for the channel name:
-
- for {set i 0; set l [llength $rest]} {$i < $l} {incr i} {
- if {[string match "#*" [lindex $rest $i]]} {
- break
- }
- }
-
- # Didn't find it?
-
- if {$i == $l} {
- return
- }
-
- # Extract the channel name and the rest of the input:
-
- set chan [lindex $rest $i]
- set rest [lrange $rest [expr $i + 1] end]
- set rest [lreplace $rest 0 0 [string range [lindex $rest 0] 1 end]]
- set rest [eval concat $rest]
-
- if {![info exists state($token,$chan,NAMES)]} {
- set state($token,$chan,NAMES) ""
- }
- set state($token,$chan,NAMES) [concat $state($token,$chan,NAMES) $rest]
-
- return ""
- }
-
- proc RECV,CHANNEL,NAMELIST,END {token nick user comm dest rest} {
- variable state
-
- set chan [lindex $rest 0]
- set $state($token,$chan,NAMES) [split $state($token,$chan,NAMES) " "]
- }
-
- # This procedure deals with a request from the server to send a PONG
- # with a given code.
-
- proc RECV,PONG,REQUEST {token nick user comm dest rest} {
- set pongcode [lindex $rest [expr [llength $rest] - 1]]
- puts $token "PONG $pongcode"
-
- return ""
- }
-
- # This procedure deals with a CTCP PING request:
-
- proc RECV,CTCP,PING {token nick user comm dest action rest} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid IRK connection"
- }
- puts $sock "NOTICE $nick :\001PING ${rest}\001"
-
- return ""
- }
-
- # This procedure deals with a CTCP TIME request:
-
- proc RECV,CTCP,TIME {token nick user comm dest action rest} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid IRK connection"
- }
- puts $sock \
- "NOTICE $nick :\001TIME :[clock format [clock seconds]]\001"
-
- return ""
- }
-
- # This procedure deals with a CTCP VERSION request:
-
- proc RECV,CTCP,VERSION {token nick user comm dest action rest} {
- variable state
- global tcl_platform
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid IRK connection"
- }
- set version "$state(-useragent):$state(-version):$tcl_platform(os)"
- puts $sock "NOTICE $nick :\001VERSION ${version}\001"
- }
-
- # This procedure deals with a CTCP USERINFO request:
-
- proc RECV,CTCP,USERINFO {token nick user comm dest action rest} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid IRK connection"
- }
- puts $sock "NOTICE $nick :\001USERINFO $state(-$token,user)\001"
- }
-
- # This procedure deals with CTCP ACTION messages:
-
- proc RECV,CTCP,ACTION {token nick user comm dest action rest} {
-# puts "$nick $rest"
- orxonox::irc::action $token $nick $rest
-
- return ""
- }
-
- # This procedure is a catch all for CTCP actions that we do not
- # understand:
-
- proc RECV,CTCP,ERROR {token nick user comm dest action rest} {
- variable state
-
- if {[catch {set sock $state($token,socket)}]} {
- error "$token: not a valid IRC connection"
- }
- if {[llength $rest] > 0} {
- puts $sock \
- "NOTICE $nick :\001ERRMSG $action $rest: unknown CTCP\001"
- } else {
- puts $sock "NOTICE $nick :\001ERRMSG $action: unknown CTCP\001"
- }
- }
-
- # This is the default action, used by the default dispatcher
- # when no action can be found for the given $token, $nick, $user,
- # $comm, and $dest.
-
- proc defaultAction {token nick user comm dest rest} {
-# puts "$token: $nick $user: $comm -> $dest ... [eval concat $rest]"
- orxonox::execute log "$token: $nick $user: $comm -> $dest ... [eval concat $rest]"
-
- return ""
- }
-}
+# irkreceive.tcl:
+#
+# Various commands invoked in response to input received from the server:
+
+namespace eval irk {
+
+ # This procedure deals with the PING special action:
+
+ proc RECV,PING {token nick user comm dest rest} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid IRK connection"
+ }
+ puts $sock "PONG :$comm $rest"
+
+ return ""
+ }
+
+ # This procedure deals with the NOTICE special action:
+
+ proc RECV,NOTICE {token nick user comm dest rest} {
+ variable state
+
+ append state($token,GLOBALNOTICES) "$rest\n"
+
+ return ""
+ }
+
+
+ # This procedure deals with the ERROR special action:
+
+ proc RECV,ERROR {token nick user comm dest rest} {
+ variable state
+
+ set rest [eval concat $rest]
+ append state($token,ERRORS) "$nick $dest $rest\n"
+# puts "Got ERROR: $token $nick ---> $dest: $rest"
+ orxonox::execute error "Got ERROR: $token $nick ---> $dest: $rest"
+
+ return ""
+ }
+
+ # This procedure deals with the AWAY response:
+
+ proc RECV,AWAY {token nick user comm dest rest} {
+ set id [lindex $rest 0]
+ set rest [lrange $rest 1 end]
+ set rest [lreplace $rest 0 0 [string range [lindex $rest 0] 1 end]]
+ set rest [eval concat $rest]
+ puts "$id is away: $rest"
+
+ return ""
+ }
+
+ # This procedure deals with the WHOIS USER message:
+
+ proc RECV,WHOIS,NICK,USER {token nick user comm dest rest} {
+ variable state
+
+ # Split the rest of the line on space:
+
+ foreach {unick uuser uhost ustar urnm} [split $rest " "] break
+
+ # If the WHOIS information is about this user, save it specially:
+
+ if {[isus $token $unick]} {
+ set state($token,uuser) $uuser
+ set state($token,uhost) $uhost
+ set state($token,urnm) $urnm
+ }
+
+ # Save the information for a regular user:
+
+ set state($token,ident,$unick,uuser) $uuser
+ set state($token,ident,$unick,uhost) $uhost
+ set state($token,ident,$unick,urnm) $urnm
+ }
+
+ # This procedure deals with the WHOIS SERVER message:
+
+ proc RECV,WHOIS,NICK,SERVER {token nick user comm dest rest} {
+ variable state
+
+ # Split the rest of the line on space:
+
+ foreach {unick userv} [split $rest " "] break
+
+ # If the WHOIS information is about this user, save it specially:
+
+ if {[isus $token $unick]} {
+ set state($token,userv) $userv
+ }
+
+ # Save the information for a regular user:
+
+ set state($token,ident,$unick,userv) $userv
+ }
+
+ # This procedure deals with the WHOIS IDENT message
+
+ proc RECV,WHOIS,NICK,IDENT {token nick user comm dest rest} {
+ variable state
+
+ # Extract the nick of the user who has identified
+
+ set unick [lindex [split $rest " "] 0]
+
+ # If the WHOIS information is about this user, save it specially:
+
+ if {[isus $token $unick]} {
+ set state($token,ident) 1
+ }
+
+ # Save the information for a regular user:
+
+ set state($token,ident,$unick,ident) 1
+ }
+
+ # This procedure deals with the WHOIS CONNECTTIME message:
+
+ proc RECV,WHOIS,NICK,CONNECTTIME {token nick user comm dest rest} {
+ variable state
+
+ # Split the rest of the input on space:
+
+ foreach {unick idle connecttime} [split $rest " "] break
+
+ # Format the connect time for this user:
+
+ set connecttime [clock format $connecttime]
+
+ # If the WHOIS information is about this user, save it specially:
+
+ if {[isus $token $unick]} {
+ set state($token,connecttime) $connecttime
+ }
+
+ # Save the information for a regular user:
+
+ set state($token,ident,$unick,connecttime) $connecttime
+ }
+
+ # Handle the WHOIS CHANNELS message:
+
+ proc RECV,WHOIS,NICK,CHANNELS {token nick user comm dest rest} {
+ variable state
+
+ # Split the rest on space.
+
+ set rest [split $rest " "]
+
+ # Get the nick for which this is the channel list:
+
+ set unick [lindex $rest 0]
+ set rest [lrange $rest 1 end]
+
+ # The first channel may have an extra ":", if it does get rid of it.
+
+ set firstchan [lindex $rest 0]
+ if {[string match ":*" $firstchan]} {
+ set rest [lreplace $rest 0 0 [string range $firstchan 1 end]]
+ }
+
+ # If the WHOIS information is about this user, save it specially:
+
+ if {[isus $token $unick]} {
+ set state($token,channels) $channels
+ }
+
+ # Save the information for a regular user:
+
+ set state($token,ident,$unick,channels) $rest
+ }
+
+ # This procedure deals with the WHOIS END message:
+
+ proc RECV,WHOIS,NICK,END {token nick user comm dest rest} {
+ variable state
+
+ set state($token,whois,done) 1
+ }
+
+ # This procedure deals with various MOTD actions:
+
+ proc RECV,MOTD {token nick user comm dest rest} {
+ variable state
+
+ append state($token,MOTD) "${rest}\n"
+
+ return ""
+ }
+
+ # This procedure deals with PONG actions:
+
+ proc RECV,PONG {token nick user comm dest rest} {
+ variable state
+
+ if {[info exists state($token,PINGSTART)]} {
+ set elapsed \
+ [expr [clock clicks -millis] - $state($token,PINGSTART)]
+ puts "$nick: $elapsed msecs"
+ unset state($token,PINGSTART)
+ }
+
+ return ""
+ }
+
+ # This procedure deals with NOTICE received from a regular user:
+
+ proc RECV,NOTICE,USER {token nick user comm dest rest} {
+ if {[string match "\001*" [lindex $rest 0]]} {
+ set rest [ctcpcleanup $rest]
+ RECV,NOTICE,CTCP,USER $token $nick $user $comm $dest \
+ [lindex $rest 0] [lrange $rest 1 end]
+ } else {
+ set rest [eval concat $rest]
+ puts "$nick sends $dest a notice: $rest"
+ }
+
+ return ""
+ }
+
+ # This procedure helps with CTCP notice actions:
+
+ proc RECV,NOTICE,CTCP,USER {token nick user comm dest action rest} {
+ variable state
+
+ if {[info exists state($token,response,ctcp,$action)]} {
+ $state($token,response,ctcp,$action) \
+ $token $nick $user $comm $dest \
+ $action $rest
+ } else {
+ $state($token,response,ctcp,error) \
+ $token $nick $user $comm $dest \
+ $action $rest
+ }
+
+ return ""
+ }
+
+ # This procedure deals with JOIN actions:
+
+ proc RECV,JOIN {token nick user comm dest rest} {
+ variable state
+
+ # Check if it's us that joined the channel or someone else.
+
+ if {[isus $token $nick]} {
+# puts "You joined $dest"
+ orxonox::irc::info $token "You joined $dest"
+
+ addChannel $token $dest
+ } else {
+# puts "$nick joined $dest"
+ orxonox::irc::info $token "$nick joined $dest"
+
+ addToChannel $token $nick $dest
+ }
+
+ return ""
+ }
+
+ # This procedure deals with PART actions:
+
+ proc RECV,PART {token nick user comm dest rest} {
+ variable state
+
+ set chan [string tolower $dest]
+
+ if {[isus $token $nick]} {
+# puts "You left channel $chan"
+ orxonox::irc::info $token "You left channel $chan"
+ } else {
+# puts "$nick left [string tolower $dest]"
+ orxonox::irc::info $token "$nick left [string tolower $dest]"
+ }
+ removeFromChannel $token $nick $chan
+ removeFromChannel $token @$nick $chan
+
+ return ""
+ }
+
+ # This procedure deals with MODE actions:
+
+ proc RECV,MODE {token nick user comm dest rest} {
+ set rest [eval concat $rest]
+# puts "$nick sets mode $dest $rest"
+ orxonox::irc::info "$nick $token sets mode $dest $rest"
+
+ return ""
+ }
+
+ # This procedure deals with NICK actions:
+
+ proc RECV,NICK {token nick user comm dest rest} {
+ variable state
+
+ set newnick [string range $dest 0 end]
+
+ # If our nick changed, remember it as the nick associated with
+ # this connection:
+
+ if {[isus $token $nick]} {
+ set state($token,nick) $newnick
+ set state($token,$newnick,PRIVMSG) $state(PRIVMSG,unsolicited)
+ catch {unset state($token,$nick,PRIVMSG)}
+ }
+
+ # Replace the old nick with the new in all channels that we're on:
+
+ replaceAllChannels $token $nick $newnick
+
+# puts "$nick ${user} ($token) changes his/her nickname to $newnick"
+ orxonox::irc::info $token "$nick changes his/her nickname to $newnick"
+
+ return ""
+ }
+
+ # This procedure deals with QUIT actions:
+
+ proc RECV,QUIT {token nick user comm dest rest} {
+ variable state
+
+ set rest [eval concat $rest]
+# puts "Received QUIT $token $nick $rest"
+ orxonox::irc::info $token "Received QUIT $token $nick $rest"
+
+ if {[string match ":*" $dest]} {
+ set dest [string range $dest 1 end]
+ }
+ if {[isus $token $nick]} {
+# puts "You left the server $state($token,host) ($dest $rest)"
+ orxonox::irc::info $token "You left the server $state($token,host) ($dest $rest)"
+ forgetConnection $token
+ } else {
+ puts "$nick quits IRK ($dest $rest)"
+ removeFromAllChannels $token $nick
+ removeFromAllChannels $token @$nick
+ }
+
+ return ""
+ }
+
+ # This procedure deals with expected PRIVMSG actions:
+
+ proc RECV,PRIVMSG {token nick user comm dest rest} {
+ if {[string match "\001*" [lindex $rest 0]]} {
+ set rest [ctcpcleanup $rest]
+ RECV,PRIVMSG,CTCP,CHANNEL $token $nick $user $comm $dest \
+ [lindex $rest 0] [lrange $rest 1 end]
+ } else {
+# puts "$nick$dest: [eval concat $rest]"
+ orxonox::irc::say $token $nick [eval concat $rest]
+ }
+
+ return ""
+ }
+
+ # This procedure handles CTCP actions on the channel:
+
+ proc RECV,PRIVMSG,CTCP,CHANNEL {token nick user comm dest action rest} {
+ variable state
+
+ if {[info exists state($token,channel,ctcp,$action)]} {
+ $state($token,channel,ctcp,$action) \
+ $token $nick $user $comm $dest \
+ $action $rest
+ } else {
+ $state($token,channel,ctcp,error) \
+ $token $nick $user $comm $dest \
+ $action $rest
+ }
+
+ return ""
+ }
+
+ # This procedure stores the result of USERHOST actions:
+
+ proc RECV,USERHOST {token nick user comm dest rest} {
+ return ""
+ }
+
+ # This procedure stores the channel topic:
+
+ proc RECV,CHANNEL,TOPIC {token nick user comm dest rest} {
+ variable state
+
+ set chan [lindex $rest 0]
+ set rest [lrange $rest 1 end]
+ if {[string match ":*" [lindex $rest 0]]} {
+ set rest [lreplace $rest 0 0 \
+ [string range [lindex $rest 0] 1 end]]
+ }
+ set state($token,$chan,TOPIC) $rest
+ set state($token,$chan,TOPIC,SETBY) $nick
+ set state($token,$chan,TOPIC,SETAT) [clock format [clock seconds]]
+
+ return ""
+ }
+
+ # This procedure stores the channel byline:
+
+ proc RECV,CHANNEL,SETBY {token nick user comm dest rest} {
+ variable state
+
+ set chan [lindex $rest 0]
+ set rest [lrange $rest 1 end]
+ if {[string match ":*" [lindex $rest 0]]} {
+ set rest [lreplace $rest 0 0 \
+ [string range [lindex $rest 0] 1 end]]
+ }
+ set state($token,$chan,TOPIC,SETBY) [lindex $rest 0]
+ set state($token,$chan,TOPIC,SETAT) [clock format [lindex $rest 1]]
+
+ return ""
+ }
+
+ # This procedure deals with unsolicited PRIVMSG actions:
+
+ proc RECV,PRIVMSG,unsolicited {token nick user comm dest rest} {
+ if {[string match "\001*" [lindex $rest 0]]} {
+ set rest [ctcpcleanup $rest]
+ RECV,PRIVMSG,CTCP,USER $token $nick $user $comm $dest \
+ [lindex $rest 0] [lrange $rest 1 end]
+ } else {
+# puts "$nick: [eval concat $rest]"
+ orxonox::irc::privmsg $nick $nick [eval concat $rest]
+ }
+
+ return ""
+ }
+
+ # This procedure helps with CTCP private messages:
+
+ proc RECV,PRIVMSG,CTCP,USER {token nick user comm dest action rest} {
+ variable state
+
+ if {[info exists state($token,cmd,ctcp,$action)]} {
+ $state($token,cmd,ctcp,$action) \
+ $token $nick $user $comm $dest \
+ $action $rest
+ } else {
+ $state($token,cmd,ctcp,error) \
+ $token $nick $user $comm $dest \
+ $action $rest
+ }
+
+ return ""
+ }
+
+ # This procedure deals with a KICK action:
+
+ proc RECV,KICK {token nick user comm dest rest} {
+ set kicked [lindex $rest 0]
+ if {[string match ":*" $kicked]} {
+ set kicked [string range $kicked 1 end]
+ }
+ set reason [eval concat [lrange $rest 1 end]]
+ if {[string match ":*" $reason]} {
+ set reason [string range $reason 1 end]
+ }
+
+ if {[isus $token $kicked]} {
+# puts "$nick kicked you from $dest because $reason"
+ orxonox::irc::info $token "$nick kicked you from $dest because $reason"
+
+ removeChannel $token $dest
+ } else {
+# puts "$nick kicks $kicked from $dest because $reason"
+ orxonox::irc::info $token "$nick kicks $kicked from $dest because $reason"
+
+ removeFromChannel $token $kicked $dest
+ removeFromChannel $token @$kicked $dest
+ }
+
+ return ""
+ }
+
+ # These procedures collect the name list for a channel:
+
+ proc RECV,CHANNEL,NAMELIST {token nick user comm dest rest} {
+ variable state
+
+ # Scan forward in $rest for the channel name:
+
+ for {set i 0; set l [llength $rest]} {$i < $l} {incr i} {
+ if {[string match "#*" [lindex $rest $i]]} {
+ break
+ }
+ }
+
+ # Didn't find it?
+
+ if {$i == $l} {
+ return
+ }
+
+ # Extract the channel name and the rest of the input:
+
+ set chan [lindex $rest $i]
+ set rest [lrange $rest [expr $i + 1] end]
+ set rest [lreplace $rest 0 0 [string range [lindex $rest 0] 1 end]]
+ set rest [eval concat $rest]
+
+ if {![info exists state($token,$chan,NAMES)]} {
+ set state($token,$chan,NAMES) ""
+ }
+ set state($token,$chan,NAMES) [concat $state($token,$chan,NAMES) $rest]
+
+ return ""
+ }
+
+ proc RECV,CHANNEL,NAMELIST,END {token nick user comm dest rest} {
+ variable state
+
+ set chan [lindex $rest 0]
+ set $state($token,$chan,NAMES) [split $state($token,$chan,NAMES) " "]
+ }
+
+ # This procedure deals with a request from the server to send a PONG
+ # with a given code.
+
+ proc RECV,PONG,REQUEST {token nick user comm dest rest} {
+ set pongcode [lindex $rest [expr [llength $rest] - 1]]
+ puts $token "PONG $pongcode"
+
+ return ""
+ }
+
+ # This procedure deals with a CTCP PING request:
+
+ proc RECV,CTCP,PING {token nick user comm dest action rest} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid IRK connection"
+ }
+ puts $sock "NOTICE $nick :\001PING ${rest}\001"
+
+ return ""
+ }
+
+ # This procedure deals with a CTCP TIME request:
+
+ proc RECV,CTCP,TIME {token nick user comm dest action rest} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid IRK connection"
+ }
+ puts $sock \
+ "NOTICE $nick :\001TIME :[clock format [clock seconds]]\001"
+
+ return ""
+ }
+
+ # This procedure deals with a CTCP VERSION request:
+
+ proc RECV,CTCP,VERSION {token nick user comm dest action rest} {
+ variable state
+ global tcl_platform
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid IRK connection"
+ }
+ set version "$state(-useragent):$state(-version):$tcl_platform(os)"
+ puts $sock "NOTICE $nick :\001VERSION ${version}\001"
+ }
+
+ # This procedure deals with a CTCP USERINFO request:
+
+ proc RECV,CTCP,USERINFO {token nick user comm dest action rest} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid IRK connection"
+ }
+ puts $sock "NOTICE $nick :\001USERINFO $state(-$token,user)\001"
+ }
+
+ # This procedure deals with CTCP ACTION messages:
+
+ proc RECV,CTCP,ACTION {token nick user comm dest action rest} {
+# puts "$nick $rest"
+ orxonox::irc::action $token $nick $rest
+
+ return ""
+ }
+
+ # This procedure is a catch all for CTCP actions that we do not
+ # understand:
+
+ proc RECV,CTCP,ERROR {token nick user comm dest action rest} {
+ variable state
+
+ if {[catch {set sock $state($token,socket)}]} {
+ error "$token: not a valid IRC connection"
+ }
+ if {[llength $rest] > 0} {
+ puts $sock \
+ "NOTICE $nick :\001ERRMSG $action $rest: unknown CTCP\001"
+ } else {
+ puts $sock "NOTICE $nick :\001ERRMSG $action: unknown CTCP\001"
+ }
+ }
+
+ # This is the default action, used by the default dispatcher
+ # when no action can be found for the given $token, $nick, $user,
+ # $comm, and $dest.
+
+ proc defaultAction {token nick user comm dest rest} {
+# puts "$token: $nick $user: $comm -> $dest ... [eval concat $rest]"
+ orxonox::execute log "$token: $nick $user: $comm -> $dest ... [eval concat $rest]"
+
+ return ""
+ }
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkreceive.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkservers.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkservers.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkservers.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,57 +1,57 @@
-# irkservers.tcl:
-#
-# This file defines the servers that are known to the Tcl IRK library.
-# It is actually a Tcl script and is source'd by the irk.tcl file.
-
-namespace eval ::irk {
-
- # This procedure helps define a new server:
-
- proc defineserver {symname host ports} {
- variable state
- variable symsrv
-
- # Auto initialize the list of known (symbolic names for) servers:
-
- if {![info exists state(servers)]} {
- set state(servers) {}
- }
-
- # Add an entry in the list of (symbolic names for) servers:
-
- lappend state(servers) $symname
-
- # Add an entry for the contact information of this symbolic server:
-
- set symsrv($symname) [list $host $ports]
- }
-
- # OK, now define a bunch of servers. This is where you can add your
- # own, or edit if things change:
-
- defineserver twisted twisted.ma.us.dal.net {6660 6661 6662 6663}
- defineserver dalnet irc.dal.net 6667
- defineserver undernet McLean.VA.us.undernet.org {6667 6668}
- defineserver efnet irc.Prison.NET 6666
- defineserver ircnet irc.stealth.net {6663 6664}
- defineserver powersurf irc.powersurfr.com 6667
- defineserver coins coins.dal.net {6667 6668 6669 7000}
- defineserver sodre sodre.on.ca.dal.net {6667 6668 6669 7000}
- defineserver austnet au.austnet.org 6667
- defineserver nznet nz.austnet.org 6667
- defineserver sgnet sg.austnet.org 6667
- defineserver us.efnet us.rr.efnet.net 6667
- defineserver eu.efnet eu.rr.efnet.net 6667
- defineserver ca.efnet ca.rr.efnet.net 6667
- defineserver au.efnet au.rr.efnet.net 6667
- defineserver us.ircnet us.ircnet.org {6665 6666 6667 6668}
- defineserver eu.ircnet eu.ircnet.org {6665 6666 6667 6668}
- defineserver ca.ircnet ca.ircnet.org {6665 6666 6667 6668}
- defineserver au.ircnet au.ircnet.org {6665 6666 6667 6668}
- defineserver us.undernet us.undernet.org 6667
- defineserver eu.undernet eu.undernet.org 6667
- defineserver othernet irc.othernet.org 6667
- defineserver de.quakenet de.quakenet.org 6667
- defineserver datacore irc.datacore.ch 6667
- defineserver orxonox irc.orxonox.net 6667
-}
+# irkservers.tcl:
+#
+# This file defines the servers that are known to the Tcl IRK library.
+# It is actually a Tcl script and is source'd by the irk.tcl file.
+
+namespace eval ::irk {
+
+ # This procedure helps define a new server:
+
+ proc defineserver {symname host ports} {
+ variable state
+ variable symsrv
+
+ # Auto initialize the list of known (symbolic names for) servers:
+
+ if {![info exists state(servers)]} {
+ set state(servers) {}
+ }
+
+ # Add an entry in the list of (symbolic names for) servers:
+
+ lappend state(servers) $symname
+
+ # Add an entry for the contact information of this symbolic server:
+
+ set symsrv($symname) [list $host $ports]
+ }
+
+ # OK, now define a bunch of servers. This is where you can add your
+ # own, or edit if things change:
+
+ defineserver twisted twisted.ma.us.dal.net {6660 6661 6662 6663}
+ defineserver dalnet irc.dal.net 6667
+ defineserver undernet McLean.VA.us.undernet.org {6667 6668}
+ defineserver efnet irc.Prison.NET 6666
+ defineserver ircnet irc.stealth.net {6663 6664}
+ defineserver powersurf irc.powersurfr.com 6667
+ defineserver coins coins.dal.net {6667 6668 6669 7000}
+ defineserver sodre sodre.on.ca.dal.net {6667 6668 6669 7000}
+ defineserver austnet au.austnet.org 6667
+ defineserver nznet nz.austnet.org 6667
+ defineserver sgnet sg.austnet.org 6667
+ defineserver us.efnet us.rr.efnet.net 6667
+ defineserver eu.efnet eu.rr.efnet.net 6667
+ defineserver ca.efnet ca.rr.efnet.net 6667
+ defineserver au.efnet au.rr.efnet.net 6667
+ defineserver us.ircnet us.ircnet.org {6665 6666 6667 6668}
+ defineserver eu.ircnet eu.ircnet.org {6665 6666 6667 6668}
+ defineserver ca.ircnet ca.ircnet.org {6665 6666 6667 6668}
+ defineserver au.ircnet au.ircnet.org {6665 6666 6667 6668}
+ defineserver us.undernet us.undernet.org 6667
+ defineserver eu.undernet eu.undernet.org 6667
+ defineserver othernet irc.othernet.org 6667
+ defineserver de.quakenet de.quakenet.org 6667
+ defineserver datacore irc.datacore.ch 6667
+ defineserver orxonox irc.orxonox.net 6667
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkservers.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkstate.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkstate.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkstate.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,134 +1,134 @@
-# irkstate.tcl:
-#
-# This file defines the contents of the ::irk::state array
-
-namespace eval ::irk {
-
- # The state array contains all the state for the IRK package:
- #
- # These options can be configured with irk::config:
- #
- # state(-useragent) Name of this IRK user agent.
- # state(-version) Version of this IRK user agent.
- #
- # state(-sockproxy) Name of SOCKS5 proxy to use (optional).
- # state(-socksport) Port on which SOCKS5 server accepts
- # connections (optional).
- #
- # state(-$symsrv,nick) If set and connect is called without giving
- # a nick, use this as the nickname.
- # state(-$symsrv,user) If set and connect is called without giving
- # a user, this is used. Otherwise, if it's not
- # set when connect is called without a user,
- # it is set to the given nickname (and used).
- # state(-$symsrv,pass) If set, and connect is called without giving
- # a password, this is used.
- #
- # state(-quitmessage) If set, the message is sent when a connection
- # is closed, as part of a QUIT command.
- #
- # These options cannot be configured with irk::config:
- #
- # state(connections) A list of all active connections.
- # state(dispatcher) The default command dispatcher (must be set).
- # state(action) The default action (must be set).
- # state(servers) List of known servers (further described in
- # the symsrv array below).
- #
- # The following state is kept per connection (identified by $contok):
- #
- # state($contok,socket) The socket for a given connection
- # state($contok,port) The port of a given connection
- # state($contok,host) The host of a given connection
- # state($contok,symsrv) The symbolic name of the server for
- # this connection.
- # state($contok,nick) The nick name used on a given connection
- # state($contok,user) The real user used on a given connection
- # state($contok,pass) The password used on a given connection
- # state($contok,disp) The command dispatcher for the connection
- #
- # Depending on the dispatcher associated with each connection, there
- # may be many more settings of the general form:
- #
- # state($contok,action,...)
- #
- # System wide responses to common commands are handled by
- # special actions, stored in the state array:
- #
- # state(PRIVMSG,unsolicited)
- # Action that responds to unsolicited private
- # messages directed at this user's nickname.
- # state(special,PING) Responds to PING messages.
- # state(special,NOTICE) Responds to NOTICE messages.
- # state(special,ERROR) Responds to ERROR messages.
- #
- # The IRK library provides a unified authorization mechanism, implemented
- # in irkauth.tcl. The state array contains two settings that affect the
- # behavior of the authorization mechanism:
- #
- # state(auth,save,file) Name of a file to save the authorization
- # information in. Defaults to auth.dat in the
- # directory containing the IRK package.
- # state(auth,save,interval) The number of milliseconds that pass between
- # autosaves of the authorization data.
-
- variable state
- array set state {
- -useragent "Tcl IRK Library"
- -version 0.1
- -quitmessage "gives up the ghost"
-
- dispatcher ::irk::defaultDispatcher
- action ::irk::defaultAction
-
- cmd,QUIT ::irk::RECV,QUIT
- cmd,JOIN ::irk::RECV,JOIN
- cmd,PART ::irk::RECV,PART
- cmd,MODE ::irk::RECV,MODE
- cmd,NICK ::irk::RECV,NICK
- cmd,PONG ::irk::RECV,PONG
- cmd,PRIVMSG ::irk::RECV,PRIVMSG
- cmd,NOTICE ::irk::RECV,NOTICE,USER
- cmd,KICK ::irk::RECV,KICK
- cmd,001 ::irk::RECV,MOTD
- cmd,002 ::irk::RECV,MOTD
- cmd,003 ::irk::RECV,MOTD
- cmd,004 ::irk::RECV,MOTD
- cmd,005 ::irk::RECV,MOTD
- cmd,250 ::irk::RECV,MOTD
- cmd,251 ::irk::RECV,MOTD
- cmd,252 ::irk::RECV,MOTD
- cmd,253 ::irk::RECV,MOTD
- cmd,254 ::irk::RECV,MOTD
- cmd,255 ::irk::RECV,MOTD
- cmd,265 ::irk::RECV,MOTD
- cmd,266 ::irk::RECV,MOTD
- cmd,301 ::irk::RECV,AWAY
- cmd,307 ::irk::RECV,WHOIS,NICK,IDENT
- cmd,311 ::irk::RECV,WHOIS,NICK,USER
- cmd,312 ::irk::RECV,WHOIS,NICK,SERVER
- cmd,317 ::irk::RECV,WHOIS,NICK,CONNECTTIME
- cmd,318 ::irk::RECV,WHOIS,NICK,END
- cmd,319 ::irk::RECV,WHOIS,NICK,CHANNELS
- cmd,372 ::irk::RECV,MOTD
- cmd,375 ::irk::RECV,MOTD
- cmd,376 ::irk::RECV,MOTD
- cmd,332 ::irk::RECV,CHANNEL,TOPIC
- cmd,333 ::irk::RECV,CHANNEL,SETBY
- cmd,353 ::irk::RECV,CHANNEL,NAMELIST
- cmd,366 ::irk::RECV,CHANNEL,NAMELIST,END
-
- cmd,513 ::irk::RECV,PONG,REQUEST
-
- special,PING ::irk::RECV,PING
- special,NOTICE ::irk::RECV,NOTICE
- special,ERROR ::irk::RECV,ERROR
-
- PRIVMSG,unsolicited ::irk::RECV,PRIVMSG,unsolicited
-
- errorhandler ::irk::echoerror
-
- auth,save,file [file join [file dir [info script]] auth.dat]
- auth,save,interval 300000
- }
-}
+# irkstate.tcl:
+#
+# This file defines the contents of the ::irk::state array
+
+namespace eval ::irk {
+
+ # The state array contains all the state for the IRK package:
+ #
+ # These options can be configured with irk::config:
+ #
+ # state(-useragent) Name of this IRK user agent.
+ # state(-version) Version of this IRK user agent.
+ #
+ # state(-sockproxy) Name of SOCKS5 proxy to use (optional).
+ # state(-socksport) Port on which SOCKS5 server accepts
+ # connections (optional).
+ #
+ # state(-$symsrv,nick) If set and connect is called without giving
+ # a nick, use this as the nickname.
+ # state(-$symsrv,user) If set and connect is called without giving
+ # a user, this is used. Otherwise, if it's not
+ # set when connect is called without a user,
+ # it is set to the given nickname (and used).
+ # state(-$symsrv,pass) If set, and connect is called without giving
+ # a password, this is used.
+ #
+ # state(-quitmessage) If set, the message is sent when a connection
+ # is closed, as part of a QUIT command.
+ #
+ # These options cannot be configured with irk::config:
+ #
+ # state(connections) A list of all active connections.
+ # state(dispatcher) The default command dispatcher (must be set).
+ # state(action) The default action (must be set).
+ # state(servers) List of known servers (further described in
+ # the symsrv array below).
+ #
+ # The following state is kept per connection (identified by $contok):
+ #
+ # state($contok,socket) The socket for a given connection
+ # state($contok,port) The port of a given connection
+ # state($contok,host) The host of a given connection
+ # state($contok,symsrv) The symbolic name of the server for
+ # this connection.
+ # state($contok,nick) The nick name used on a given connection
+ # state($contok,user) The real user used on a given connection
+ # state($contok,pass) The password used on a given connection
+ # state($contok,disp) The command dispatcher for the connection
+ #
+ # Depending on the dispatcher associated with each connection, there
+ # may be many more settings of the general form:
+ #
+ # state($contok,action,...)
+ #
+ # System wide responses to common commands are handled by
+ # special actions, stored in the state array:
+ #
+ # state(PRIVMSG,unsolicited)
+ # Action that responds to unsolicited private
+ # messages directed at this user's nickname.
+ # state(special,PING) Responds to PING messages.
+ # state(special,NOTICE) Responds to NOTICE messages.
+ # state(special,ERROR) Responds to ERROR messages.
+ #
+ # The IRK library provides a unified authorization mechanism, implemented
+ # in irkauth.tcl. The state array contains two settings that affect the
+ # behavior of the authorization mechanism:
+ #
+ # state(auth,save,file) Name of a file to save the authorization
+ # information in. Defaults to auth.dat in the
+ # directory containing the IRK package.
+ # state(auth,save,interval) The number of milliseconds that pass between
+ # autosaves of the authorization data.
+
+ variable state
+ array set state {
+ -useragent "Tcl IRK Library"
+ -version 0.1
+ -quitmessage "gives up the ghost"
+
+ dispatcher ::irk::defaultDispatcher
+ action ::irk::defaultAction
+
+ cmd,QUIT ::irk::RECV,QUIT
+ cmd,JOIN ::irk::RECV,JOIN
+ cmd,PART ::irk::RECV,PART
+ cmd,MODE ::irk::RECV,MODE
+ cmd,NICK ::irk::RECV,NICK
+ cmd,PONG ::irk::RECV,PONG
+ cmd,PRIVMSG ::irk::RECV,PRIVMSG
+ cmd,NOTICE ::irk::RECV,NOTICE,USER
+ cmd,KICK ::irk::RECV,KICK
+ cmd,001 ::irk::RECV,MOTD
+ cmd,002 ::irk::RECV,MOTD
+ cmd,003 ::irk::RECV,MOTD
+ cmd,004 ::irk::RECV,MOTD
+ cmd,005 ::irk::RECV,MOTD
+ cmd,250 ::irk::RECV,MOTD
+ cmd,251 ::irk::RECV,MOTD
+ cmd,252 ::irk::RECV,MOTD
+ cmd,253 ::irk::RECV,MOTD
+ cmd,254 ::irk::RECV,MOTD
+ cmd,255 ::irk::RECV,MOTD
+ cmd,265 ::irk::RECV,MOTD
+ cmd,266 ::irk::RECV,MOTD
+ cmd,301 ::irk::RECV,AWAY
+ cmd,307 ::irk::RECV,WHOIS,NICK,IDENT
+ cmd,311 ::irk::RECV,WHOIS,NICK,USER
+ cmd,312 ::irk::RECV,WHOIS,NICK,SERVER
+ cmd,317 ::irk::RECV,WHOIS,NICK,CONNECTTIME
+ cmd,318 ::irk::RECV,WHOIS,NICK,END
+ cmd,319 ::irk::RECV,WHOIS,NICK,CHANNELS
+ cmd,372 ::irk::RECV,MOTD
+ cmd,375 ::irk::RECV,MOTD
+ cmd,376 ::irk::RECV,MOTD
+ cmd,332 ::irk::RECV,CHANNEL,TOPIC
+ cmd,333 ::irk::RECV,CHANNEL,SETBY
+ cmd,353 ::irk::RECV,CHANNEL,NAMELIST
+ cmd,366 ::irk::RECV,CHANNEL,NAMELIST,END
+
+ cmd,513 ::irk::RECV,PONG,REQUEST
+
+ special,PING ::irk::RECV,PING
+ special,NOTICE ::irk::RECV,NOTICE
+ special,ERROR ::irk::RECV,ERROR
+
+ PRIVMSG,unsolicited ::irk::RECV,PRIVMSG,unsolicited
+
+ errorhandler ::irk::echoerror
+
+ auth,save,file [file join [file dir [info script]] auth.dat]
+ auth,save,interval 300000
+ }
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkstate.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/lib/irkutil.tcl
===================================================================
--- code/trunk/data/tcl/irk/lib/irkutil.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/lib/irkutil.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,144 +1,144 @@
-# irkutil.tcl:
-#
-# Utility procedures used throughout the IRK package.
-
-namespace eval ::irk {
-
- # The randselect randomly selects an element of a given list.
-
- proc randselect {l} {
- lindex $l [expr int(floor(rand() * [llength $l]))]
- }
-
- # Remove a user from the list of users on a channel
-
- proc removeFromChannel {token user chan} {
- variable state
-
- # If it's us that left the channel, forget the channel:
-
- if {![string compare $state($token,nick) $user]} {
- removeChannel $token $chan
- return
- }
-
- # Try to retrieve the channel's user list:
-
- if {[catch {set users $state($token,$chan,NAMES)}]} {
- return
- }
- set idx [lsearch $users $user]
- if {$idx == -1} {
- return
- }
-
- # Remove the user:
-
- set state($token,$chan,NAMES) [lreplace $users $idx $idx]
- }
-
- # Remove a user from all the channels I am on (for QUIT etc.)
-
- proc removeFromAllChannels {token user} {
- variable state
-
- foreach chan $state($token,channels) {
- removeFromChannel $token $user $chan
- }
- }
-
- # Add a user to a channel I am on.
-
- proc addToChannel {token user chan} {
- variable state
-
- lappend state($token,$chan,NAMES) $user
- }
-
- # Add a channel to the list of channels we're on:
-
- proc addChannel {token chan} {
- variable state
-
- lappend state($token,channels) $chan
- }
-
- # Remove a channel from the list of channels we're on:
-
- proc removeChannel {token chan} {
- variable state
-
- if {[catch {set channels $state($token,channels)}]} {
- return
- }
- set idx [lsearch $channels $chan]
- if {$idx == -1} {
- return
- }
-
- # Remove this channel from the list of channels we're on:
-
- set state($token,channels) [lreplace $channels $idx $idx]
-
- # Forget all state for this channel:
-
- array unset state $token,$chan,*
- }
-
- # This procedure cleans up all state associated with a connection:
-
- proc forgetConnection {token} {
- variable state
-
- array unset state $token,*
- }
-
- # This procedure updates the channel names for all channels we're on
- # due to a nick change.
-
- proc replaceAllChannels {token nick newnick} {
- variable state
-
- # If we're not on any channels, then no need to replace.
-
- if {![info exists state($token,channels)]} {
- return
- }
-
- # Replace the old nick with the new nick in all the channels I'm on.
-
- foreach chan $state($token,channels) {
- if {[catch {set names $state($token,$chan,NAMES)}]} {
- continue
- }
- set idx [lsearch $names $nick]
- if {$idx != -1} {
- set state($token,$chan,NAMES) \
- [lreplace $names $idx $idx $newnick]
- }
- }
- }
-
- # This procedure determines whether a nick is our nick.
-
- proc isus {token nick} {
- variable state
-
- if {![string compare $nick $state($token,nick)]} {
- return 1
- }
- return 0
- }
-
- # This procedure cleans up input received as part of a CTCP action.
-
- proc ctcpcleanup {l} {
- if {[llength $l] > 1} {
- set h [string range [lindex $l 0] 1 end]
- set t [string range [lindex $l end] 0 end-1]
- return [lreplace [lreplace $l 0 0 $h] end end $t]
- }
- return [string range $l 1 end-1]
- }
-
-}
+# irkutil.tcl:
+#
+# Utility procedures used throughout the IRK package.
+
+namespace eval ::irk {
+
+ # The randselect randomly selects an element of a given list.
+
+ proc randselect {l} {
+ lindex $l [expr int(floor(rand() * [llength $l]))]
+ }
+
+ # Remove a user from the list of users on a channel
+
+ proc removeFromChannel {token user chan} {
+ variable state
+
+ # If it's us that left the channel, forget the channel:
+
+ if {![string compare $state($token,nick) $user]} {
+ removeChannel $token $chan
+ return
+ }
+
+ # Try to retrieve the channel's user list:
+
+ if {[catch {set users $state($token,$chan,NAMES)}]} {
+ return
+ }
+ set idx [lsearch $users $user]
+ if {$idx == -1} {
+ return
+ }
+
+ # Remove the user:
+
+ set state($token,$chan,NAMES) [lreplace $users $idx $idx]
+ }
+
+ # Remove a user from all the channels I am on (for QUIT etc.)
+
+ proc removeFromAllChannels {token user} {
+ variable state
+
+ foreach chan $state($token,channels) {
+ removeFromChannel $token $user $chan
+ }
+ }
+
+ # Add a user to a channel I am on.
+
+ proc addToChannel {token user chan} {
+ variable state
+
+ lappend state($token,$chan,NAMES) $user
+ }
+
+ # Add a channel to the list of channels we're on:
+
+ proc addChannel {token chan} {
+ variable state
+
+ lappend state($token,channels) $chan
+ }
+
+ # Remove a channel from the list of channels we're on:
+
+ proc removeChannel {token chan} {
+ variable state
+
+ if {[catch {set channels $state($token,channels)}]} {
+ return
+ }
+ set idx [lsearch $channels $chan]
+ if {$idx == -1} {
+ return
+ }
+
+ # Remove this channel from the list of channels we're on:
+
+ set state($token,channels) [lreplace $channels $idx $idx]
+
+ # Forget all state for this channel:
+
+ array unset state $token,$chan,*
+ }
+
+ # This procedure cleans up all state associated with a connection:
+
+ proc forgetConnection {token} {
+ variable state
+
+ array unset state $token,*
+ }
+
+ # This procedure updates the channel names for all channels we're on
+ # due to a nick change.
+
+ proc replaceAllChannels {token nick newnick} {
+ variable state
+
+ # If we're not on any channels, then no need to replace.
+
+ if {![info exists state($token,channels)]} {
+ return
+ }
+
+ # Replace the old nick with the new nick in all the channels I'm on.
+
+ foreach chan $state($token,channels) {
+ if {[catch {set names $state($token,$chan,NAMES)}]} {
+ continue
+ }
+ set idx [lsearch $names $nick]
+ if {$idx != -1} {
+ set state($token,$chan,NAMES) \
+ [lreplace $names $idx $idx $newnick]
+ }
+ }
+ }
+
+ # This procedure determines whether a nick is our nick.
+
+ proc isus {token nick} {
+ variable state
+
+ if {![string compare $nick $state($token,nick)]} {
+ return 1
+ }
+ return 0
+ }
+
+ # This procedure cleans up input received as part of a CTCP action.
+
+ proc ctcpcleanup {l} {
+ if {[llength $l] > 1} {
+ set h [string range [lindex $l 0] 1 end]
+ set t [string range [lindex $l end] 0 end-1]
+ return [lreplace [lreplace $l 0 0 $h] end end $t]
+ }
+ return [string range $l 1 end-1]
+ }
+
+}
Property changes on: code/trunk/data/tcl/irk/lib/irkutil.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/pkgIndex.tcl
===================================================================
--- code/trunk/data/tcl/irk/pkgIndex.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/pkgIndex.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,12 +1,12 @@
-# Tcl package index file, version 1.1
-# This file is generated by the "pkg_mkIndex" command
-# and sourced either when an application starts up or
-# by a "package unknown" script. It invokes the
-# "package ifneeded" command to set up package-related
-# information so that packages will be loaded automatically
-# in response to "package require" commands. When this
-# script is sourced, the variable $dir must contain the
-# full path name of this file's directory.
-
-package ifneeded socks 1.2 [list source [file join $dir socks socks.tcl]]
+# Tcl package index file, version 1.1
+# This file is generated by the "pkg_mkIndex" command
+# and sourced either when an application starts up or
+# by a "package unknown" script. It invokes the
+# "package ifneeded" command to set up package-related
+# information so that packages will be loaded automatically
+# in response to "package require" commands. When this
+# script is sourced, the variable $dir must contain the
+# full path name of this file's directory.
+
+package ifneeded socks 1.2 [list source [file join $dir socks socks.tcl]]
package ifneeded irk 0.1 [list source [file join $dir irk.tcl]]
\ No newline at end of file
Property changes on: code/trunk/data/tcl/irk/pkgIndex.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/trunk/data/tcl/irk/socks/socks.tcl
===================================================================
--- code/trunk/data/tcl/irk/socks/socks.tcl 2009-08-30 00:50:11 UTC (rev 5699)
+++ code/trunk/data/tcl/irk/socks/socks.tcl 2009-08-30 10:01:14 UTC (rev 5700)
@@ -1,347 +1,347 @@
-# Socks5 Client Library v1.2
-#
-# Original author: (C)2000 Kerem 'Waster_' HADIMLI
-#
-# Author contact information:
-# E-mail : waster at iname.com
-# ICQ# : 27216346
-# Jabber : waster at jabber.org (New IM System - http://www.jabber.org)
-#
-# Cleaned up a little by Jacob Levy, jyl at best.com (01/07/2001)
-#
-# * Moved everything into the ::socks:: namespace.
-# * Parameterized so that constants do not get reset for every connection.
-# * Uniform error handling and cleanup.
-# * Incremented the version number to 1.2.
-#
-# How to use:
-#
-# Step 1: Create your client socket connected to the SOCKS5 server.
-#
-# Step 2: Call socks::init sock host port ?auth? ?user? ?pass?
-# where:
-#
-# sock The socket from step #1.
-# host The remote host to connect to through the proxy.
-# port The remote port to connect to through the proxy.
-# auth Optional. If 1, it means that we do an
-# authentication with the proxy server.
-# user Optional. If present, the user name to use for
-# authentication with the proxy server.
-# pass Optional. If present, the password for the user
-# name to use for authentication with the
-# proxy server.
-#
-# If auth == 1, user and pass are not present, and socks::state(username)
-# and socks::state(pass) are set, then socks::init uses the values from
-# socks::state(username) and socks::state(password) for user name and
-# password, respectively.
-#
-# If anything goes wrong during the attempt to connect through the
-# proxy server, socks::init throws an appropriate error and closes
-# the socket. If the operation succeeds, socks::init returns $sock.
-#
-# You can set up your socket with fconfigure before calling socks::init,
-# the socks::init procedure is careful to restore the state to what it
-# was before the call upon successful completion. Likewise, you can
-# have fileevent handlers installed for handling socket readable and
-# socket writable events. These will also be preserved.
-
-# This file provides the "socks" package:
-
-package provide socks 1.2
-
-# Global settings:
-
-namespace eval ::socks {
- variable state
-
- array set state {
- protocolversion "\x05"
- cmdconnect "\x01"
- addresstype "\x03"
- reserved "\x00"
-
- noauthmethod "\x00"
- noauthlengthstr "\x01"
-
- authmethod "\x00\x02"
- authlengthstr "\x02"
-
- nomatchingmethod "\xFF"
- nomatchlengthstr "\x01"
-
- authenticationversion "\x01"
-
- errorheader "Error: "
- error1 "General SOCKS server failure"
- error2 "Connection not allowed by ruleset"
- error3 "Network unreachable"
- error4 "Host unreachable"
- error5 "Connection refused"
- error6 "TTL expired"
- error7 "Command not supported"
- error8 "Address type not supported"
- errorUnknown "Unknown error"
-
- errorDisconnect "SOCKS server disconnected"
- errorNotSOCKS5 "SOCKS server does not support SOCKS 5"
- errorMustAuthenticate "SOCKS server demands user/pass authentication"
- errorAuthMethodNotSup "SOCKS server doesn't support user/pass auth"
- errorWrongUserPass "Wrong user name or password"
- errorIncorrectAuthVal "Incorrect value for $auth, expecting 1 or 0"
- errorMissingUserAndPass "Missing user and pass, required for auth == 1"
- }
-}
-
-# Error handling and cleanup:
-
-proc ::socks::Error {sock errorMsg} {
- variable state
-
- # Attempt to close the socket. This also cancels any installed
- # fileevent handlers, so no need to do that explicitly.
-
- catch {close $sock}
-
- # Clean up the state we keep about this socket:
-
- catch {array unset state $sock,*}
-
- # Report the requested error:
-
- error "$state(errorheader)$state($errorMsg)"
-}
-
-# Main entry point: socks::init
-#
-# See comment at head of file for how to use.
-
-proc ::socks::init {sock addr port {auth 0} {user {}} {pass {}}} {
- variable state
-
- # Save current configuration state for $sock
-
- set currentConfiguration [fconfigure $sock]
-
- # We cannot configure -peername so if its present (it should be)
- # then remove it from the list of options.
-
- set idx [lsearch $currentConfiguration -peername]
- if {$idx != -1} {
- set currentConfiguration \
- [lreplace $currentConfiguration $idx [expr $idx + 1]]
- }
-
- # Same for -sockname.
-
- set idx [lsearch $currentConfiguration -sockname]
- if {$idx != -1} {
- set currentConfiguration \
- [lreplace $currentConfiguration $idx [expr $idx + 1]]
- }
-
- # Save any currently installed handler for fileevent readable:
-
- set currentReadableHandler [fileevent $sock readable]
-
- # If the user has "set and forget" user name and password, and
- # indicates that she wants to use them, use them now:
-
- if {($auth == 1) && (![string compare {} $user]) \
- && (![string compare {} $pass])} {
- if {[info exists state(username)] && [info exists state(password)]} {
- set auth 1
- set user $state(username)
- set pass $state(password)
- } else {
- Error $sock errorMissingUserAndPass
- }
- }
-
- # Figure out the authentication method to use:
-
- if {$auth == 0} {
- set nmethods $state(noauthlengthstr)
- set method $state(noauthmethod)
- } elseif {$auth == 1} {
- set nmethods $state(authlengthstr)
- set method $state(authmethod)
- } else {
- Error $sock errorIncorrectAuthVal
- }
-
- # Encode the length of the address given (binary 1 byte):
-
- set domainlen "[binary format c [string length $addr]]"
-
- # Encode the port (network byte order, 2 bytes):
-
- set port [binary format S $port]
-
- if {$auth == 1} {
- # Encode the length of the user given (binary 1 byte):
-
- set userlen "[binary format c [string length $user]]"
-
- # Encode the length of the password given (binary 1 byte):
-
- set passlen "[binary format c [string length $pass]]"
- }
-
- # Set up initial state for the given socket:
-
- set state($sock,state) $sock
- set state($sock,data) ""
-
- # Prepare the socket:
-
- fconfigure $sock -translation {binary binary} -blocking 0
- fileevent $sock readable "::socks::readable $sock"
-
- # Tell the server what version and authentication method we're using:
-
- puts -nonewline $sock "$state(protocolversion)$nmethods$method"
- flush $sock
-
- # Wait for server response and retrieve the information sent by the
- # server:
-
- vwait ::socks::state($sock,state)
- set serverReply $state($sock,data)
-
- if {[eof $sock]} {
- Error $sock errorDisconnect
- }
-
- # Analyze the server's reply:
-
- set serverVersion ""
- set serverMethod $state(nomatchingmethod)
-
- binary scan $serverReply "cc" serverVersion serverMethod
-
- # Check for various error conditions:
-
- if {$serverVersion != 5} {
-
- # Server does not support SOCKS5 protocol
-
- Error $sock errorNotSOCKS5
- }
-
- # If server demands authentication, do that step now:
-
- if {$serverMethod == 2} {
-
- if {$auth == 0} {
-
- # We didn't supply user/pass but server wants us to authenticate:
-
- Error $sock errorMustAuthenticate
- }
-
- puts -nonewline $sock \
- "$state(authenticationversion)$userlen$user$passlen$pass"
- flush $sock
-
- # Wait again for server reply:
-
- vwait ::socks::state($sock,state)
- set serverReply $state($sock,data)
-
- # Analyze the server reply:
-
- set authenticationVersion ""
- set serverStatus "\x00"
-
- binary scan $serverReply "cc" authenticationVersion serverStatus
-
- # Deal with errors:
-
- if {$authenticationVersion != 1} {
-
- # Server does not support our user/pass authentication method:
-
- Error $sock errorAuthMethodNotSup
- }
-
- if {$serverStatus != 0} {
-
- # We supplied wrong user/pass combination:
-
- Error $Sock errorWrongUserPass
- }
- } elseif {$serverMethod != 0} {
-
- # Unknown method. Clean up:
-
- Error $sock errorUnsupportedMethod
- }
-
- # Finally tell the server to connect us to the requested host and port:
-
- puts -nonewline $sock \
- "$state(protocolversion)$state(cmdconnect)$state(reserved)"
- puts -nonewline $sock "$state(addresstype)$domainlen$addr$port"
- flush $sock
-
- # Wait again for server response:
-
- vwait ::socks::state($sock,state)
- set serverReply $state($sock,data)
-
- if {[eof $sock]} {
- Error $sock errorDisconnect
- }
-
- # Analyze server reply:
-
- set serverVersion ""
- set serverReplyCode ""
-
- binary scan $serverReply "cc" serverVersion serverReplyCode
-
- # Deal with errors:
-
- if {$serverVersion != 5} {
- Error $sock errorNotSOCKS5
- }
-
- if {$serverReplyCode != 0} {
- if {($serverReplyCode > 0) && ($serverReplyCode < 9)} {
- Error $sock error$serverReplyCode
- }
- Error $sock errorUnknown
- }
-
- # All done, clean up state, reconfigure $sock to its original state,
- # remove our fileevent handler and potentially restore the original
- # one if one was present.
-
- fileevent $sock readable {}
- if {[string compare $currentReadableHandler ""]} {
- fileevent $sock readable $currentReadableHandler
- }
- catch {eval fconfigure $sock $currentConfiguration}
- catch {array unset state $sock,*}
-
- # For good measure return the socket:
-
- return $sock
-}
-
-# This procedure reads input available from the server socket and then
-# changes a state variable so that the main program will be woken up.
-
-proc ::socks::readable {sock} {
- variable state
-
- # Wake up the vwait:
-
- set state($sock,state) $sock
-
- # Read the data:
-
- set state($sock,data) [read $sock]
-}
+# Socks5 Client Library v1.2
+#
+# Original author: (C)2000 Kerem 'Waster_' HADIMLI
+#
+# Author contact information:
+# E-mail : waster at iname.com
+# ICQ# : 27216346
+# Jabber : waster at jabber.org (New IM System - http://www.jabber.org)
+#
+# Cleaned up a little by Jacob Levy, jyl at best.com (01/07/2001)
+#
+# * Moved everything into the ::socks:: namespace.
+# * Parameterized so that constants do not get reset for every connection.
+# * Uniform error handling and cleanup.
+# * Incremented the version number to 1.2.
+#
+# How to use:
+#
+# Step 1: Create your client socket connected to the SOCKS5 server.
+#
+# Step 2: Call socks::init sock host port ?auth? ?user? ?pass?
+# where:
+#
+# sock The socket from step #1.
+# host The remote host to connect to through the proxy.
+# port The remote port to connect to through the proxy.
+# auth Optional. If 1, it means that we do an
+# authentication with the proxy server.
+# user Optional. If present, the user name to use for
+# authentication with the proxy server.
+# pass Optional. If present, the password for the user
+# name to use for authentication with the
+# proxy server.
+#
+# If auth == 1, user and pass are not present, and socks::state(username)
+# and socks::state(pass) are set, then socks::init uses the values from
+# socks::state(username) and socks::state(password) for user name and
+# password, respectively.
+#
+# If anything goes wrong during the attempt to connect through the
+# proxy server, socks::init throws an appropriate error and closes
+# the socket. If the operation succeeds, socks::init returns $sock.
+#
+# You can set up your socket with fconfigure before calling socks::init,
+# the socks::init procedure is careful to restore the state to what it
+# was before the call upon successful completion. Likewise, you can
+# have fileevent handlers installed for handling socket readable and
+# socket writable events. These will also be preserved.
+
+# This file provides the "socks" package:
+
+package provide socks 1.2
+
+# Global settings:
+
+namespace eval ::socks {
+ variable state
+
+ array set state {
+ protocolversion "\x05"
+ cmdconnect "\x01"
+ addresstype "\x03"
+ reserved "\x00"
+
+ noauthmethod "\x00"
+ noauthlengthstr "\x01"
+
+ authmethod "\x00\x02"
+ authlengthstr "\x02"
+
+ nomatchingmethod "\xFF"
+ nomatchlengthstr "\x01"
+
+ authenticationversion "\x01"
+
+ errorheader "Error: "
+ error1 "General SOCKS server failure"
+ error2 "Connection not allowed by ruleset"
+ error3 "Network unreachable"
+ error4 "Host unreachable"
+ error5 "Connection refused"
+ error6 "TTL expired"
+ error7 "Command not supported"
+ error8 "Address type not supported"
+ errorUnknown "Unknown error"
+
+ errorDisconnect "SOCKS server disconnected"
+ errorNotSOCKS5 "SOCKS server does not support SOCKS 5"
+ errorMustAuthenticate "SOCKS server demands user/pass authentication"
+ errorAuthMethodNotSup "SOCKS server doesn't support user/pass auth"
+ errorWrongUserPass "Wrong user name or password"
+ errorIncorrectAuthVal "Incorrect value for $auth, expecting 1 or 0"
+ errorMissingUserAndPass "Missing user and pass, required for auth == 1"
+ }
+}
+
+# Error handling and cleanup:
+
+proc ::socks::Error {sock errorMsg} {
+ variable state
+
+ # Attempt to close the socket. This also cancels any installed
+ # fileevent handlers, so no need to do that explicitly.
+
+ catch {close $sock}
+
+ # Clean up the state we keep about this socket:
+
+ catch {array unset state $sock,*}
+
+ # Report the requested error:
+
+ error "$state(errorheader)$state($errorMsg)"
+}
+
+# Main entry point: socks::init
+#
+# See comment at head of file for how to use.
+
+proc ::socks::init {sock addr port {auth 0} {user {}} {pass {}}} {
+ variable state
+
+ # Save current configuration state for $sock
+
+ set currentConfiguration [fconfigure $sock]
+
+ # We cannot configure -peername so if its present (it should be)
+ # then remove it from the list of options.
+
+ set idx [lsearch $currentConfiguration -peername]
+ if {$idx != -1} {
+ set currentConfiguration \
+ [lreplace $currentConfiguration $idx [expr $idx + 1]]
+ }
+
+ # Same for -sockname.
+
+ set idx [lsearch $currentConfiguration -sockname]
+ if {$idx != -1} {
+ set currentConfiguration \
+ [lreplace $currentConfiguration $idx [expr $idx + 1]]
+ }
+
+ # Save any currently installed handler for fileevent readable:
+
+ set currentReadableHandler [fileevent $sock readable]
+
+ # If the user has "set and forget" user name and password, and
+ # indicates that she wants to use them, use them now:
+
+ if {($auth == 1) && (![string compare {} $user]) \
+ && (![string compare {} $pass])} {
+ if {[info exists state(username)] && [info exists state(password)]} {
+ set auth 1
+ set user $state(username)
+ set pass $state(password)
+ } else {
+ Error $sock errorMissingUserAndPass
+ }
+ }
+
+ # Figure out the authentication method to use:
+
+ if {$auth == 0} {
+ set nmethods $state(noauthlengthstr)
+ set method $state(noauthmethod)
+ } elseif {$auth == 1} {
+ set nmethods $state(authlengthstr)
+ set method $state(authmethod)
+ } else {
+ Error $sock errorIncorrectAuthVal
+ }
+
+ # Encode the length of the address given (binary 1 byte):
+
+ set domainlen "[binary format c [string length $addr]]"
+
+ # Encode the port (network byte order, 2 bytes):
+
+ set port [binary format S $port]
+
+ if {$auth == 1} {
+ # Encode the length of the user given (binary 1 byte):
+
+ set userlen "[binary format c [string length $user]]"
+
+ # Encode the length of the password given (binary 1 byte):
+
+ set passlen "[binary format c [string length $pass]]"
+ }
+
+ # Set up initial state for the given socket:
+
+ set state($sock,state) $sock
+ set state($sock,data) ""
+
+ # Prepare the socket:
+
+ fconfigure $sock -translation {binary binary} -blocking 0
+ fileevent $sock readable "::socks::readable $sock"
+
+ # Tell the server what version and authentication method we're using:
+
+ puts -nonewline $sock "$state(protocolversion)$nmethods$method"
+ flush $sock
+
+ # Wait for server response and retrieve the information sent by the
+ # server:
+
+ vwait ::socks::state($sock,state)
+ set serverReply $state($sock,data)
+
+ if {[eof $sock]} {
+ Error $sock errorDisconnect
+ }
+
+ # Analyze the server's reply:
+
+ set serverVersion ""
+ set serverMethod $state(nomatchingmethod)
+
+ binary scan $serverReply "cc" serverVersion serverMethod
+
+ # Check for various error conditions:
+
+ if {$serverVersion != 5} {
+
+ # Server does not support SOCKS5 protocol
+
+ Error $sock errorNotSOCKS5
+ }
+
+ # If server demands authentication, do that step now:
+
+ if {$serverMethod == 2} {
+
+ if {$auth == 0} {
+
+ # We didn't supply user/pass but server wants us to authenticate:
+
+ Error $sock errorMustAuthenticate
+ }
+
+ puts -nonewline $sock \
+ "$state(authenticationversion)$userlen$user$passlen$pass"
+ flush $sock
+
+ # Wait again for server reply:
+
+ vwait ::socks::state($sock,state)
+ set serverReply $state($sock,data)
+
+ # Analyze the server reply:
+
+ set authenticationVersion ""
+ set serverStatus "\x00"
+
+ binary scan $serverReply "cc" authenticationVersion serverStatus
+
+ # Deal with errors:
+
+ if {$authenticationVersion != 1} {
+
+ # Server does not support our user/pass authentication method:
+
+ Error $sock errorAuthMethodNotSup
+ }
+
+ if {$serverStatus != 0} {
+
+ # We supplied wrong user/pass combination:
+
+ Error $Sock errorWrongUserPass
+ }
+ } elseif {$serverMethod != 0} {
+
+ # Unknown method. Clean up:
+
+ Error $sock errorUnsupportedMethod
+ }
+
+ # Finally tell the server to connect us to the requested host and port:
+
+ puts -nonewline $sock \
+ "$state(protocolversion)$state(cmdconnect)$state(reserved)"
+ puts -nonewline $sock "$state(addresstype)$domainlen$addr$port"
+ flush $sock
+
+ # Wait again for server response:
+
+ vwait ::socks::state($sock,state)
+ set serverReply $state($sock,data)
+
+ if {[eof $sock]} {
+ Error $sock errorDisconnect
+ }
+
+ # Analyze server reply:
+
+ set serverVersion ""
+ set serverReplyCode ""
+
+ binary scan $serverReply "cc" serverVersion serverReplyCode
+
+ # Deal with errors:
+
+ if {$serverVersion != 5} {
+ Error $sock errorNotSOCKS5
+ }
+
+ if {$serverReplyCode != 0} {
+ if {($serverReplyCode > 0) && ($serverReplyCode < 9)} {
+ Error $sock error$serverReplyCode
+ }
+ Error $sock errorUnknown
+ }
+
+ # All done, clean up state, reconfigure $sock to its original state,
+ # remove our fileevent handler and potentially restore the original
+ # one if one was present.
+
+ fileevent $sock readable {}
+ if {[string compare $currentReadableHandler ""]} {
+ fileevent $sock readable $currentReadableHandler
+ }
+ catch {eval fconfigure $sock $currentConfiguration}
+ catch {array unset state $sock,*}
+
+ # For good measure return the socket:
+
+ return $sock
+}
+
+# This procedure reads input available from the server socket and then
+# changes a state variable so that the main program will be woken up.
+
+proc ::socks::readable {sock} {
+ variable state
+
+ # Wake up the vwait:
+
+ set state($sock,state) $sock
+
+ # Read the data:
+
+ set state($sock,data) [read $sock]
+}
Property changes on: code/trunk/data/tcl/irk/socks/socks.tcl
___________________________________________________________________
Added: svn:eol-style
+ native
More information about the Orxonox-commit
mailing list