Просмотр исходного кода

Deleted dev guide and tutorials from gh-pages.
File Formats is now an HTML file instead of a PDF.

Darryl Gough 13 лет назад
Родитель
Сommit
da275ca6e2
88 измененных файлов с 0 добавлено и 19626 удалено
  1. BIN
      docs/development-guide.doc
  2. 0 8651
      docs/development-guide.html
  3. BIN
      docs/development-guide.pdf
  4. 0 2
      docs/development-guide_files/colorschememapping.xml
  5. 0 15
      docs/development-guide_files/filelist.xml
  6. 0 78
      docs/development-guide_files/header.html
  7. BIN
      docs/development-guide_files/image001.png
  8. BIN
      docs/development-guide_files/image003.png
  9. BIN
      docs/development-guide_files/image004.jpg
  10. BIN
      docs/development-guide_files/image005.png
  11. BIN
      docs/development-guide_files/image006.jpg
  12. 0 1
      docs/development-guide_files/item0001.xml
  13. 0 2
      docs/development-guide_files/props0002.xml
  14. BIN
      docs/development-guide_files/themedata.thmx
  15. BIN
      docs/file-formats.doc
  16. BIN
      docs/file-formats.pdf
  17. 0 2
      docs/file-formats_files/colorschememapping.xml
  18. 0 11
      docs/file-formats_files/filelist.xml
  19. 0 78
      docs/file-formats_files/header.html
  20. BIN
      docs/file-formats_files/image001.png
  21. 0 1
      docs/file-formats_files/item0001.xml
  22. 0 2
      docs/file-formats_files/props0002.xml
  23. BIN
      docs/file-formats_files/themedata.thmx
  24. BIN
      docs/sample01-longboard.doc
  25. 0 2577
      docs/sample01-longboard.html
  26. BIN
      docs/sample01-longboard.pdf
  27. 0 2
      docs/sample01-longboard_files/colorschememapping.xml
  28. 0 16
      docs/sample01-longboard_files/filelist.xml
  29. BIN
      docs/sample01-longboard_files/image001.png
  30. BIN
      docs/sample01-longboard_files/image002.png
  31. BIN
      docs/sample01-longboard_files/image003.png
  32. BIN
      docs/sample01-longboard_files/image004.png
  33. BIN
      docs/sample01-longboard_files/image005.png
  34. BIN
      docs/sample01-longboard_files/image006.png
  35. BIN
      docs/sample01-longboard_files/image007.png
  36. BIN
      docs/sample01-longboard_files/image008.png
  37. 0 1
      docs/sample01-longboard_files/item0016.xml
  38. 0 2
      docs/sample01-longboard_files/props017.xml
  39. BIN
      docs/sample01-longboard_files/themedata.thmx
  40. BIN
      docs/sample02-spaceship.doc
  41. 0 3795
      docs/sample02-spaceship.html
  42. BIN
      docs/sample02-spaceship.pdf
  43. 0 2
      docs/sample02-spaceship_files/colorschememapping.xml
  44. 0 20
      docs/sample02-spaceship_files/filelist.xml
  45. BIN
      docs/sample02-spaceship_files/image001.png
  46. BIN
      docs/sample02-spaceship_files/image002.png
  47. BIN
      docs/sample02-spaceship_files/image003.png
  48. BIN
      docs/sample02-spaceship_files/image004.png
  49. BIN
      docs/sample02-spaceship_files/image005.png
  50. BIN
      docs/sample02-spaceship_files/image006.png
  51. BIN
      docs/sample02-spaceship_files/image007.png
  52. BIN
      docs/sample02-spaceship_files/image008.png
  53. BIN
      docs/sample02-spaceship_files/image009.png
  54. BIN
      docs/sample02-spaceship_files/image010.png
  55. BIN
      docs/sample02-spaceship_files/image011.png
  56. BIN
      docs/sample02-spaceship_files/image012.png
  57. 0 1
      docs/sample02-spaceship_files/item0018.xml
  58. 0 2
      docs/sample02-spaceship_files/props019.xml
  59. BIN
      docs/sample02-spaceship_files/themedata.thmx
  60. BIN
      docs/sample03-character.doc
  61. 0 4331
      docs/sample03-character.html
  62. BIN
      docs/sample03-character.pdf
  63. 0 2
      docs/sample03-character_files/colorschememapping.xml
  64. 0 29
      docs/sample03-character_files/filelist.xml
  65. BIN
      docs/sample03-character_files/image001.png
  66. BIN
      docs/sample03-character_files/image002.png
  67. BIN
      docs/sample03-character_files/image003.png
  68. BIN
      docs/sample03-character_files/image004.png
  69. BIN
      docs/sample03-character_files/image005.png
  70. BIN
      docs/sample03-character_files/image006.png
  71. BIN
      docs/sample03-character_files/image007.png
  72. BIN
      docs/sample03-character_files/image008.jpg
  73. BIN
      docs/sample03-character_files/image009.jpg
  74. BIN
      docs/sample03-character_files/image010.png
  75. BIN
      docs/sample03-character_files/image011.jpg
  76. BIN
      docs/sample03-character_files/image012.png
  77. BIN
      docs/sample03-character_files/image013.jpg
  78. BIN
      docs/sample03-character_files/image014.png
  79. BIN
      docs/sample03-character_files/image015.jpg
  80. BIN
      docs/sample03-character_files/image016.png
  81. BIN
      docs/sample03-character_files/image017.jpg
  82. BIN
      docs/sample03-character_files/image018.png
  83. BIN
      docs/sample03-character_files/image019.jpg
  84. BIN
      docs/sample03-character_files/image020.png
  85. BIN
      docs/sample03-character_files/image021.jpg
  86. 0 1
      docs/sample03-character_files/item0027.xml
  87. 0 2
      docs/sample03-character_files/props028.xml
  88. BIN
      docs/sample03-character_files/themedata.thmx

BIN
docs/development-guide.doc


+ 0 - 8651
docs/development-guide.html

@@ -1,8651 +0,0 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 12">
-<meta name=Originator content="Microsoft Word 12">
-<link rel=File-List href="development-guide_files/filelist.xml">
-<link rel=Edit-Time-Data href="development-guide_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>user</o:Author>
-  <o:LastAuthor>Windows User</o:LastAuthor>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>1580</o:TotalTime>
-  <o:LastPrinted>2012-10-09T21:18:00Z</o:LastPrinted>
-  <o:Created>2012-10-10T16:18:00Z</o:Created>
-  <o:LastSaved>2012-10-10T16:18:00Z</o:LastSaved>
-  <o:Pages>87</o:Pages>
-  <o:Words>15983</o:Words>
-  <o:Characters>91105</o:Characters>
-  <o:Company>Research In Motion Limited</o:Company>
-  <o:Lines>759</o:Lines>
-  <o:Paragraphs>213</o:Paragraphs>
-  <o:CharactersWithSpaces>106875</o:CharactersWithSpaces>
-  <o:Version>12.00</o:Version>
- </o:DocumentProperties>
-</xml><![endif]-->
-<link rel=dataStoreItem href="development-guide_files/item0001.xml"
-target="development-guide_files/props0002.xml">
-<link rel=themeData href="development-guide_files/themedata.thmx">
-<link rel=colorSchemeMapping
-href="development-guide_files/colorschememapping.xml">
-<!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackMoves>false</w:TrackMoves>
-  <w:TrackFormatting/>
-  <w:PunctuationKerning/>
-  <w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
-  <w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
-  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
-  <w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
-  <w:UseMarginsForDrawingGridOrigin/>
-  <w:ValidateAgainstSchemas>false</w:ValidateAgainstSchemas>
-  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
-  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
-  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
-  <w:DoNotUnderlineInvalidXML/>
-  <w:DoNotPromoteQF/>
-  <w:LidThemeOther>EN-US</w:LidThemeOther>
-  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
-  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
-  <w:DoNotShadeFormData/>
-  <w:Compatibility>
-   <w:SpaceForUL/>
-   <w:BalanceSingleByteDoubleByteWidth/>
-   <w:DoNotLeaveBackslashAlone/>
-   <w:ULTrailSpace/>
-   <w:DoNotExpandShiftReturn/>
-   <w:FootnoteLayoutLikeWW8/>
-   <w:ShapeLayoutLikeWW8/>
-   <w:AlignTablesRowByRow/>
-   <w:ForgetLastTabAlignment/>
-   <w:AdjustLineHeightInTable/>
-   <w:LayoutRawTableWidth/>
-   <w:LayoutTableRowsApart/>
-   <w:UseWord97LineBreakingRules/>
-   <w:SelectEntireFieldWithStartOrEnd/>
-   <w:UseWord2002TableStyleRules/>
-   <w:DontUseIndentAsNumberingTabStop/>
-   <w:FELineBreak11/>
-   <w:WW11IndentRules/>
-   <w:DontAutofitConstrainedTables/>
-   <w:AutofitLikeWW11/>
-   <w:UnderlineTabInNumList/>
-   <w:HangulWidthLikeWW11/>
-   <w:UseNormalStyleForList/>
-  </w:Compatibility>
-  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
-  <m:mathPr>
-   <m:mathFont m:val="Cambria Math"/>
-   <m:brkBin m:val="before"/>
-   <m:brkBinSub m:val="&#45;-"/>
-   <m:smallFrac m:val="off"/>
-   <m:dispDef/>
-   <m:lMargin m:val="0"/>
-   <m:rMargin m:val="0"/>
-   <m:defJc m:val="centerGroup"/>
-   <m:wrapIndent m:val="1440"/>
-   <m:intLim m:val="subSup"/>
-   <m:naryLim m:val="undOvr"/>
-  </m:mathPr></w:WordDocument>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
-  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
-  LatentStyleCount="267">
-  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 1"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 2"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 3"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 4"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 5"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 6"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
-  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
-  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
-  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
-  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
-  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
-  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
-  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Table Grid"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
-  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 1"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
-  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
-  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
-  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 2"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 3"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 4"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 5"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 6"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
-  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
-  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
-  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
-  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
-  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
-  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
- </w:LatentStyles>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:"MS Gothic";
-	panose-1:2 11 6 9 7 2 5 8 2 4;
-	mso-font-alt:"?l?r ?S?V?b?N";
-	mso-font-charset:128;
-	mso-generic-font-family:modern;
-	mso-font-pitch:fixed;
-	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
-@font-face
-	{font-family:"Cambria Math";
-	panose-1:2 4 5 3 5 4 6 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:roman;
-	mso-font-pitch:variable;
-	mso-font-signature:-536870145 1107305727 0 0 415 0;}
-@font-face
-	{font-family:Cambria;
-	panose-1:2 4 5 3 5 4 6 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:roman;
-	mso-font-pitch:variable;
-	mso-font-signature:-536870145 1073743103 0 0 415 0;}
-@font-face
-	{font-family:Calibri;
-	panose-1:2 15 5 2 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-520092929 1073786111 9 0 415 0;}
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-520081665 -1073717157 41 0 66047 0;}
-@font-face
-	{font-family:"Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-alt:"Arial Unicode MS";
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:"\@Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:TradeGothicNextLTPro-Lt;
-	panose-1:0 0 0 0 0 0 0 0 0 0;
-	mso-font-alt:"Malgun Gothic";
-	mso-font-charset:0;
-	mso-generic-font-family:roman;
-	mso-font-format:other;
-	mso-font-pitch:auto;
-	mso-font-signature:3 0 0 0 1 0;}
-@font-face
-	{font-family:"\@MS Gothic";
-	panose-1:2 11 6 9 7 2 5 8 2 4;
-	mso-font-charset:128;
-	mso-generic-font-family:modern;
-	mso-font-pitch:fixed;
-	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
-@font-face
-	{font-family:Consolas;
-	panose-1:2 11 6 9 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:modern;
-	mso-font-pitch:fixed;
-	mso-font-signature:-520092929 1073806591 9 0 415 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;}
-h1
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 1 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:24.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-	mso-font-kerning:0pt;}
-h2
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:Subtitle;
-	mso-style-link:"Heading 2 Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:12.0pt;
-	margin-left:0in;
-	page-break-before:always;
-	mso-pagination:none;
-	mso-outline-level:2;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	mso-bidi-font-weight:normal;}
-h3
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 3 Char";
-	mso-style-next:Normal;
-	margin-top:24.0pt;
-	margin-right:0in;
-	margin-bottom:6.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	page-break-after:avoid;
-	mso-outline-level:3;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:18.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	mso-bidi-font-weight:normal;}
-h4
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 4 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:4;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:13.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	mso-bidi-font-weight:normal;}
-h5
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 5 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:5;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:9.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;}
-h6
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 6 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:6;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:8.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;}
-p.MsoToc1, li.MsoToc1, div.MsoToc1
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-	color:#009ACD;}
-p.MsoToc2, li.MsoToc2, div.MsoToc2
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:0in;
-	margin-left:11.0pt;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-	color:#009ACD;}
-p.MsoToc3, li.MsoToc3, div.MsoToc3
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:0in;
-	margin-left:22.0pt;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;}
-p.MsoToc4, li.MsoToc4, div.MsoToc4
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:5.0pt;
-	margin-left:33.0pt;
-	line-height:115%;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoToc5, li.MsoToc5, div.MsoToc5
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:5.0pt;
-	margin-left:44.0pt;
-	line-height:115%;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoToc6, li.MsoToc6, div.MsoToc6
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:5.0pt;
-	margin-left:55.0pt;
-	line-height:115%;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoToc7, li.MsoToc7, div.MsoToc7
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:5.0pt;
-	margin-left:66.0pt;
-	line-height:115%;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoToc8, li.MsoToc8, div.MsoToc8
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:5.0pt;
-	margin-left:77.0pt;
-	line-height:115%;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoToc9, li.MsoToc9, div.MsoToc9
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:5.0pt;
-	margin-left:88.0pt;
-	line-height:115%;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoTitle, li.MsoTitle, div.MsoTitle
-	{mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Title Char";
-	mso-style-next:Normal;
-	margin-top:12.0pt;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;}
-p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
-	{mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Subtitle Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-a:link, span.MsoHyperlink
-	{mso-style-priority:99;
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	color:blue;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	color:blue;
-	text-decoration:underline;
-	text-underline:single;}
-p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-link:"Document Map Char";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:8.0pt;
-	font-family:"Tahoma","sans-serif";
-	mso-fareast-font-family:"Times New Roman";}
-p.MsoTocHeading, li.MsoTocHeading, div.MsoTocHeading
-	{mso-style-noshow:yes;
-	mso-style-priority:39;
-	mso-style-qformat:yes;
-	mso-style-parent:"Heading 1";
-	mso-style-next:Normal;
-	margin-top:24.0pt;
-	margin-right:0in;
-	margin-bottom:0in;
-	margin-left:0in;
-	margin-bottom:.0001pt;
-	line-height:115%;
-	mso-pagination:widow-orphan lines-together;
-	page-break-after:avoid;
-	font-size:14.0pt;
-	font-family:"Cambria","serif";
-	mso-fareast-font-family:"MS Gothic";
-	mso-bidi-font-family:"Times New Roman";
-	color:#365F91;
-	mso-fareast-language:JA;
-	font-weight:bold;}
-span.Heading1Char
-	{mso-style-name:"Heading 1 Char";
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 1";
-	mso-ansi-font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-hansi-font-family:Cambria;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:16.0pt;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading2Char
-	{mso-style-name:"Heading 2 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 2";
-	mso-ansi-font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-ascii-font-family:Arial;
-	mso-hansi-font-family:Arial;
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading3Char
-	{mso-style-name:"Heading 3 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 3";
-	mso-ansi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Malgun Gothic";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading4Char
-	{mso-style-name:"Heading 4 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 4";
-	mso-ansi-font-size:13.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Malgun Gothic";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading5Char
-	{mso-style-name:"Heading 5 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 5";
-	mso-ansi-font-size:13.0pt;
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;
-	mso-bidi-font-weight:normal;
-	font-style:italic;
-	mso-bidi-font-style:normal;}
-span.Heading6Char
-	{mso-style-name:"Heading 6 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 6";
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-p.tableheader, li.tableheader, div.tableheader
-	{mso-style-name:"table header";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:11.0pt;
-	font-family:"TradeGothicNextLTPro-Lt","serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-	font-weight:bold;}
-p.tabletitle, li.tabletitle, div.tabletitle
-	{mso-style-name:"table title";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:11.0pt;
-	font-family:"TradeGothicNextLTPro-Lt","serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-	font-weight:bold;}
-span.SubtitleChar
-	{mso-style-name:"Subtitle Char";
-	mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Subtitle;
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Malgun Gothic";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.TitleChar
-	{mso-style-name:"Title Char";
-	mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Title;
-	mso-ansi-font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-hansi-font-family:Cambria;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.DocumentMapChar
-	{mso-style-name:"Document Map Char";
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Document Map";
-	mso-ansi-font-size:8.0pt;
-	font-family:"Tahoma","sans-serif";
-	mso-ascii-font-family:Tahoma;
-	mso-hansi-font-family:Tahoma;
-	mso-bidi-font-family:"Times New Roman";}
-p.Code, li.Code, div.Code
-	{mso-style-name:Code;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:10.0pt;
-	font-family:Consolas;
-	mso-fareast-font-family:"Malgun Gothic";}
-span.inlinecode
-	{mso-style-name:"inline code";
-	mso-style-priority:1;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	font-family:"Courier New";
-	mso-ascii-font-family:"Courier New";
-	mso-hansi-font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-span.codekeyword
-	{mso-style-name:"code keyword";
-	mso-style-unhide:no;
-	mso-ansi-font-size:10.0pt;
-	font-family:Consolas;
-	mso-ascii-font-family:Consolas;
-	mso-hansi-font-family:Consolas;
-	mso-bidi-font-family:"Times New Roman";
-	color:blue;}
-span.codestring
-	{mso-style-name:"code string";
-	mso-style-unhide:no;
-	mso-ansi-font-size:10.0pt;
-	font-family:Consolas;
-	mso-ascii-font-family:Consolas;
-	mso-hansi-font-family:Consolas;
-	mso-bidi-font-family:"Times New Roman";
-	color:#A31515;}
-span.codecomment
-	{mso-style-name:"code comment";
-	mso-style-unhide:no;
-	mso-ansi-font-size:10.0pt;
-	font-family:Consolas;
-	mso-ascii-font-family:Consolas;
-	mso-hansi-font-family:Consolas;
-	mso-bidi-font-family:"Times New Roman";
-	color:green;}
-span.shellcode
-	{mso-style-name:"shell code";
-	mso-style-unhide:no;
-	font-family:"Courier New";
-	mso-ascii-font-family:"Courier New";
-	mso-hansi-font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;}
-.MsoChpDefault
-	{mso-style-type:export-only;
-	mso-default-props:yes;
-	font-family:"Calibri","sans-serif";
-	mso-ascii-font-family:Calibri;
-	mso-hansi-font-family:Calibri;
-	mso-bidi-font-family:Calibri;}
-.MsoPapDefault
-	{mso-style-type:export-only;}
- /* Page Definitions */
- @page
-	{mso-page-border-surround-header:no;
-	mso-page-border-surround-footer:no;
-	mso-footnote-separator:url("development-guide_files/header.html") fs;
-	mso-footnote-continuation-separator:url("development-guide_files/header.html") fcs;
-	mso-endnote-separator:url("development-guide_files/header.html") es;
-	mso-endnote-continuation-separator:url("development-guide_files/header.html") ecs;}
-@page WordSection1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.0in 1.0in 1.0in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-header:url("development-guide_files/header.html") h1;
-	mso-footer:url("development-guide_files/header.html") f1;
-	mso-paper-source:0;}
-div.WordSection1
-	{page:WordSection1;}
- /* List Definitions */
- @list l0
-	{mso-list-id:-132;
-	mso-list-type:simple;
-	mso-list-template-ids:-495171190;}
-@list l0:level1
-	{mso-level-tab-stop:1.25in;
-	mso-level-number-position:left;
-	margin-left:1.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1
-	{mso-list-id:-131;
-	mso-list-type:simple;
-	mso-list-template-ids:1093436292;}
-@list l1:level1
-	{mso-level-tab-stop:1.0in;
-	mso-level-number-position:left;
-	margin-left:1.0in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2
-	{mso-list-id:-130;
-	mso-list-type:simple;
-	mso-list-template-ids:-804222260;}
-@list l2:level1
-	{mso-level-tab-stop:.75in;
-	mso-level-number-position:left;
-	margin-left:.75in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3
-	{mso-list-id:-129;
-	mso-list-type:simple;
-	mso-list-template-ids:-449394044;}
-@list l3:level1
-	{mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4
-	{mso-list-id:-128;
-	mso-list-type:simple;
-	mso-list-template-ids:-355328890;}
-@list l4:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:1.25in;
-	mso-level-number-position:left;
-	margin-left:1.25in;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l5
-	{mso-list-id:-127;
-	mso-list-type:simple;
-	mso-list-template-ids:-1433485730;}
-@list l5:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:1.0in;
-	mso-level-number-position:left;
-	margin-left:1.0in;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l6
-	{mso-list-id:-126;
-	mso-list-type:simple;
-	mso-list-template-ids:1765052272;}
-@list l6:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.75in;
-	mso-level-number-position:left;
-	margin-left:.75in;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l7
-	{mso-list-id:-125;
-	mso-list-type:simple;
-	mso-list-template-ids:1244312276;}
-@list l7:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l8
-	{mso-list-id:-120;
-	mso-list-type:simple;
-	mso-list-template-ids:-959252986;}
-@list l8:level1
-	{mso-level-tab-stop:.25in;
-	mso-level-number-position:left;
-	margin-left:.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l9
-	{mso-list-id:-119;
-	mso-list-type:simple;
-	mso-list-template-ids:-177030616;}
-@list l9:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.25in;
-	mso-level-number-position:left;
-	margin-left:.25in;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l10
-	{mso-list-id:-2;
-	mso-list-type:simple;
-	mso-list-template-ids:950202048;}
-@list l10:level1
-	{mso-level-start-at:0;
-	mso-level-number-format:bullet;
-	mso-level-text:*;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:0in;
-	text-indent:0in;}
-@list l11
-	{mso-list-id:73743402;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-1171616076 -625997186 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l11:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l11:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12
-	{mso-list-id:170149374;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-578898402 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l12:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l13
-	{mso-list-id:239802344;
-	mso-list-type:hybrid;
-	mso-list-template-ids:815068686 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l13:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14
-	{mso-list-id:306319327;
-	mso-list-type:hybrid;
-	mso-list-template-ids:95300580 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l14:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15
-	{mso-list-id:434520757;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-1276236932 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l15:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l16
-	{mso-list-id:501971723;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-620753964 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l16:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l16:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l16:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l17
-	{mso-list-id:577519682;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-681649560 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l17:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l17:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l17:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l17:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l18
-	{mso-list-id:826633563;
-	mso-list-type:hybrid;
-	mso-list-template-ids:836428588 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l18:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l18:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l18:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l19
-	{mso-list-id:1145320803;
-	mso-list-type:hybrid;
-	mso-list-template-ids:903108876 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l19:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l19:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l19:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l20
-	{mso-list-id:1953508898;
-	mso-list-type:hybrid;
-	mso-list-template-ids:815068686 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l20:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l21
-	{mso-list-id:2078243896;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-947758746 67698703 67698713 1271979950 775458348 67698713 67698715 67698703 67698713 67698715;}
-@list l21:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l21:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l21:level3
-	{mso-level-start-at:7;
-	mso-level-number-format:bullet;
-	mso-level-text:-;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:117.0pt;
-	text-indent:-.25in;
-	font-family:"Malgun Gothic","sans-serif";}
-@list l21:level4
-	{mso-level-start-at:7;
-	mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;
-	mso-fareast-font-family:"Times New Roman";}
-@list l22
-	{mso-list-id:2110463054;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-554926380 -1058607584 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l22:level1
-	{mso-level-start-at:5;
-	mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;
-	mso-fareast-font-family:"Times New Roman";
-	color:blue;}
-@list l10:level1 lfo1
-	{mso-level-numbering:continue;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	mso-level-legacy:yes;
-	mso-level-legacy-indent:9.0pt;
-	mso-level-legacy-space:0in;
-	margin-left:0in;
-	text-indent:0in;
-	mso-ansi-font-size:8.0pt;
-	font-family:Symbol;}
-ol
-	{margin-bottom:0in;}
-ul
-	{margin-bottom:0in;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-qformat:yes;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Calibri","sans-serif";}
-table.MsoTableGrid
-	{mso-style-name:"Table Grid";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-priority:59;
-	mso-style-unhide:no;
-	border:solid windowtext 1.0pt;
-	mso-border-alt:solid windowtext .5pt;
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-border-insideh:.5pt solid windowtext;
-	mso-border-insidev:.5pt solid windowtext;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Calibri","sans-serif";}
-table.MsoTableColorfulGridAccent6
-	{mso-style-name:"Colorful Grid - Accent 6";
-	mso-tstyle-rowband-size:1;
-	mso-tstyle-colband-size:1;
-	mso-style-priority:73;
-	mso-style-unhide:no;
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-border-insideh:.5pt solid white;
-	mso-border-insideh-themecolor:background1;
-	mso-tstyle-shading:#FDE9D9;
-	mso-tstyle-shading-themecolor:accent6;
-	mso-tstyle-shading-themetint:51;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Calibri","sans-serif";
-	color:black;
-	mso-themecolor:text1;}
-table.MsoTableColorfulGridAccent6FirstRow
-	{mso-style-name:"Colorful Grid - Accent 6";
-	mso-table-condition:first-row;
-	mso-style-priority:73;
-	mso-style-unhide:no;
-	mso-tstyle-shading:#FBD4B4;
-	mso-tstyle-shading-themecolor:accent6;
-	mso-tstyle-shading-themetint:102;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;
-	mso-ansi-font-weight:bold;
-	mso-bidi-font-weight:bold;}
-table.MsoTableColorfulGridAccent6LastRow
-	{mso-style-name:"Colorful Grid - Accent 6";
-	mso-table-condition:last-row;
-	mso-style-priority:73;
-	mso-style-unhide:no;
-	mso-tstyle-shading:#FBD4B4;
-	mso-tstyle-shading-themecolor:accent6;
-	mso-tstyle-shading-themetint:102;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;
-	color:black;
-	mso-themecolor:text1;
-	mso-ansi-font-weight:bold;
-	mso-bidi-font-weight:bold;}
-table.MsoTableColorfulGridAccent6FirstCol
-	{mso-style-name:"Colorful Grid - Accent 6";
-	mso-table-condition:first-column;
-	mso-style-priority:73;
-	mso-style-unhide:no;
-	mso-tstyle-shading:#E36C0A;
-	mso-tstyle-shading-themecolor:accent6;
-	mso-tstyle-shading-themeshade:191;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;
-	color:white;
-	mso-themecolor:background1;}
-table.MsoTableColorfulGridAccent6LastCol
-	{mso-style-name:"Colorful Grid - Accent 6";
-	mso-table-condition:last-column;
-	mso-style-priority:73;
-	mso-style-unhide:no;
-	mso-tstyle-shading:#E36C0A;
-	mso-tstyle-shading-themecolor:accent6;
-	mso-tstyle-shading-themeshade:191;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;
-	color:white;
-	mso-themecolor:background1;}
-table.MsoTableColorfulGridAccent6OddColumn
-	{mso-style-name:"Colorful Grid - Accent 6";
-	mso-table-condition:odd-column;
-	mso-style-priority:73;
-	mso-style-unhide:no;
-	mso-tstyle-shading:#FBCAA2;
-	mso-tstyle-shading-themecolor:accent6;
-	mso-tstyle-shading-themetint:127;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;}
-table.MsoTableColorfulGridAccent6OddRow
-	{mso-style-name:"Colorful Grid - Accent 6";
-	mso-table-condition:odd-row;
-	mso-style-priority:73;
-	mso-style-unhide:no;
-	mso-tstyle-shading:#FBCAA2;
-	mso-tstyle-shading-themecolor:accent6;
-	mso-tstyle-shading-themetint:127;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;}
-table.devguidetable
-	{mso-style-name:"dev guide table";
-	mso-tstyle-rowband-size:1;
-	mso-tstyle-colband-size:0;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:11.0pt;
-	mso-bidi-font-size:10.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-hansi-font-family:"Times New Roman";}
-table.devguidetableOddRow
-	{mso-style-name:"dev guide table";
-	mso-table-condition:odd-row;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-tstyle-shading:#E6E6E6;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;}
-table.devguidetableEvenRow
-	{mso-style-name:"dev guide table";
-	mso-table-condition:even-row;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-tstyle-shading:whitesmoke;
-	font-family:"Calibri","sans-serif";
-	mso-bidi-font-family:Calibri;}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="2050"/>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
-  <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in;text-justify-trim:
-punctuation'>
-
-<div class=WordSection1>
-
-<p class=MsoNormal>­</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-<center>
-<p class=MsoNormal><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
- o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
- stroked="f">
- <v:stroke joinstyle="miter"/>
- <v:formulas>
-  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
-  <v:f eqn="sum @0 1 0"/>
-  <v:f eqn="sum 0 0 @1"/>
-  <v:f eqn="prod @2 1 2"/>
-  <v:f eqn="prod @3 21600 pixelWidth"/>
-  <v:f eqn="prod @3 21600 pixelHeight"/>
-  <v:f eqn="sum @0 0 1"/>
-  <v:f eqn="prod @6 1 2"/>
-  <v:f eqn="prod @7 21600 pixelWidth"/>
-  <v:f eqn="sum @8 21600 0"/>
-  <v:f eqn="prod @7 21600 pixelHeight"/>
-  <v:f eqn="sum @10 21600 0"/>
- </v:formulas>
- <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
- <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:460.5pt;
- height:91.5pt'>
- <v:imagedata src="development-guide_files/image001.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img width=614 height=122
-src="development-guide_files/image001.png" v:shapes="_x0000_i1025"><![endif]></p>
-</center>
-
-<p class=MsoSubtitle align=center style='text-align:center'>Development Guide</p>
-
-<b style='mso-bidi-font-weight:normal'><span style='font-size:36.0pt;
-mso-bidi-font-size:12.0pt;font-family:"Malgun Gothic","sans-serif";mso-hansi-font-family:
-"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#009ACD;
-mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA'><br
-clear=all style='page-break-before:always'>
-</span></b>
-
-<p class=MsoSubtitle>Contents</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><!--[if supportFields]><span
-style='mso-bidi-font-size:12.0pt;mso-hansi-font-family:"Malgun Gothic";
-mso-bidi-font-family:"Times New Roman"'><span style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>TOC \o &quot;1-2&quot; \h \z \u <span
-style='mso-element:field-separator'></span></span><![endif]--><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574572">Overview<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>.. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574572 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>3</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700320000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574573">Compiling framework<span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574573 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>5</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700330000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574574">Assets and authoring<span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574574 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>13</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700340000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574575">Game<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574575 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>16</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700350000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574576">Input and sensors<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574576 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>19</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700360000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574577">Sprites and fonts<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574577 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>21</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700370000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574578">Scene and nodes<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574578 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>23</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700380000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574579">Model and mesh<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574579 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>29</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003700390000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574580">Lights<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574580 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>31</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800300000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574581">Materials and shaders<span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574581 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>34</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800310000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574582">Particle emitters<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574582 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>39</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800320000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574583">Physics<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574583 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>41</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800330000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574584">Animation<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574584 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>58</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800340000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574585">Audio<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574585 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>63</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800350000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574586">User Interface<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574586 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>65</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800360000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574587">Scripting<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574587 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>76</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800370000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc2 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Times New Roman";mso-no-proof:yes'><a
-href="#_Toc337574588">License<span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;
-color:#009ACD;display:none;mso-hide:screen;text-decoration:none;text-underline:
-none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'> PAGEREF _Toc337574588 \h </span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'>82</span><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt;color:#009ACD;display:none;
-mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F00630033003300370035003700340035003800380000000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt;color:#009ACD;display:none;mso-hide:screen;text-decoration:
-none;text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
-minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-mso-bidi-theme-font:minor-bidi;color:windowtext;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoNormal><!--[if supportFields]><span style='mso-bidi-font-size:12.0pt;
-mso-hansi-font-family:"Malgun Gothic";mso-bidi-font-family:"Times New Roman"'><span
-style='mso-element:field-end'></span></span><![endif]--><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><a name=d3e3a1310></a><o:p>&nbsp;</o:p></p>
-
-<h2><a name="_Toc337574572">Overview</a></h2>
-
-<p class=MsoNormal>The gameplay framework is an open-source, cross-platform
-gaming framework that is designed to make it easy to learn to write 3-D mobile
-and desktop games using native C++. In this guide, we cover a top-down approach
-to teaching you the gameplay library, tools, and all the major parts of the
-APIs that are included in the framework. This guide covers a set of the C++
-classes that you can use to write your games.</p>
-
-<h3>Design goals and considerations</h3>
-
-<p class=MsoNormal>In creating the gameplay framework, the goal was not only to
-focus on creating a high performance native C++ game framework, but also on a
-clean, simple, and elegant architecture. The framework uses a minimal set of
-cross-platform external dependencies and tries to take a minimalist approach to
-designing the classes. This approach allows you to learn from the classes in
-the library and extend the framework to build your own game engine or tools.
-The framework is a good starting block for learning how to write 3-D
-cross-platform mobile and desktop games, allowing you to spend more time
-designing your game.</p>
-
-<h3>Why write another game engine?</h3>
-
-<p class=MsoNormal>We actually hope it will be considered more of a gaming
-framework; however, in essence, it is really still just the core components of
-a game engine. There are several reasons why the gameplay framework was
-developed. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>First, most modern 3-D game engines, while sometimes free or
-cheap, are closed source. Additionally, they usually have licensing fees. The gameplay
-framework is free, open-source software under the Apache 2.0 license. We want
-more people to learn about the fact that cross-platform is a reality and
-building a good base lets you move forward to writing game titles.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>Secondly, a game engine is not only about rendering. Yes, it<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s a huge part, but
-equally important are other aspects of game engines, such as audio, physics,
-animation, UI forms, particle emitters, scripting, and math. Searching on the
-web and trying to find information on how to fit these things into your game
-engine, or games, will likely scatter you across many different places, with
-the chance of gaps in your learning. This framework will hopefully bring it all
-together for you.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Lastly, mobile is hot! The gameplay framework will have a
-lot of emphasis on gaming on mobile devices. Today, mobile gaming is the
-largest growing sector of the game industry. Additionally, we still provide
-support for desktop platforms for both tooling and gaming. However, we think
-more focus should be on mobile gaming and learning how to write games that can
-easily target the cross-platform mobile sector. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h2><a name="_Toc337574573">Compiling framework</a></h2>
-
-<p class=MsoNormal>To build the gameplay library, tools, and samples as well as
-write your own games, you will have to install and use the platform specific
-tools listed below. These are the supported development environments for each
-specific operating system as a target platform.</p>
-
-<p class=MsoNormal><a name=d4e13a1310></a><o:p>&nbsp;</o:p></p>
-
-<table class=devguidetable border=0 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:20.45pt'>
-  <td width=205 valign=top style='width:153.45pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Desktop OS<o:p></o:p></span></p>
-  </td>
-  <td width=210 valign=top style='width:157.45pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Tool <o:p></o:p></span></p>
-  </td>
-  <td width=221 valign=top style='width:165.4pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Development environment<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1;height:20.45pt'>
-  <td width=205 valign=top style='width:153.45pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Microsoft Windows 7<o:p></o:p></span></p>
-  </td>
-  <td width=210 valign=top style='width:157.45pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Visual Studio 2010<o:p></o:p></span></p>
-  </td>
-  <td width=221 valign=top style='width:165.4pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Windows 7<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes;height:20.45pt'>
-  <td width=205 valign=top style='width:153.45pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Apple Mac OS X<o:p></o:p></span></p>
-  </td>
-  <td width=210 valign=top style='width:157.45pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Xcode 4.3.2<o:p></o:p></span></p>
-  </td>
-  <td width=221 valign=top style='width:165.4pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt;height:20.45pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Mac OS X<o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<p class=MsoNormal style='text-align:justify;mso-layout-grid-align:auto;
-text-autospace:ideograph-numeric ideograph-other'><a name=d4e85a1310></a><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<table class=devguidetable border=0 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
-  <td width=210 valign=top style='width:157.75pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Mobile OS<o:p></o:p></span></p>
-  </td>
-  <td width=210 valign=top style='width:157.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Tool <o:p></o:p></span></p>
-  </td>
-  <td width=218 valign=top style='width:163.35pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Development environment<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td width=210 valign=top style='width:157.75pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>BlackBerry PlayBook OS 2.0<o:p></o:p></span></p>
-  </td>
-  <td width=210 valign=top style='width:157.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>BlackBerry Native SDK 2.0<o:p></o:p></span></p>
-  </td>
-  <td width=218 valign=top style='width:163.35pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Windows 7, Mac OS X<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td width=210 valign=top style='width:157.75pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Android 2.3<o:p></o:p></span></p>
-  </td>
-  <td width=210 valign=top style='width:157.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Android NDK 7<o:p></o:p></span></p>
-  </td>
-  <td width=218 valign=top style='width:163.35pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Windows 7, Mac OS X<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3;mso-yfti-lastrow:yes'>
-  <td width=210 valign=top style='width:157.75pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>iOS 5.1<o:p></o:p></span></p>
-  </td>
-  <td width=210 valign=top style='width:157.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Xcode 4.3.2<o:p></o:p></span></p>
-  </td>
-  <td width=218 valign=top style='width:163.35pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Mac OS X<o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<h3>Project repository</h3>
-
-<p class=MsoNormal>Included in the project repository are the following notable
-folder and files: </p>
-
-<p class=MsoNormal><a name=d4e186a1310></a><o:p>&nbsp;</o:p></p>
-
-<table class=devguidetable border=0 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
-  <td width=234 valign=top style='width:175.5pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Folder/Files</span><span
-  style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman";
-  font-weight:normal'><o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:#E6E6E6;padding:0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Description<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td width=234 valign=top style='width:175.5pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>/bin<o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:whitesmoke;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>Precompiled
-  binary tools<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td width=234 valign=top style='width:175.5pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>/external-deps
-  <o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:#E6E6E6;padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>External
-  dependency libraries<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
-  <td width=234 valign=top style='width:175.5pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>/gameplay
-  <o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:whitesmoke;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>The
-  gameplay library<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
-  <td width=234 valign=top style='width:175.5pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>/gameplay-api
-  <o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:#E6E6E6;padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>Doxygen
-  API Reference<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:5'>
-  <td width=234 valign=top style='width:175.5pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>/gameplay-docs
-  <o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:whitesmoke;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>Documentation
-  guides and tutorials<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:6'>
-  <td width=234 valign=top style='width:175.5pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>/gameplay-encoder
-  <o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:#E6E6E6;padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>Game
-  asset/content encoding tool<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:7'>
-  <td width=234 valign=top style='width:175.5pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>/gameplay-luagen<o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:whitesmoke;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>Lua
-  script bindings generator tool<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:8'>
-  <td width=234 valign=top style='width:175.5pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>/gameplay-template<o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:#E6E6E6;padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>Game
-  samples template project files<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:9'>
-  <td width=234 valign=top style='width:175.5pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>/gameplay-samples<o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:whitesmoke;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>Game
-  samples<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:10'>
-  <td width=234 valign=top style='width:175.5pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>gameplay.xcworkspace<o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:#E6E6E6;padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>Xcode
-  workspace<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:11'>
-  <td width=234 valign=top style='width:175.5pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>gameplay.sln<o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:whitesmoke;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span style='font-size:11.0pt'>Microsoft
-  Visual Studio solution<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:12;mso-yfti-lastrow:yes'>
-  <td width=234 valign=top style='width:175.5pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>gameplay-newproject.bat/.sh<o:p></o:p></span></p>
-  </td>
-  <td width=403 valign=top style='width:4.2in;background:#E6E6E6;padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span style='font-size:11.0pt'>New
-  cross-platform project script<o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<h3>Getting started on desktop</h3>
-
-<p class=MsoNormal>The quickest way to get started using the gameplay framework
-and tools is to simply start working in one of the desktop environments. You
-could use Microsoft Visual Studio 2010 Express, Professional on a Windows 7
-operating system, or Xcode 4.3.2 on an Apple Mac OS X operating system. Then
-just open either the Microsoft Visual Studio solution or Xcode workspace, and
-build and run the projects. These solutions/workspaces are set up by default to
-build all the projects needed and to run the samples you have selected as
-active.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Voila! You now have one of several simple, interactive
-samples running on your desktop environment, which you can explore and become
-more familiar with.</p>
-
-<h3>Game samples</h3>
-
-<p class=MsoNormal>The gameplay-docs folder contains additional tutorial
-documentation for our gameplay-samples. These are intended to go into more
-detail for designing and coding games written using the framework. They all
-have a good starting point but have intentionally been left incomplete. This
-gives you the opportunity to change the samples, and complete them to make them
-more fun to interact and play with. They provide good building blocks and are a
-basis for you to explore various features in the framework. You can utilize
-code snippets from the samples to help speed up the development cycle in your
-own games.</p>
-
-<h3>API reference</h3>
-
-<p class=MsoNormal>We firmly believe in making a very intuitive set of APIs
-that are as straight-forward and as consistent as possible. However, all of the
-classes in the framework have been well documented with Doxygen formatting. The
-classes will be updated and improved iteratively throughout each release. This
-is to help you learn about what classes or sets of functions can be used and
-the recommended practices in using them.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>You should consider reading the latest versions of the API
-reference from the pre-generated HTML Doxygen API documentation in the
-gameplay-api folder. This will give you a deeper understanding of the C++
-gameplay framework.</p>
-
-<h3>Getting started on mobile</h3>
-
-<p class=MsoNormal>Now that you are up and running on one of the desktop
-environments, we recommend you take this seriously and go mobile! In today<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s mobile game market,
-cross-platform development is a reality. It is quite simple and easy to use the
-gameplay framework to target a wider device audience. Start by downloading the
-native development kit for one of the various supported mobile operating system
-targets or set them all up.</p>
-
-<h3>Mobile setup instructions</h3>
-
-<p class=MsoNormal>Listed below are the basic setup instructions for downloading
-and installing the supported mobile platform and development environments for
-gameplay.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>BlackBerry
-Native SDK 2.0/10 Beta (PlayBook tablets and BlackBerry 10 devices)</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='text-align:justify;mso-list:l20 level1 lfo2'><a
-     name=d4e432a1310></a><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-     "Times New Roman"'>Download and install the <a
-     href="https://developer.blackberry.com/native/download/">BlackBerry Native
-     SDK 2.0</a> (for PlayBook) or <a
-     href="https://developer.blackberry.com/native/beta/download/">BlackBerry
-     10 Beta</a> (for BlackBerry 10 devices).<o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l20 level1 lfo2'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Run
-     the QNX Momentics IDE (Eclipse CDT based) and click <br>
-     <b style='mso-bidi-font-weight:normal'>File &gt; Import &gt; Import
-     Existing Projects</b>.<o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l20 level1 lfo2'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Import
-     all the gameplay projects by selecting the repository project folder.<span
-     style='mso-tab-count:2'>          </span><o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l20 level1 lfo2'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Set
-     the active configuration to one of the Device-XXX or Simulator-XXX
-     profiles.<o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l20 level1 lfo2'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Build
-     and run any of the game samples.<o:p></o:p></span></li>
-</ol>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Apple Xcode
-4.3.2 (iPad tablets and iPhone devices)</span></b><a name=d4e478a1310></a><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='text-align:justify;mso-list:l21 level1 lfo3'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><a
-     href="https://developer.apple.com/xcode/">Download</a> and install Apple
-     Xcode 4.<o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l21 level1 lfo3'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Open
-     the <b style='mso-bidi-font-weight:normal'>gameplay.xc</b> workspace.<o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l21 level1 lfo3'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Change
-     the active configuration to <b style='mso-bidi-font-weight:normal'>iOS
-     Device</b>, <b style='mso-bidi-font-weight:normal'>iPhone Simulator,</b>
-     or <b style='mso-bidi-font-weight:normal'>iPad Simulator</b>.<o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l21 level1 lfo3'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Build
-     and run any of the game samples.<o:p></o:p></span></li>
-</ol>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Android
-NDK 7 (Android tablets and devices)</span></b><a name=d4e517a1310></a><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='mso-list:l18 level1 lfo4'><a
-     href="http://developer.android.com/sdk/ndk/index.html"><span
-     style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Download</span></a>
-     and install Android NDK 7, Android SDK, Apache Ant, and GNU Make for
-     Cygwin.</li>
- <ol style='margin-top:0in' start=1 type=a>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Setup
-      the <a href="http://developer.android.com/sdk/index.html">Android SDK</a>.<o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Make
-      sure &lt;android-sdk-path&gt;/tools and &lt;android-sdk-path&gt;/platform-tools
-      are added to PATH.<o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Setup
-      the <a href="http://developer.android.com/sdk/ndk/index.html">Android NDK</a>
-      and <a href="http://developer.android.com/sdk/ndk/overview.html">follow
-      these instructions</a>.<o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Make
-      sure &lt;android-ndk-path&gt; is added to PATH.<o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Install
-      <a href="http://ant.apache.org/manual/install.html">Apache Ant</a>.<o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Make
-      sure &lt;ant-path&gt;/bin is added the PATH.<o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Install
-      <a href="http://cygwin.com/install.html">Cygwin</a> and select and add
-      the package <b style='mso-bidi-font-weight:normal'>make: The GNU version
-      of the 'make' utility</b> during installation. <o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Rename
-      <b style='mso-bidi-font-weight:normal'>awk.exe</b> to something else
-      (awk_.exe for example) in &lt;android-ndk-path&gt;/prebuilt/windows/bin.
-      This is to prevent the Android build system from being confused by the
-      cygwin's awk.<span style='mso-tab-count:1'>  </span><o:p></o:p></span></li>
- </ol>
-</ol>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ol style='margin-top:0in' start=2 type=1>
- <li class=MsoNormal style='text-align:justify;mso-list:l18 level1 lfo4'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Build
-     the gameplay library using following steps: <a name=d4e593a1310></a><span
-     style='mso-spacerun:yes'> </span><o:p></o:p></span></li>
- <ol style='margin-top:0in' start=1 type=a>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Open
-      the Cygwin terminal. <o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Change
-      to the <b style='mso-bidi-font-weight:normal'>&lt;gameplay-root&gt;/gameplay/android</b>
-      folder. <o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Run
-      the following command to generate the needed files to build the project:<br>
-      </span><span class=shellcode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&gt;
-      android.bat update project -t 1 -p . -s</span></span><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Run
-      the following command to build the gameplay library:<o:p></o:p></span></li>
- </ol>
-</ol>
-
-<p class=MsoNormal style='margin-left:1.0in'><span class=shellcode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&gt; ndk-build<o:p></o:p></span></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ol style='margin-top:0in' start=3 type=1>
- <li class=MsoNormal style='text-align:justify;mso-list:l18 level1 lfo4'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Build
-     a sample game(s) with following steps: <a name=d4e619a1310></a><span
-     style='mso-spacerun:yes'> </span><o:p></o:p></span></li>
- <ol style='margin-top:0in' start=1 type=a>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Open
-      the Cygwin terminal. <o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Change
-      to the:<o:p></o:p></span></li>
- </ol>
-</ol>
-
-<p class=MsoNormal style='margin-left:1.0in;text-align:justify'><b
-style='mso-bidi-font-weight:normal'><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>&lt;gameplay-root/gameplay-samples/sampleXX-XXXXX&gt;/android</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> folder.<o:p></o:p></span></p>
-
-<ol style='margin-top:0in' start=3 type=1>
- <ol style='margin-top:0in' start=3 type=a>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Run
-      the following command to generate the needed files to build the project:<br>
-      </span><span class=shellcode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&gt;
-      android.bat update project -t 1 -p . -s</span></span><span
-      class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>
-      </span></span><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-      "Times New Roman"'><o:p></o:p></span></li>
-  <li class=MsoNormal style='text-align:justify;mso-list:l18 level2 lfo4'><span
-      style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Run
-      the following command to build the gameplay sample:<br>
-      </span><span class=shellcode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&gt;
-      ndk-build </span></span><span style='mso-bidi-font-size:12.0pt;
-      mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></li>
- </ol>
-</ol>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal style='text-indent:.5in'><b style='mso-bidi-font-weight:
-normal'><span style='mso-bidi-font-size:12.0pt'>Android NDK permissions errors:<o:p></o:p></span></b></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>If you see an error like </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&quot;./obj/local/armeabi/libpng.a:
-No such file: Permission denied&quot;,</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> make sure that the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&quot;*.a&quot;
-</span></span><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>files
-have read permission by running:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span class=shellcode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&gt; chmod +r
-obj/local/armeabi/*.a<o:p></o:p></span></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ol style='margin-top:0in' start=4 type=1>
- <li class=MsoNormal style='text-align:justify;mso-list:l18 level1 lfo4'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Connect
-     the device and run the following command in the Cygwin terminal to deploy
-     the game:<br>
-     </span><span class=shellcode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&gt;
-     ant debug install</span></span><span class=inlinecode><span
-     style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'> </span></span><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></li>
-</ol>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='margin-left:.25in'>Note: If &quot;ant debug
-install&quot; does not work, ensure your device is being detected properly by
-running &quot;adb devices&quot;.<span style='mso-spacerun:yes'>  </span>If no
-devices are reported, try downloading the correct USB drivers from you phone
-manufacturer's website. (<a
-href="http://developer.android.com/tools/extras/oem-usb.html#Drivers">OEM
-Drivers</a>)</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h4>Linux (Ubuntu)</h4>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='mso-list:l12 level1 lfo23'><span class=shellcode><span
-     style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>sudo apt-get install
-     build-essential gcc cmake libglu1-mesa-dev libogg-dev libopenal-dev</span></span></li>
- <li class=MsoNormal style='mso-list:l12 level1 lfo23'><span class=shellcode><span
-     style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>cd build</span></span></li>
- <li class=MsoNormal style='mso-list:l12 level1 lfo23'><span class=shellcode><span
-     style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>cmake ..</span></span></li>
- <li class=MsoNormal style='mso-list:l12 level1 lfo23'><span class=shellcode><span
-     style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>make</span></span></li>
-</ol>
-
-<h3>Mobile platform considerations</h3>
-
-<p class=MsoNormal>Ensure that you test early on the physical devices.
-Depending on the type of game you want to write and on your design ideas, you<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll want to get some idea
-of what type of performance you<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll
-get with the game plan and prototypes you are working towards. Be careful and
-do not to rely on desktop and mobile simulators as an indicator of performance
-or mobile device capabilities.<span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<h3>Creating new projects</h3>
-
-<p class=MsoNormal>To create a new cross-platform game project, run the
-gameplay-newproject.bat/.sh script. The following is an example of running the
-gameplay-newproject.bat script:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>1. Enter a name for the new project.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>This name will be given
-to the project</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>executable and a folder
-with this name</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>will be created to store
-all project files.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Project name: test</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>2. Enter a game title.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>On some platforms, this
-title is used to</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>identify the game during
-installation and</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>on shortcuts/icons.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Title: Test</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>3. Enter a short game description.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Description: Test Game</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>4. Enter a unique identifier for your project.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>This should be a human
-readable package name,</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>containing at least two
-words separated by a</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>period (eg.
-com.surname.gamename).</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Unique ID: org.gameplay3d.test</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>5. Enter author name.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>On BlackBerry targets,
-this is used for</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>signing and must match
-the developer name</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>of your development
-certificate.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Author: My Company</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>6. Enter your game's main class name.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>Your initial game header
-and source file</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>will be given this name
-and a class with</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>this name will be
-created in these files.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Class name: TestGame</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>7. Enter the project path.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>This can be a relative
-path, absolute path,</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>or empty for the current
-folder. Note that</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>a project folder named
-test will also</p>
-
-<p class=Code><span style='mso-spacerun:yes'>   </span>be created inside this
-folder.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Path: gameplay-samples</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>1 file copied.</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>...</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The simplest way to run the project on Windows is to add the
-Visual Studio project to the existing gameplay.sln solution, set the
-&quot;gameplay&quot; project as a dependency (right-click on the new project,
-click &quot;Project Dependencies…&quot;, and select the &quot;gameplay&quot;
-project), and then build and run.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Similarly, the easiest way to run the project on BlackBerry
-is import the new project into a QNX Momentics IDE workspace that already
-contains the gameplay project, set the &quot;gameplay&quot; project as a
-dependency (right-click the new project, click &quot;Properties&quot;, go to &quot;Project
-References&quot;, and select the &quot;gameplay&quot; project), and then build
-and run. (Note: make sure that both projects are set to the same Build
-Configuration.) </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>To run the project on Mac, simply open the Xcode project and
-build and run.<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>To run the project on Android from Windows, use the steps
-described above for running the samples.</p>
-
-<h2><a name="_Toc337574574">Assets and authoring</a></h2>
-
-<p class=MsoNormal>Game assets are extremely important for the quality of a
-good game. Not only do the game assets need to be fitted for the game design,
-but they also need to load as quickly as possible and at the highest quality
-within the platform hardware limitations.</p>
-
-<h3>Binary game assets</h3>
-
-<p class=MsoNormal>A very practical way to ensure that you<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>re being efficient is to
-always bundle and load all your game assets as binary formats. Common assets
-include images, fonts, audio, and 3-D scenes. Most game engines will always
-include some sort of authoring tool to allow developers to encode and process
-their content to be game-ready. The gameplay framework also includes an
-executable tool for this called the gameplay-encoder.</p>
-
-<h3>Using fonts and 3-D scenes</h3>
-
-<p class=MsoNormal>For fonts and 3-D scenes, you will want to support
-industry-standard file formats, such as <u><span style='color:blue'><a
-href="http://en.wikipedia.org/wiki/TrueType"><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>TrueType</span></a> </span></u>for fonts and popular
-modern 3-D scene formats such as <u><span style='color:blue'><a
-href="https://collada.org/mediawiki/index.php/COLLADA_-_Digital_Asset_and_FX_Exchange_Schema"><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>COLLADA</span></a> </span></u>and
-the <a href="http://usa.autodesk.com/fbx/"><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>FBX</span></a> formats. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Although these formats are popular and have the widest
-support in tooling options, they are not considered efficient runtime formats.
-The gameplay library requires that you convert these formats to its documented <u><span
-style='color:blue'><a
-href="https://github.com/blackberry/GamePlay/blob/master/gameplay-encoder/gameplay-bundle.txt"><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay bundle format
-(.gpb)</span></a> </span></u>using the gameplay-encoder executable.</p>
-
-<h3>Pre-built gameplay-encoder tool</h3>
-
-<p class=MsoNormal>The gameplay-encoder executable tool comes pre-built for
-Windows 7 and Mac OS X and can be found in the <b style='mso-bidi-font-weight:
-normal'>&lt;gameplay-root&gt;/bin</b> folders. The general usage is:</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>&gt;gameplay-encoder &lt;options&gt; files</p>
-
-<h3>Building gameplay-encoder</h3>
-
-<p class=MsoNormal>Even though the gameplay-encoder tool comes pre-built, you
-make want to customize it and built it again yourself. To build the gameplay-encoder
-project, open the gameplay-encoder project in Visual Studio or XCode and build
-the executable. </p>
-
-<h3>Building support for the FBX format</h3>
-
-<p class=MsoNormal>Although the FBX format is supported by the gameplay-encoder
-tools, FBX is not allowed to be re-distributed as part of our framework.
-However, it is free for you to use. Simply download the <a
-href="http://usa.autodesk.com/fbx/"><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>FBX SDK</span></a> and then re-build
-the code in the gameplay-encoder using the USE_FBX preprocessor directive and
-ensure that you include the header and library paths in the project to the FBX
-SDK paths.</p>
-
-<h3>Content pipeline</h3>
-
-<p class=MsoNormal>The content pipeline for fonts and scenes works like this:<a
-name=d5e88a1310></a></p>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='text-align:justify;mso-list:l11 level1 lfo5'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Take
-     any TrueType fonts or COLLADA/FBX scene files.<span style='mso-tab-count:
-     2'>             </span><o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l11 level1 lfo5'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Run
-     the gameplay-encoder executable passing in the font or scene file path and
-     optional parameters to produce a gameplay binary version for the file
-     (.gpb).<span style='mso-tab-count:2'>           </span><o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l11 level1 lfo5'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Bundle
-     your game and include the gameplay binary file as a binary game asset.<o:p></o:p></span></li>
- <li class=MsoNormal style='text-align:justify;mso-list:l11 level1 lfo5'><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Load
-     any binary game assets using the </span><span class=inlinecode><span
-     style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Bundle</span></span><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-     class.</span><span style='mso-tab-count:3'>                     </span><span
-     style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></li>
-</ol>
-
-<h3>Using binary bundles</h3>
-
-<p class=MsoNormal>Use the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Bundle</span></span> class from your C++
-game source code to load your encoded binary files as bundles. The class offers
-methods to load both fonts and scenes. Scenes are loaded as a hierarchical
-structure of nodes, with various entities attached to them. These entities include
-things like mesh geometry or groups of meshes, and cameras and lights. The <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Bundle</span></span>
-class also has methods to filter only the parts of a scene that you want to
-load.</p>
-
-<h3>Release mode assets</h3>
-
-<p class=MsoNormal>When releasing your game title, all of the images should be
-optimized and converted to the compressed texture format that is supported by
-OpenGL (ES). Audio should be encoded to save space on storage. <a
-name=d6e3a1310></a></p>
-
-<h2><a name="_Toc337574575">Game</a></h2>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Game</span></span> class is the base class
-for all your games created with the gameplay framework. You are required to
-extend this class using C++ and to override the core game and lifecycle event
-methods initialize, finalize, update, and render. This is where you<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll write your code to
-load the game assets and apply game logic and rendering code. Under the hood,
-the game class will receive events and act as an abstraction between the
-running game and the underlying platform layer that is running the game loop
-and reacting to operating systems. </p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>There are four methods you must implement to get started in
-writing your own game: </p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>#include</span></span>&nbsp;<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;gameplay.h&quot;</span></span></p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>using</span></span>&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>namespace</span></span>&nbsp;gameplay;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>class</span></span>&nbsp;MyGame&nbsp;:&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>public</span></span>&nbsp;Game</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;initialize();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;finalize();<span
-style='mso-tab-count:1'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;update(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;elapsedTime);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;render(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;elapsedTime);</p>
-
-<p class=Code>};</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Game::initialize()</span></span> and <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::finalize()</span></span>
-methods are called when the game starts up and shuts down, respectively. They
-are the methods to which you<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll
-add code to load your game assets and cleanup when the game has ended. The <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::update()</span></span>
-and <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::render()</span></span>
-methods are called once per frame from the game loop implemented in the <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Platform</span></span>
-for each operating system. This allows you to separate the code between
-handling updates to your game<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s
-state and rendering your game<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s
-visuals. You can use a variety of built-in classes to help with the game
-rendering.</p>
-
-<h3>Accessing the game instance</h3>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Game</span></span> class can be accessed
-from anywhere in your game code. It implements a singleton design pattern. Call
-the static method <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Game::getInstance()</span></span> to gain access to
-the instance of your game from any code. </p>
-
-<h3>Graphics and audio devices</h3>
-
-<p class=MsoNormal>After your game has started, the underlying graphics and
-audio devices will automatically initialize. This happens prior to the <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::initialize()</span></span>
-method being called and readies any classes that use OpenGL (ES) 2.0 or Open AL
-1.1. The graphics devices of your <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game</span></span> will be
-set up with a default 32-bit color frame buffer, a 24-bit depth buffer, and an
-8-bit stencil buffer ready for your use. These are the active graphics hardware
-buffers, which are rendered into from your rendering code. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For more advanced usage, you can apply alternative frame
-buffers using the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::FrameBuffer</span></span> class. Immediately
-after the <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::render()</span></span>
-method, the frame buffer is swapped/presented to the physical display for the
-user to see. You can invoke the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Game::clear()</span></span> method to clear the
-buffers through any of the methods. You can also call <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::renderOnce()</span></span>
-from code, such as from the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Game::initialize()</span></span> method, to callback
-onto a method that will be called only once and then swapped/presented to the
-display. This is useful for presenting ad-hoc updates to the screen during
-initialization for rendering, such as loading screens.</p>
-
-<h3>Game sub-system controllers</h3>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Game</span></span> class also manages game sub-system
-controllers, such as audio, animation and physics controllers, and provides
-access to them directly using getter methods. These classes act as controlling
-interfaces for managing and playing audio and animations that are active in the
-game, as well as updates to dynamics in the physics systems. These controllers
-are hosted by the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Game</span></span> class and react on
-lifecycle events being handled in the game.</p>
-
-<h3>Game time and state</h3>
-
-<p class=MsoNormal>Once the instance of a <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Game</span></span>
-class has started, the game starts a running time. You can call the <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::getGameTime()</span></span>
-to determine how long a game has been running. You can also call <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::getAbsoluteTime()</span></span>
-to determine the absolute time that has elapsed since the first <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::run()</span></span>
-call. This includes any paused time too. You can call the <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::pause()</span></span>
-method and the game will be put into the <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::PAUSED</span></span>
-state. If the user on the platform puts the game into the background, the game
-time is also paused. If the user puts the game back into the foreground, the
-game will invoke <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::play()</span></span>
-and the game will resume. At any time in the game you can determine the game
-state by calling <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::getState()</span></span>.
-The game state can be UNINITIALIZED, RUNNING or PAUSED.<a name=d7e3a1310></a></p>
-
-<h2><a name="_Toc337574576">Input and sensors</a></h2>
-
-<p class=MsoNormal>By creating your game and extending <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Game</span></span>,
-you<span style='font-family:"Times New Roman","serif";mso-ascii-font-family:
-"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll be
-able to add all the required handlers of input events. Additionally, there are
-methods on <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Game</span></span>
-to poll for the current sensor data. This architecture insulates you, as a
-developer, from the platform-specific details on handling keyboard, touch and
-mouse events, and from polling the accelerometer state. The following
-illustrates overridden methods to handle input events:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>#include</span></span>&nbsp;<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;gameplay.h&quot;</span></span></p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>using</span></span>&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>namespace</span></span>&nbsp;gameplay;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>class</span></span>&nbsp;MyGame&nbsp;:&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>public</span></span>&nbsp;Game</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;...</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;keyEvent(Keyboard::KeyEvent&nbsp;evt,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>int</span></span>&nbsp;key);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;touchEvent(Touch::TouchEvent&nbsp;evt,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>int</span></span>&nbsp;x,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>int</span></span>&nbsp;y,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>unsigned</span></span>&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>int</span></span>&nbsp;contactIndex);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>bool</span></span>&nbsp;mouseEvent(Mouse::MouseEvent&nbsp;evt,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>int</span></span>&nbsp;x,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>int</span></span>&nbsp;y);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;getAccelerometerValues(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>*&nbsp;pitch,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>*&nbsp;roll);&nbsp;</p>
-
-<p class=Code>};</p>
-
-<h3>Handling input events</h3>
-
-<p class=MsoNormal>You have the opportunity, on either desktop platforms or
-mobile devices, to handle mouse events uniquely from the <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::touchEvent()</span></span>
-method (this includes support for a Bluetooth enabled mouse). However, this is
-not required, and the default implementation of the <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::mouseEvent()</span></span>
-method returns <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>false</span></span>,
-which means that the user can allow mouse events to be treated automatically as
-touch events.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>You can decide to disable multi-touch support for games when
-you do not want this functionality. You can call <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::setMultiTouch()</span></span>
-and pass in <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>false</span></span>
-to ensure that the platform treats and handles touch events as single touches.</p>
-
-<p class=MsoNormal>You can also call <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::displayKeyboard()</span></span>
-to show or hide a virtual keyboard for platforms that support it. You<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll want to integrate it
-into points in the game and user interfaces in the game where text input is
-required.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>You can call <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Game::getAccelerometerValues()</span></span> and pass
-in pointers to parameters that will be populated with the current sensor values
-for the accelerometer.<a name=d8e3a1310></a></p>
-
-<h2><a name="_Toc337574577">Sprites and fonts</a></h2>
-
-<p class=MsoNormal>Use the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::SpriteBatch</span></span> and <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Font</span></span>
-classes to integrate simple 2-D sprite and text rendering for both 2-D and 3-D
-games. </p>
-
-<h3>Binary encoding fonts</h3>
-
-<p class=MsoNormal>The first thing to do is to create or find a TrueType font
-that you want to use. There are a number of sites on the web that offer .TTF
-files to purchase, or tools to make them yourself.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next, you<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll
-want to binary encode your TrueType font to a binary format via
-gameplay-encoder to produce a binary file. To do this run the following command
-with your gameplay-encoder executable:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>&gt; gameplay-encoder -s 28 airstrip.ttf</p>
-
-<h3>Drawing text and images</h3>
-
-<p class=MsoNormal>The following code sample illustrates how to render an image
-and text together:</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::initialize()</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codecomment><span
-style='mso-bidi-font-family:Consolas'>//&nbsp;Create&nbsp;your&nbsp;sprite&nbsp;batch&nbsp;and&nbsp;font&nbsp;and&nbsp;associate&nbsp;resources<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_batch&nbsp;=&nbsp;SpriteBatch::create(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;res/image.png&quot;</span></span>);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_font&nbsp;=&nbsp;Font::create(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;res/airstrip28.gpb&quot;</span></span>);</p>
-
-<p class=Code>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::render(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;elapsedTime)</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codecomment><span
-style='mso-bidi-font-family:Consolas'>//&nbsp;Clear&nbsp;the&nbsp;frame&nbsp;buffer<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;clear(CLEAR_COLOR_DEPTH,&nbsp;Vector4(0,&nbsp;0,&nbsp;0,&nbsp;1),&nbsp;1.0f,&nbsp;0);</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codecomment><span
-style='mso-bidi-font-family:Consolas'>//&nbsp;Draw&nbsp;your&nbsp;sprites&nbsp;(we&nbsp;will&nbsp;only&nbsp;draw&nbsp;one&nbsp;now<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_batch-&gt;start();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_batch-&gt;draw(Rectangle(0,&nbsp;0,&nbsp;WINDOW_WIDTH,&nbsp;WINDOW_HEIGHT),&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rectangle(0,&nbsp;0,&nbsp;WINDOW_WIDTH,&nbsp;WINDOW_HEIGHT),&nbsp;Vector4::one());</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_batch-&gt;finish();</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codecomment><span
-style='mso-bidi-font-family:Consolas'>//&nbsp;Draw&nbsp;the&nbsp;text&nbsp;at&nbsp;position&nbsp;20,20&nbsp;using&nbsp;red&nbsp;color<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_font-&gt;start();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>char</span></span>&nbsp;text[1024];</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;sprintf(text,&nbsp;<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;FPS:%d&quot;</span></span>,&nbsp;Game::getFrameRate());</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_font-&gt;drawText(text, 20, 20,
-Vector4(1, 0, 0, 1), _font-&gt;getSize());</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_font-&gt;finish();</p>
-
-<p class=Code>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::finalize()</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codecomment><span
-style='mso-bidi-font-family:Consolas'>//&nbsp;Use&nbsp;built-in&nbsp;macros&nbsp;to&nbsp;clean&nbsp;up&nbsp;our&nbsp;resources.<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;SAFE_DELETE(_batch);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;SAFE_RELEASE(_font);</p>
-
-<p class=Code>}</p>
-
-<h3>Batch, batch, batch</h3>
-
-<p class=MsoNormal>You<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll
-notice that the <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::SpritchBatch</span></span>
-and <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Font</span></span>
-code sequences above both have a common flow to them. The developer performs a
-call to <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>start()</span></span>
-followed by drawing operations and finishing with a call to <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>finish()</span></span>.
-This is to support batching or combining drawing operations into a single
-hardware rendering call.<a name=d9e3a1310></a></p>
-
-<h2><a name="_Toc337574578">Scene and nodes</a></h2>
-
-<p class=MsoNormal>At the heart of any game is a visual scene. Using the <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Scene</span></span>
-class, you can create and retain a rich 3-D scene for organizing visual, audio,
-animation and physics components in your game.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Scene</span></span> class is based on a
-hierarchical data structure that is often referred to as a scene graph. Using
-the <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Scene</span></span>
-and <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span>
-classes, you can build up a game level by attaching various game components to
-the nodes in the scene. The node will maintain the transformation for any
-attachments. As a basic example, a scene might have two nodes. The first node
-could have a <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Camera</span></span>
-attached to it and the second node could have a <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Model</span></span>
-attached to it. The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Scene</span></span> will have the camera set
-as the active camera. You could then transform either/both of the nodes to
-change the player<span style='font-family:"Times New Roman","serif";mso-ascii-font-family:
-"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s
-perspective on what they will see in the game.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>There are a variety of components you can attach to the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-class:<o:p></o:p></span></p>
-
-<p class=MsoNormal><a name=d9e44a1310></a><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<table class=devguidetable border=0 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
-  <td width=301 valign=top style='width:225.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Component<o:p></o:p></span></p>
-  </td>
-  <td width=337 valign=top style='width:252.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Description<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td width=301 valign=top style='width:225.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span class=inlinecode><span
-  style='font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Model<o:p></o:p></span></span></p>
-  </td>
-  <td width=337 valign=top style='width:252.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Used to represent the mesh/geometry
-  in the scene.<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td width=301 valign=top style='width:225.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span class=inlinecode><span
-  style='font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Camera<o:p></o:p></span></span></p>
-  </td>
-  <td width=337 valign=top style='width:252.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Used to represent a view/perspective
-  into the scene.<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
-  <td width=301 valign=top style='width:225.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span class=inlinecode><span
-  style='font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Light<o:p></o:p></span></span></p>
-  </td>
-  <td width=337 valign=top style='width:252.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Used to hold lighting information
-  that can affect how a </span><span class=inlinecode><span style='font-size:
-  11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Model</span></span><span
-  style='font-size:11.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-  is rendered.<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
-  <td width=301 valign=top style='width:225.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span class=inlinecode><span
-  style='font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::PhysicsCollisionObject<o:p></o:p></span></span></p>
-  </td>
-  <td width=337 valign=top style='width:252.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Used to define the basic physics
-  dynamics that will be simulated.<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:5'>
-  <td width=301 valign=top style='width:225.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:128'><span class=inlinecode><span
-  style='font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::ParticleEmitter<o:p></o:p></span></span></p>
-  </td>
-  <td width=337 valign=top style='width:252.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Used to represent smoke, steam, fire
-  and other atmospheric effects.<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'>
-  <td width=301 valign=top style='width:225.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-yfti-cnfc:64'><span class=inlinecode><span
-  style='font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AudioSource<o:p></o:p></span></span></p>
-  </td>
-  <td width=337 valign=top style='width:252.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Use to represent a source where audio
-  is being played from.<o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<p class=MsoNormal style='text-align:justify;mso-layout-grid-align:auto;
-text-autospace:ideograph-numeric ideograph-other'><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal style='text-align:justify;mso-layout-grid-align:auto;
-text-autospace:ideograph-numeric ideograph-other'><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>A typical flow will have you loading/building a large scene
-representing all the components needed in the game level. This is done once
-during <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::initialize()</span></span>.
-For every call to the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Game::update()</span></span> method, the code will
-update changes to the nodes and attached components based on events such as
-user input . Then the application will traverse the scene and render the parts
-in the scene that are visible from scene's active camera.</p>
-
-<h3>Exporting a 3-D scene from Autodesk Maya/Max</h3>
-
-<p class=MsoNormal>If you want to export 3-D scenes, use the native FBX Export (for
-FBX) or DAE_FBX Export (for COLLADA). </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><v:shape id="Picture_x0020_1" o:spid="_x0000_i1026"
- type="#_x0000_t75" style='width:455.25pt;height:311.25pt;visibility:visible'>
- <v:imagedata src="development-guide_files/image003.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=607 height=415
-src="development-guide_files/image004.jpg" v:shapes="Picture_x0020_1"><![endif]></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h3>Exporting a 3-D scene from Blender</h3>
-
-<p class=MsoNormal>Blender supports exporting to the COLLADA and FBX file
-formats. </p>
-
-<p class=MsoNormal><a name=d9e229a1310></a><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><span style='mso-tab-count:2'>                </span><span
-style='mso-tab-count:1'>        </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>File &gt;
-Export &gt; Autodesk FBX (.fbx)</span></b><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>File
-&gt; Export &gt; COLLADA (.dae)</span></b><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'><span style='mso-tab-count:1'>   </span><o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>If you run into problems when using COLLADA files from Blender,
-try re-importing the COLLADA file back into Blender or Maya software to see if
-there is a problem with the exported model.</p>
-
-<h3>Binary encoding a scene</h3>
-
-<p class=MsoNormal>Run gameplay-encoder with no arguments to see the usage
-information and supported arguments.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>Usage: gameplay-encoder [options] <i style='mso-bidi-font-style:
-normal'>&lt;filepath&gt;</i></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Example</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>Convert the COLLADA file duck.dae into gameplay binary file
-duck.gpb.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>&gt; gameplay-encoder duck.dae</p>
-
-<h3>Encoding an FBX file</h3>
-
-<p class=MsoNormal>To convert an FBX file to a gameplay binary file, you must
-install the FBX SDK and set the preprocessor directive USE_FBX. See the
-instructions in the <a
-href="https://github.com/blackberry/GamePlay/tree/master/gameplay-encoder"><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay-encoder
-README</span></a><u><span style='color:blue'> </span></u>on GitHub.</p>
-
-<h3>Loading a scene</h3>
-
-<p class=MsoNormal>Using the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Bundle</span></span> class, you can load
-either an entire scene or various parts of a scene into any existing scene. The
-<span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Bundle</span></span>
-parses the binary file and de-serializes the objects from the file so that you
-can use them in your game. </p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>Here is an example of loading a simple scene containing a
-model of a duck, a light, and a camera from a gameplay binary file:</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MeshGame::initialize()</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Load&nbsp;the&nbsp;scene&nbsp;from&nbsp;our&nbsp;gameplay&nbsp;binary&nbsp;file<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Bundle*&nbsp;bundle&nbsp;=&nbsp;Bundle::create(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;res/duck.gpb&quot;</span></span>);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Scene*&nbsp;scene&nbsp;=&nbsp;bundle-&gt;loadScene();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;SAFE_RELEASE(bundle);</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Get&nbsp;handles&nbsp;to&nbsp;the&nbsp;nodes&nbsp;of&nbsp;interest&nbsp;in&nbsp;the&nbsp;scene<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_modelNode&nbsp;=&nbsp;scene-&gt;findNode(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;duck&quot;</span></span>);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Node*&nbsp;_lightNode&nbsp;=&nbsp;scene-&gt;findNode(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;directionalLight1&quot;</span></span>);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Node*&nbsp;_cameraNode&nbsp;=&nbsp;scene-&gt;findNode(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;camera1&quot;</span></span>);</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;More&nbsp;initialization&nbsp;...<o:p></o:p></span></span></p>
-
-<p class=Code>}</p>
-
-<h3>Updating a scene</h3>
-
-<p class=MsoNormal>After handling input events or polling the sensors, it<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s time to update the
-scene. It is very important to understand the scene representing your game
-level. We always want to update things that are impacted by the changes to
-optimize performance. In order to optimize the performance of your game, it is
-essential that you only update objects that need to be changed. In this
-example, we<span style='font-family:"Times New Roman","serif";mso-ascii-font-family:
-"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll apply
-a rotation when the user has touched the screen or mouse button:</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::update(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;elapsedTime)</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Rotate&nbsp;the&nbsp;model<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>if</span></span>&nbsp;(!_touched)</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_modelNode-&gt;rotateY(elapsedTime
-* MATH_DEG_TO_RAD(0.05f));</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>Some examples of typical things you will want to update in
-your scene may include:</p>
-
-<p class=MsoNormal><a name=d9e350a1310></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>applying forces or impulses onto rigid
-bodies<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>applying transformations<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>starting or stopping animations<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>showing or hiding components<o:p></o:p></span></p>
-
-<h3>Rendering a scene</h3>
-
-<p class=MsoNormal>To render a scene you<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll
-need to gather all the models in the scene that are attached to nodes and then
-draw them. Calling the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Scene::visit()</span></span> method, the scene's
-hierarchical data structure is traversed and for each node in the scene, the
-specified method is invoked as a callback.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::render(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;elapsedTime)</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;the&nbsp;buffers&nbsp;to&nbsp;black<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;clear(CLEAR_COLOR_DEPTH,&nbsp;Vector4::zero(),&nbsp;1.0f,&nbsp;0);</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Visit&nbsp;all&nbsp;the&nbsp;nodes&nbsp;in&nbsp;the&nbsp;scene,&nbsp;drawing&nbsp;the&nbsp;models/mesh.<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;_scene-&gt;visit(<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>this</span></span>,&nbsp;&amp;MeshGame::drawScene);</p>
-
-<p class=Code>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>bool</span></span>&nbsp;MyGame::drawScene(Node*&nbsp;node,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>*&nbsp;cookie)</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;This&nbsp;method&nbsp;is&nbsp;called&nbsp;for&nbsp;each&nbsp;node&nbsp;in&nbsp;the&nbsp;scene.<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Model*&nbsp;model&nbsp;=&nbsp;node-&gt;getModel();&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>if</span></span>&nbsp;(model)</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model-&gt;draw();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>return</span></span>&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>true</span></span>;</p>
-
-<p class=Code>}</p>
-
-<h3>Culling non-visible models</h3>
-
-<p class=MsoNormal>In some scenes, you may have many models contributing to the
-game level. However, with a moving camera, only some models will be visible at
-any particular time. Running the code in the snippet above on much larger
-scenes would cause many models to be drawn unnecessarily. To avoid this, you
-can query a <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span>
-class and retrieve a <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::BoundingSphere</span></span> using <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Node::getBoundingSphere()</span></span>.
-This bound represents an approximation of the representative data contained
-within a node. It is only intended for visibility testing or first-pass
-intersection testing. If you have a moving camera with many objects in the
-scene, ensure that you add code to test visibility from within your visitor
-callback. This will ensure the node is within the camera<span style='font-family:
-"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>’</span>s viewing range. To do this, make a simple
-intersection test between the front of each node and the active camera frustum
-(by calling <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Camera::getFrustum()</span></span>)
-that represents the outer planes of the camera<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s
-viewing area. Here is a snippet of code to perform such an intersection test:</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><a name=d12e3a1310></a><span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>bool</span></span>&nbsp;MeshGame::drawScene(Node*&nbsp;node,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>*&nbsp;cookie)</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Only&nbsp;draw&nbsp;visible&nbsp;nodes<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>if</span></span>&nbsp;(node-&gt;getBoundingSphere()-&gt;intersect(_camera-&gt;getFrustum())</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Model*&nbsp;model&nbsp;=&nbsp;node-&gt;getModel();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>if</span></span>&nbsp;(model)</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model-&gt;draw();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>return</span></span>&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>true</span></span>;</p>
-
-<p class=Code>}</p>
-
-<h2><a name="_Toc337574579">Model and mesh</a></h2>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Model</span></span> class is the basic
-component used to draw geometry in your scene. The model contains a few key elements:
-a <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Mesh</span></span>,
-an optional <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MeshSkin</span></span>
-and one or more <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span>.
-These contribute to the information that is needed to perform the rendering of
-a model.</p>
-
-<h3>Mesh geometry</h3>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Mesh</span></span> class consists of a <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::VertexFormat</span></span>
-attribute. This attribute describes the layout for the vertex data as well as
-the actual vertex data, which is used as input in the rendering of the
-geometry. In addition, it holds one or more <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MeshParts</span></span>.
-These parts define the primitive shapes and indices into the vertex data that
-describe how the vertices are connected.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>Game artists use 3-D modeling tools that are capable of
-organizing and splitting the vertex data into parts/subsets based on the
-materials that are applied to them. The <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Mesh</span></span>
-class maintains one vertex buffer to hold all the vertices, and for each <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MeshPart</span></span>,
-an index buffer is used to draw the primitive shapes.</p>
-
-<h3>MeshSkin and Joints</h3>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Mesh</span></span> class supports an optional
-<span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MeshSkin</span></span>.
-This is used when loading models that represent characters in the game that
-have a skeleton consisting of <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Joint</span></span> objects (bones). Vertex
-skinning is the term used to describe the process of applying a weighting or
-relationship with the Joints and their affected vertices. Using 3-D modeling
-tools, artists can add this additional weighting information onto the vertices
-in order to control how much a particular vertex should be impacted. This is
-based on the transformation of joints that can affect them. You will learn
-later how to apply special, skinned Materials that support this weighting. The
-gameplay 3-D framework supports a maximum of four blend weights per vertex. The
-<span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MeshSkin</span></span>
-class holds and maintains a hierarchy of <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay:Joint</span></span>
-objects that can be transformed. A typical operation is to animate the
-transformation (usually only rotations) of the joints. The data within this
-class can be bound onto skinned Materials to ensure proper impact of weights
-onto their influenced vertices.<a name=d13e3a1310></a></p>
-
-<h2><a name="_Toc337574580">Lights</a></h2>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Light</span></span> class can be attached to
-any <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span>
-in order to add lighting information into a <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Scene</span></span>.
-This lighting information must be bound to the <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span>
-that is being applied onto the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::MeshParts</span></span>. There are three
-types of lights in the gameplay 3-D framework - directional, point, and spot
-lights.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>All <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Light</span></span> components can be loaded
-into a <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Scene</span></span>
-using the <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Bundle</span></span>
-class. However, it is your responsibility to bind the relevant lighting
-information stored in the light into the <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span>
-class.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>You can also programmatically create a light using the
-factory methods on the </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Light</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> class. Here is an example of
-how to create and add a directional light to your scene and bind the lighting
-information onto a model's material(s):<o:p></o:p></span></p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::initialize()</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;...</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Create&nbsp;a&nbsp;node&nbsp;and&nbsp;light&nbsp;attaching&nbsp;the&nbsp;light&nbsp;to&nbsp;the&nbsp;node<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Node*&nbsp;lightNode&nbsp;=&nbsp;Node::create(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;directionalLight1&quot;</span></span>);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Light*&nbsp;light&nbsp;=&nbsp;Light::createDirectional(Vector3(1,&nbsp;0,&nbsp;0));</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;lightNode-&gt;setLight(light);</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Bind&nbsp;the&nbsp;relevant&nbsp;lighting&nbsp;information&nbsp;into&nbsp;the&nbsp;materials<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;Material*&nbsp;material&nbsp;=&nbsp;_modelNode-&gt;getModel()-&gt;getMaterial();</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;MaterialParameter*&nbsp;parameter&nbsp;=&nbsp;material-&gt;getParameter(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;u_lightDirection&quot;</span></span>);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;parameter-&gt;bindValue(lightNode,&nbsp;&amp;Node::getForwardVectorView);</p>
-
-<p class=Code>}</p>
-
-<h3>Pre-computed lighting maps</h3>
-
-<p class=MsoNormal>Adding lighting information into <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span>
-adds computationally expensive graphics computations. In many games, there are
-usually multiple static lights and objects in the scene. In this relationship,
-the additive light colors contributing to the objects can be pre-computed
-during the design phase. 3-D modeling tools typically support the ability to compute
-the light's additive color contributions using a process called <i
-style='mso-bidi-font-style:normal'>baking</i>. This process allows the artist
-to direct the contributing light and color information into a separate or
-combined texture so that this is not required during the rendering.</p>
-
-<p class=MsoNormal style='mso-pagination:widow-orphan'><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>You can optionally declare and
-pass in pre-generated light maps using the
-colored-unlit.frag/textured-unlit.frag shaders and specifying in your materials<o:p></o:p></span></p>
-
-<p class=MsoNormal style='mso-pagination:widow-orphan'><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>defines = TEXTURE_LIGHTMAP<o:p></o:p></span></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Then you just assign them using the sampler<span
-style='mso-spacerun:yes'>  </span></span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>m_lightmapTexture</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> in
-your material definition to the image that was pre-generated that contains the
-light+color for your object. It is recommended to use 8-bit alpha textures to
-reduce the size.<o:p></o:p></span></p>
-
-<h3>Directional lights</h3>
-
-<p class=MsoNormal>In most games, you<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll
-want to add a <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Light</span></span>
-class whose type is <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Light::DIRECTIONAL</span></span>. This type of light
-is used as the primary light source, such as a sun or moon. The directional
-light represents a light source whose color is affected only by the constant
-direction vector. It is typical to bind this onto the <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Materials</span></span>
-of objects that are dynamic or moving.</p>
-
-<h3>Point and spot lights</h3>
-
-<p class=MsoNormal>Due to the expensive processing overhead in using point and
-spot lights, many games are designed to restrict point and spot light use to be
-static, baked into light and color maps. However, the point and spot light
-types add exceptional realism to games. Using them in separate or combined rendering
-passes, you can bind point and spot lights into material to add dynamic point
-and spot light rendering. All the built-in gameplay .materials files support
-directional, point and spot lights. Also, with minor modification to the
-shaders, you can add additional passes to combine two or more lights. It should
-be noted that there is a significant performance impact in doing this. For
-these cases, you<span style='font-family:"Times New Roman","serif";mso-ascii-font-family:
-"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>ll
-usually want to restrict the influence of lights on a material to no more than
-the one or two closest lights at a time. This can be achieved by using a simple
-test in the <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Game::update()</span></span>
-method to find the closest light to a <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Model</span></span>
-and then bind them to the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Material</span></span> once they are found.<a
-name=d14e3a1310></a></p>
-
-<h2><a name="_Toc337574581">Materials and shaders</a></h2>
-
-<p class=MsoNormal>The gameplay 3-D framework uses a modern GPU shader based
-rendering architecture and uses OpenGL 2.0+ (desktop) or OpenGL ES 2.0 (mobile)
-along with the OpenGL Shading Language (GLSL). Currently, all the code in
-graphics-related classes uses the OpenGL hardware device directly.</p>
-
-<h3>Using materials</h3>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Material</span></span> class is the high level
-definition of all the rendering information needed to draw a <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MeshPart</span></span>.
-When you draw a <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Model</span></span>,
-the mesh<span style='font-family:"Times New Roman","serif";mso-ascii-font-family:
-"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s vertex
-buffer is applied and for each <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::MeshPart</span></span> its index buffer(s)
-and <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Materials</span></span>
-are applied just before the primitives are drawn. </p>
-
-<h3>RenderState and Effects</h3>
-
-<p class=MsoNormal>Each <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Material</span></span> consists of a <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::RenderState</span></span>
-and a <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Effect</span></span>.
-The <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::RenderState</span></span>
-stores the GPU render state blocks that are to be applied, as well as any <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MaterialParameters</span></span>
-to be applied to the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Effect</span></span>. While a <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span>
-is typically used once per <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::MeshPart</span></span>, the <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Effect</span></span>
-is created internally based on the unique combination of selected vertex and
-fragment shader programs. The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Effect</span></span> represents a common
-reusable shader program.</p>
-
-<h3>Techniques</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Since you can bind only one </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> per </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MeshPart</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, an
-additional feature is supported that's designed to make it quick and easy to
-change the way you render the parts at runtime. You can define multiple
-techniques by giving them different names. Each one can have a completely
-different rendering technique, and you can even change the technique being
-applied at runtime by using </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Material::setTechnique(const
-char* name)</span></span><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>. When a material is loaded, all the techniques are loaded
-ahead too. This is a practical way of handling different light combinations or
-having lower-quality rendering techniques, such as disabling bump mapping, when
-the object being rendered is far away from the camera.<o:p></o:p></span></p>
-
-<h3>Creating materials</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>You can create a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> from
-the simple </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Properties</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> based
-.material files. Using this simple file format, you can define your material,
-specifying all the rendering techniques and pass information.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Here is an example of loading a .material file:<o:p></o:p></span></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>Material*&nbsp;planeMaterial&nbsp;=&nbsp;planeNode-&gt;getModel()-&gt;setMaterial(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;res/floor.material&quot;</span></span>);</p>
-
-<h3>Setting vs. binding material parameters</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Once you have created a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Material</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-instance, you</span><span style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>ll want to get its parameters
-and then set or bind various values to them. To set a value, get the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MaterialParameter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> and
-then call the appropriate </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>setValue()</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> method on it. Setting material
-parameter values is most common in parameters that are based on values that are
-constants.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Here is an example of setting a value on a parameter:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=Code>material-&gt;getParameter(<span class=codestring><span
-style='mso-bidi-font-family:Consolas'>&quot;u_diffuseColor&quot;</span></span>)-&gt;setValue(Vector4(0.53544f,&nbsp;</p>
-
-<p class=Code><span
-style='mso-spacerun:yes'>                                                          
-</span>0.53544f,</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                          </span><span
-style='mso-spacerun:yes'>                              </span><span
-style='mso-spacerun:yes'>   </span>0.53544f,&nbsp;1.0f));</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>For values that are not constants and are determined from
-other objects, you</span><span style='mso-bidi-font-size:12.0pt;font-family:
-"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>’</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>ll
-want to bind a value to it. When binding a value, you are giving the parameter
-a function pointer that will only be resolved just prior to rendering. In this
-example, we will bind the forward vector for a node (in view space).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Here is an example of binding a value on a parameter:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>material-&gt;getParameter(<span class=codestring><span
-style='mso-bidi-font-family:Consolas'>&quot;u_lightDirection&quot;</span></span>)-&gt;bindValue(lightNode,&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                              
-</span><span
-style='mso-spacerun:yes'>                       </span>&amp;Node::getForwardVectorView);</p>
-
-<h3>.material files</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>As you can see in the following .material file, we have one
-Material, one Technique and one Pass. The main parts of this material
-definition are the shaders, uniforms, samplers and renderState. You will see
-certain upper case values throughout the file. These represent constant
-enumeration values and can usually be found in the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::RenderState</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> or </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Texture</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-definitions:<o:p></o:p></span></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>material duck</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>technique</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{<span
-style='mso-tab-count:1'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>pass 0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>// shaders</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>vertexShader =
-res/shaders/textured.vert</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>fragmentShader
-= res/shaders/textured.frag</p>
-
-<p class=Code><span style='mso-tab-count:1'>       </span><span
-style='mso-spacerun:yes'>     </span>defines = SPECULAR</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>// uniforms</p>
-
-<p class=Code><span style='mso-spacerun:yes'>         </span><span
-style='mso-spacerun:yes'>   </span>u_worldViewProjectionMatrix =
-WORLD_VIEW_PROJECTION_MATRIX</p>
-
-<p class=Code><span style='mso-spacerun:yes'>           
-</span>u_inverseTransposeWorldViewMatrix = INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX</p>
-
-<p class=Code><span style='mso-spacerun:yes'>           
-</span>u_cameraPosition = CAMERA_WORLD_POSITION</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>// samplers</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>sampler u_diffuseTexture</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>path =
-res/duck-diffuse.png</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>mipmap =
-true</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>wrapS =
-CLAMP</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>wrapT =
-CLAMP</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>minFilter =
-NEAREST_MIPMAP_LINEAR</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>magFilter =
-LINEAR</p>
-
-<p class=Code><span style='mso-spacerun:yes'>      </span><span
-style='mso-spacerun:yes'>      </span>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>// render state</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>renderState</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>cullFace =
-true</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                </span>depthTest =
-true</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code>}</p>
-
-<h3>Built-in shaders</h3>
-
-<p class=MsoNormal>The <b style='mso-bidi-font-weight:normal'>&lt;gameplay-root&gt;/gameplay/res/shaders</b>
-directory contains a set of the most common shaders used in your games. To
-reduce shader code duplication the gameplay framework also supports declaring
-including of shader files within vertex and shader program files.</p>
-
-<p class=MsoNormal>If there is an error compiling the shaders the expanded
-shader without the definitions is output with an .err file extension in the
-same directory where the file was loaded from. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Example:<o:p></o:p></b></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><o:p>&nbsp;</o:p></b></p>
-
-<p class=Code>#include &quot;lib/lighting.frag&quot;</p>
-
-<h3>Shader preprocessor definitions</h3>
-
-<p class=MsoNormal>Using preprocessor definitions, the built-in shaders support
-various features. Adding certain shader definitions (defines=XXX) will require
-use specific uniform/samplers <span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>‘</span>u_xxxxxxx<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>. You must set these in
-your vertex stream in your mesh and/or material parameters.</p>
-
-<h3>Property inheritance</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>When making materials with multiple techniques or passes,
-you can put any common things, such as renderState or shaders, above the
-material or technique definitions. The </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Property</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-format for the .material files supports property inheritance. Therefore, if you
-put the renderState in the material sections, then all techniques and passes
-will inherit its definition.<a name=d15e3a1310></a><o:p></o:p></span></p>
-
-<h2><a name="_Toc337574582">Particle emitters</a></h2>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::ParticleEmitter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-defines all the information needed to simulate and render a system of
-particles. The emitter can be defined in various ways to represent smoke,
-steam, fire and other atmospheric effects, such as rain and lightning. Once
-created, the emitter can be set on a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> in
-order to follow an object, or it can be placed within a scene. <o:p></o:p></span></p>
-
-<h3>Particles as sprites</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::ParticleEmitter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-always has a sprite/texture and a maximum number of particles that can be alive
-at any given time. After the emitter is created, these cannot be changed.
-Particles are rendered as camera-facing billboards using the emitter's
-sprite/texture. The emitter's sprite/texture properties determine whether the
-texture is treated as a single image, a texture atlas, or an animated sprite.<o:p></o:p></span></p>
-
-<h3>Particle properties</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::ParticleEmitter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> also
-has a number of properties that determine values assigned to the individual
-particles it emits. Scalar properties, such as particle begin- and end-size,
-are assigned within a minimum and a maximum value; vector properties are
-assigned within the domain or space, and are defined by a base vector and a
-variance vector.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The variance vector is multiplied by a random scalar between
-1 and -1, and the base vector is added to this result. This allows an emitter
-to be created, which emits particles with properties that are randomized, yet
-fit within a well-defined range. To make a property deterministic, simply set
-the minimum value to the same value as the maximum for that property, or set
-its variance to a zero vector. To learn more about different scalars, vector
-and rendering properties that can be set on a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::ParticleEmitter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, look
-at the C++ API.<o:p></o:p></span></p>
-
-<h3>Creating particle emitters</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Use the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>ParticlEmitter::create()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-method to create an emitter from a particle file. The .particle file format and
-semantics are very similar to the .material file format. This is because it
-also leverages the </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Properties</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-definition and supports all the properties supported in the C++ API for the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::ParticleEmitter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-class.<o:p></o:p></span></p>
-
-<h3>Animated sprites for particles</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>It is very easy to make the particles animate through a list
-of images. Just make your images have a tile of sprite images and then modify
-the sprite</span><span style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>s base properties in the emitter
-to control the animation behavior.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>You can then even do things such as animate images of 3-D
-dice using only 2-D images.<a name=d16e3a1310></a><o:p></o:p></span></p>
-
-<h2><a name="_Toc337574583">Physics</a></h2>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The gameplay framework supports 3-D physics using the game
-service/controller </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::PhysicsController</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. The </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::PhysicsController</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-maintains a physics world that has gravity, and will simulate the objects you
-add to it.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The gameplay physics system supports 3-D rigid body
-dynamics, including collision shapes, constraints, and a physics character
-class. To simulate objects within the physics world, you need to create a </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::PhysicsCollisionObject</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-object representing the geometry, or </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Model</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. By
-attaching a collision object to a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, the
-rigid body will be added to the physics world and the simulation will
-automatically update the node</span><span style='mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>’</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>s
-transformation.<o:p></o:p></span></p>
-
-<h3>PhysicsCollisionObject</h3>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>PhysicsCollisionObject</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> is
-the base class that provides an interface for receiving collision events. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>You can add collision listeners to a </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsCollisionObject</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> or
-test if the collision object currently collides with another collision object.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>There are 3 types of collision objects:<a name=d16e49a1310></a><span
-style='mso-tab-count:2'>         </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>PhysicsRigidBody<span style='mso-tab-count:
-2'>              </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>PhysicsGhostObject<span
-style='mso-tab-count:2'>           </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>PhysicsCharacter<span style='mso-tab-count:
-6'>                                               </span><o:p></o:p></span></p>
-
-<h3>PhysicsRigidBody</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A rigid body is an idealized, infinitely hard, non-deformable
-solid object. Rigid bodies have mass, shape and other properties that affect
-forces within the simulation. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>PhysicsRigidBody</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> can be set to be a kinematic
-rigid body. A kinematic rigid body is an object that is not simulated by the
-physics system, and instead has its transform driven manually.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<h4>Create a PhysicsRigidBody</h4>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>To create a rigid body, first you need to know what kind of
-shape you want to simulate. The physics system supports boxes, spheres, meshes,
-capsules, and terrain height fields. For basic shapes, such as boxes and
-spheres, you can programmatically create the rigid bodies by calling </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Node::setCollisionObject()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> and
-passing in the desired shape type.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>PhysicsRigidBody::Parameters params;</p>
-
-<p class=Code>params.mass = 10.0f;</p>
-
-<p class=Code>node-&gt;setCollisionObject(PhysicsCollisionObject::RIGID_BODY, </p>
-
-<p class=Code><span style='mso-spacerun:yes'>                         </span>PhysicsCollisionShape::box(),
-&amp;params);</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>All other types of rigid bodies must be created using the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.scene</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> and </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.physics</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-property definition files. The </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.scene</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-allows you to bind various attachments or properties to nodes, including a
-rigid body.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>For example, to create a mesh rigid body for the node within
-the scene with ID equal to tree_1:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>game.scene:</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=Code>scene</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>...</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>node tree_1</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>...</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>collisionObject =
-game.physics#tree_mesh</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>...</p>
-
-<p class=Code>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>game.physics:</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=Code>collisionObject tree_mesh</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type = RIGID_BODY</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>shape = MESH</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>mass = 15.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>...</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><span style='mso-spacerun:yes'>   </span><o:p></o:p></span></span></p>
-
-<h4>RigidBody schema</h4>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>All properties have default values if not defined. See </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsRigidBody::Parameters</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> for
-more information.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>collisionObject &lt;string&gt;</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type<span
-style='mso-spacerun:yes'>    </span><span
-style='mso-spacerun:yes'>            </span>= &lt;RIGID_BODY | GHOST_OBJECT |
-CHARACTER&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>shape<span
-style='mso-spacerun:yes'>   </span><span
-style='mso-spacerun:yes'>            </span>= &lt;BOX | SPHERE | MESH |
-HEIGHTFIELD | CAPSULE&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>image<span
-style='mso-spacerun:yes'>               </span>= &lt;string&gt; // only for
-HEIGHTFIELD</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>radius<span
-style='mso-spacerun:yes'>              </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>height<span
-style='mso-spacerun:yes'>              </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>extents<span
-style='mso-spacerun:yes'>             </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>center<span
-style='mso-spacerun:yes'>              </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>centerAbsolute<span
-style='mso-spacerun:yes'>     </span><span style='mso-spacerun:yes'> </span>= &lt;float,
-float, float&gt;</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>mass<span
-style='mso-spacerun:yes'>                </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>friction<span
-style='mso-spacerun:yes'>            </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>restitution<span
-style='mso-spacerun:yes'>         </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearDamping<span
-style='mso-spacerun:yes'>       </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularDamping<span
-style='mso-spacerun:yes'>      </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>kinematic<span
-style='mso-spacerun:yes'>           </span>= &lt;bool&gt;<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>anisotropicFriction = &lt;float,
-float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>gravity<span
-style='mso-spacerun:yes'>             </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><a name=d16e136a1310></a><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<table class=devguidetable border=0 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
-  <td width=397 valign=top style='width:297.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'><span
-  style='mso-spacerun:yes'> </span>Shapes<o:p></o:p></span></p>
-  </td>
-  <td width=397 valign=top style='width:297.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'><span
-  style='mso-spacerun:yes'> </span>Properties <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td width=397 valign=top style='width:297.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>BOX <o:p></o:p></span></p>
-  </td>
-  <td width=397 valign=top style='width:297.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>extents, center, center-absolute <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td width=397 valign=top style='width:297.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>SPHERE <o:p></o:p></span></p>
-  </td>
-  <td width=397 valign=top style='width:297.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>radius, center, center-absolute <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
-  <td width=397 valign=top style='width:297.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>MESH <o:p></o:p></span></p>
-  </td>
-  <td width=397 valign=top style='width:297.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span style='mso-spacerun:yes'> 
-  </span><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
-  <td width=397 valign=top style='width:297.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>HEIGHTFIELD <o:p></o:p></span></p>
-  </td>
-  <td width=397 valign=top style='width:297.7pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>image <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
-  <td width=397 valign=top style='width:297.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>CAPSULE <o:p></o:p></span></p>
-  </td>
-  <td width=397 valign=top style='width:297.7pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>radius, height, center, center-absolute <o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<h3>PhysicsGhostObject</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A ghost object is like a rigid body except that it does not
-have an effect the simulation. It will not cause forces or react to the other
-rigid bodies. Ghost objects have a shape but they do not have mass, or any of
-the properties that affect forces.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Ghost objects are useful for querying the simulation, or
-detecting collisions without having rigid bodies react to the ghost object. A
-ghost object could be used to detect if an object entered a volume, such as a
-soccer ball going into a goal. This use of a ghost object is often called a
-volumetric trigger. Ghost objects can also detect if they collide with other
-ghost objects.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Collision objects do not require a model so you could use a
-ghost object to check if a camera collides with a wall.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<h4>Creating a PhysicsGhostObject</h4>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Programmatically:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>//&nbsp;Create&nbsp;a&nbsp;ghost&nbsp;object&nbsp;with&nbsp;radius&nbsp;5<o:p></o:p></span></span></p>
-
-<p class=Code>node-&gt;setCollisionObject(PhysicsCollisionObject::GHOST_OBJECT,</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                        
-</span>PhysicsCollisionShape::sphere(5.0f));</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>In a .physics file:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>collisionObject powerup</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type = GHOST_OBJECT</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>shape = SPHERE</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>radius = 5.0</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<h4>PhysicsGhostObject schema</h4>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Ghost objects only have a shape and support the same shapes
-as rigid bodies. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>collisionObject &lt;string&gt;</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type<span
-style='mso-spacerun:yes'>    </span><span
-style='mso-spacerun:yes'>            </span>= GHOST_OBJECT</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>shape<span
-style='mso-spacerun:yes'>   </span><span
-style='mso-spacerun:yes'>            </span>= &lt;BOX | SPHERE | MESH |
-HEIGHTFIELD | CAPSULE&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>radius<span
-style='mso-spacerun:yes'>              </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>height<span
-style='mso-spacerun:yes'>              </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>extents<span
-style='mso-spacerun:yes'>             </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>center<span
-style='mso-spacerun:yes'>              </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>centerAbsolute<span
-style='mso-spacerun:yes'>     </span><span style='mso-spacerun:yes'> </span>= &lt;float,
-float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>image<span
-style='mso-spacerun:yes'>               </span>= &lt;string&gt; <span
-style='mso-spacerun:yes'> </span>// HEIGHTFIELD shapes only.</p>
-
-<p class=Code>}</p>
-
-<h3>PhysicsCharacter</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>PhysicsCharacter</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> class can be used to control
-the movements and collisions of a character in a game. It interacts with the
-physics system to apply gravity and handle collisions, however dynamics are not
-applied to the character directly by the physics system. Instead, the
-character's movement is controlled directly by the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsCharacter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-class. This results in a more responsive and typical game character than would
-be possible if trying to move a character by applying physical simulation with
-forces.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<h4>Creating a PhysicsCharacter</h4>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>To programmatically create a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsCharacter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> with
-mass 20 and capsule shape:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>PhysicsRigidBody::Parameters&nbsp;params(20.0f);</p>
-
-<p class=Code>node-&gt;setCollisionObject(PhysicsCollisionObject::CHARACTER,</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                        
-</span>PhysicsCollisionShape::capsule(1.2f,&nbsp;5.0f,</p>
-
-<p class=Code><span
-style='mso-spacerun:yes'>                                                   
-</span><span style='mso-spacerun:yes'>    </span>Vector3(0,&nbsp;2.5,&nbsp;0), <span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>true</span></span>),
-</p>
-
-<p class=Code><span
-style='mso-spacerun:yes'>                                            </span><span
-style='mso-spacerun:yes'>            </span>&amp;params);</p>
-
-<p class=Code>PhysicsCharacter*&nbsp;character&nbsp;=&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>static_cast</span></span>&lt;PhysicsCharacter*&gt;(</p>
-
-<p class=Code><span
-style='mso-spacerun:yes'>                                                    
-</span>node-&gt;getCollisionObject());</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<h4>PhysicsCharacter schema</h4>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Physics characters have a mass and shape. A capsule is a typical
-shape for a typical biped character.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>collisionObject &lt;string&gt;</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type<span
-style='mso-spacerun:yes'>    </span><span
-style='mso-spacerun:yes'>           </span><span
-style='mso-spacerun:yes'> </span>= CHARACTER</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>shape<span
-style='mso-spacerun:yes'>   </span><span
-style='mso-spacerun:yes'>            </span>= &lt;BOX | SPHERE | MESH | CAPSULE&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>radius<span
-style='mso-spacerun:yes'>              </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>height<span
-style='mso-spacerun:yes'>              </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>extents<span
-style='mso-spacerun:yes'>             </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>center<span
-style='mso-spacerun:yes'>              </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>centerAbsolute<span
-style='mso-spacerun:yes'>     </span><span style='mso-spacerun:yes'> </span>= &lt;float,
-float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>mass<span
-style='mso-spacerun:yes'>                </span>= &lt;float&gt;</p>
-
-<p class=Code>}</p>
-
-<h3>Creating a PhysicsContraint</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The gameplay framework supports various types of constraints
-between two rigid bodies (or one rigid body and the physics world), including
-hinge, fixed, generic (six-degree-of-freedom), socket, and spring. Constraints
-can be created programmatically using one of the create functions on </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::PhysicsController</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, or
-they can be specified within the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>physics</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-section of the </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>.scene</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> file. For example, to create a
-hinge constraint from within a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.scene</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-between the rigid body attached to the node with id door and the physics world:<o:p></o:p></span></p>
-
-<b style='mso-bidi-font-weight:normal'><span style='font-size:12.0pt;
-font-family:"Malgun Gothic","sans-serif";mso-hansi-font-family:"Times New Roman";
-mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:
-EN-US;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'>
-</span></b>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>game.scene:</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>scene</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>...</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>physics</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>...</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>constraint</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span><span style='mso-tab-count:
-1'>   </span><span style='mso-spacerun:yes'>  </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>type = HINGE</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>rigidBodyA =
-door</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>rotationOffsetA
-= 0.0, 1.0, 0.0, 90.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>           
-</span>translationOffsetA = 0.0, 0.0, 2.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>            </span>limits = 0.0,
-90.0, 0.5</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span><span
-style='mso-spacerun:yes'>   </span>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>PhysicsConstraint
-schema</span></b><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>constraint &lt;string&gt;</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type<span
-style='mso-spacerun:yes'>   </span><span style='mso-tab-count:1'>   </span><span
-style='mso-spacerun:yes'>          </span>= &lt;FIXED | GENERIC | HINGE |<span
-style='mso-spacerun:yes'>  </span>SOCKET | SPRING&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>rigidBodyA<span
-style='mso-spacerun:yes'>         </span>= &lt;string&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>rigidBodyB<span
-style='mso-spacerun:yes'>         </span>= &lt;string&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>translationOffsetA = &lt;float,
-float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>translationOffsetB = &lt;float,
-float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>rotationOffsetA<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>rotationOffsetB<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularLowerLimit<span
-style='mso-spacerun:yes'>  </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularUpperLimit<span
-style='mso-spacerun:yes'>  </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearLowerLimit<span
-style='mso-spacerun:yes'>   </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearUpperLimit<span
-style='mso-spacerun:yes'>   </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>limits<span
-style='mso-spacerun:yes'>             </span>= &lt;float, float, float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularDampingX<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularDampingY<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularDampingZ<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularStrengthX<span
-style='mso-spacerun:yes'>   </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularStrengthY<span
-style='mso-spacerun:yes'>   </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularStrengthZ<span
-style='mso-spacerun:yes'>   </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearDampingX<span
-style='mso-spacerun:yes'>     </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearDampingY<span
-style='mso-spacerun:yes'>     </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearDampingZ<span
-style='mso-spacerun:yes'>     </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearStrengthX<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearStrengthY<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearStrengthZ<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>breakingImpulse<span
-style='mso-spacerun:yes'>    </span>= &lt;float&gt;</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><a name=d16e328a1310></a><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<table class=devguidetable border=0 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
-  <td width=190 valign=top style='width:142.75pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'><span
-  style='mso-spacerun:yes'> </span>Constraint Types <o:p></o:p></span></p>
-  </td>
-  <td width=603 valign=top style='width:452.6pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'><span
-  style='mso-spacerun:yes'> </span>Properties <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td width=190 valign=top style='width:142.75pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>FIXED <o:p></o:p></span></p>
-  </td>
-  <td width=603 valign=top style='width:452.6pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span style='mso-spacerun:yes'> 
-  </span><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td width=190 valign=top style='width:142.75pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>GENERIC <o:p></o:p></span></p>
-  </td>
-  <td width=603 valign=top style='width:452.6pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>translationOffsetA,
-  translationOffsetB, rotationOffsetA, rotationOffsetB, angularLowerLimit,
-  angularUpperLimit, linearLowerLimit, linearUpperLimit <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
-  <td width=190 valign=top style='width:142.75pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>HINGE <o:p></o:p></span></p>
-  </td>
-  <td width=603 valign=top style='width:452.6pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>translationOffsetA,
-  translationOffsetB, rotationOffsetA, rotationOffsetB, limits <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
-  <td width=190 valign=top style='width:142.75pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>SOCKET <o:p></o:p></span></p>
-  </td>
-  <td width=603 valign=top style='width:452.6pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>translationOffsetA,
-  translationOffsetB <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
-  <td width=190 valign=top style='width:142.75pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'><span
-  style='mso-spacerun:yes'> </span>SPRING <o:p></o:p></span></p>
-  </td>
-  <td width=603 valign=top style='width:452.6pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>translationOffsetA,
-  translationOffsetB, rotationOffsetA, rotationOffsetB, angularLowerLimit,
-  angularUpperLimit, linearLowerLimit, linearUpperLimit, angularDampingX,
-  angularDampingY, angularDampingZ, angularStrengthX, angularStrengthY,
-  angularStrengthZ, linearDampingX, linearDampingY, linearDampingZ,
-  linearStrengthX, linearStrengthY, linearStrengthZ <o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<h3>Handling collisions</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The gameplay framework allows you to register to be notified
-whenever a collision occurs between two rigid bodies (and also when two rigid bodies
-stop colliding). In order to do this, you must define a class that derives from
-</span><span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::PhysicsRigidBody::Listener</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> and
-implements the function </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>collisionEvent(…)</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>. Then, you must add an instance
-of the class as a listener on a given rigid body using the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsRigidBody::addCollisionListener</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-function. For example, to print all information for all collisions with the
-door and for collisions between the character and the wall:<o:p></o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></b></p>
-
-<b style='mso-bidi-font-weight:normal'><span style='font-size:12.0pt;
-font-family:"Malgun Gothic","sans-serif";mso-hansi-font-family:"Times New Roman";
-mso-bidi-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:
-EN-US;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'>
-</span></b>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>MyGame.h:</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>class</span></span>&nbsp;MyGame:&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>public</span></span>&nbsp;gameplay::PhysicsRigidBody::Listener</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>public</span></span>:</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;...</p>
-
-<p class=Code>&nbsp;</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;/**<o:p></o:p></span></span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Collision&nbsp;event&nbsp;handler.<o:p></o:p></span></span></p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;collisionEvent(PhysicsRigidBody::Listener::EventType&nbsp;type,</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                        </span><span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>const</span></span>&nbsp;PhysicsRigidBody::CollisionPair&amp;&nbsp;pair,&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>const</span></span>&nbsp;Vector3&amp;&nbsp;pointA,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>const</span></span>&nbsp;Vector3&amp;&nbsp;pointB);</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;...</p>
-
-<p class=Code>};</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>MyGame.cpp:</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><a name=d17e3a1310></a>MyGame*&nbsp;mygame;</p>
-
-<p class=Code>Node*&nbsp;door;</p>
-
-<p class=Code>Node*&nbsp;character;</p>
-
-<p class=Code>Node*&nbsp;wall;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>...</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>door-&gt;getRigidBody()-&gt;addCollisionListener(mygame);</p>
-
-<p class=Code>character-&gt;getRigidBody()-&gt;addCollisionListener(mygame,&nbsp;wall);</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>...</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::collisionEvent(PhysicsRigidBody::Listener::EventType&nbsp;type,&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>const</span></span>&nbsp;PhysicsRigidBody::CollisionPair&amp;&nbsp;pair,&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-style='mso-spacerun:yes'>      </span><span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>const</span></span>&nbsp;Vector3&amp;&nbsp;pointA,&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>const</span></span>&nbsp;Vector3&amp;&nbsp;pointB)</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;GP_WARN(<span class=codestring><span
-style='mso-bidi-font-family:Consolas'>&quot;Collision&nbsp;between&nbsp;rigid&nbsp;bodies&nbsp;%s&nbsp;(at&nbsp;point&nbsp;(%f,&nbsp;%f,&nbsp;%f))
-&quot;<o:p></o:p></span></span></p>
-
-<p class=Code><span class=codestring><span style='mso-bidi-font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span>&quot;and&nbsp;%s&nbsp;(at&nbsp;point&nbsp;(%f,&nbsp;%f,&nbsp;%f)).&quot;</span></span>,</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pair._rbA-getNode()-getId(),&nbsp;pointA.x,&nbsp;pointA.y,&nbsp;pointA.z,&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pair._rbB-getNode()-getId(),&nbsp;pointB.x,&nbsp;pointB.y,&nbsp;pointB.z);</p>
-
-<p class=Code>}</p>
-
-<h3>PhysicsVehicle</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt'>The </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsVehicle</span></span><span
-style='mso-bidi-font-size:12.0pt'> and </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsVehicleWheel</span></span><span
-style='mso-bidi-font-size:12.0pt'> classes give you access to vehicle physics
-for racing games. You designate a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>VEHICLE</span></span><span
-style='mso-bidi-font-size:12.0pt'> type collision object for the node in your
-scene representing the vehicle body or chassis, and </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>VEHICLE_WHEEL</span></span><span
-style='mso-bidi-font-size:12.0pt'> for the nodes representing the wheels.</span>
-<span style='mso-bidi-font-size:12.0pt'>When gameplay loads the scene, it
-attempts to automatically bind the wheels to the associated vehicle chassis. In
-the hierarchy of your scene be sure to locate the wheel nodes and the vehicle
-chassis under a common group node. This is how gameplay determines which
-vehicle body the wheels belong to </span><span style='mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>–</span><span style='mso-bidi-font-size:
-12.0pt'> by searching for a common ancestor in the hierarchy. The nodes do not
-need to be direct descendents of the group node; they just need to appear
-somewhere below it in the hierarchy. The presence of other mesh nodes under the
-common node has no effect. All that matters is that the node of collision type </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>VEHICLE</span></span><span
-style='mso-bidi-font-size:12.0pt'> shares a common ancestor with the nodes of
-collision type </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>VEHICLE_WHEEL</span></span><span style='mso-bidi-font-size:
-12.0pt'> (details below):<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1027" type="#_x0000_t75" style='width:465pt;height:352.5pt'>
- <v:imagedata src="development-guide_files/image005.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=620 height=470
-src="development-guide_files/image006.jpg" v:shapes="_x0000_i1027"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>Then in your .scene file, designate collision objects for
-the car and its wheels, like this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>scene main</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>path = res/common/game.gpb</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>activeCamera = camera1</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>node carbody</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>url = car_top</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>material =
-res/common/game.material#car</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>collisionObject =
-res/common/game.physics#car</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>node wheelFrontLeft</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>url = Left_top</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>material =
-res/common/game.material#car</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>collisionObject =
-res/common/game.physics#carWheelFrontLeft</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>node wheelFrontRight</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>url = Right_top</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>material =
-res/common/game.material#car</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>collisionObject =
-res/common/game.physics#carWheelFrontRight</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>node wheelBackLeft</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>url = Left_bottom</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>material =
-res/common/game.material#car</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>collisionObject =
-res/common/game.physics#carWheelBackLeft</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>node wheelBackRight</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>url = Right_bottom</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>material =
-res/common/game.material#car</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>collisionObject =
-res/common/game.physics#carWheelBackRight</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>...</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>physics</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>gravity = 0.0,
--9.8, 0.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>In the .physics file be sure to specify type <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>VEHICLE</span></span>
-for the chassis and type <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>VEHICLE_WHEEL</span></span> for the wheels:</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>collisionObject car</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type = VEHICLE</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>shape = BOX</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>mass = 800.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>friction = 0.5</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>restitution = 0.01</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearDamping = 0.025</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularDamping = 0.6</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steeringGain = 0.4</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>brakingForce = 350.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>drivingForce = 2000.0</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steerdownSpeed = 87</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steerdownGain = 0.22</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>brakedownStart = 100</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>brakedownFull = 170</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>drivedownStart = 105</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>drivedownFull = 180</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>boostSpeed = 74</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>boostGain = 2.6</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>downforce = 4.5</p>
-
-<p class=Code>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>collisionObject carWheel</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type = VEHICLE_WHEEL</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>shape = MESH</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>mass = 1.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>friction = 0.5</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>restitution = 0.01</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>linearDamping = 0.025</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>angularDamping = 0.16</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>wheelDirection = 0, -1,
-0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>wheelAxle = -1, 0, 0</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutRestLength = 0.6</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutStiffness = 25.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutDampingCompression
-= 5.1</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutDampingRelaxation
-= 2.3</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>frictionBreakout =
-1000.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>wheelRadius = 0.5</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>rollInfluence = 0.1</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutConnectionOffset =
-0.0, 0.0, 1.4</p>
-
-<p class=Code>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>collisionObject carWheelFrontLeft : carWheel</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steerable = true</p>
-
-<p class=Code>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>collisionObject carWheelFrontRight : carWheel</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steerable = true</p>
-
-<p class=Code>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>collisionObject carWheelBackLeft : carWheel</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steerable = false</p>
-
-<p class=Code>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>collisionObject carWheelBackRight : carWheel</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steerable = false</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Practically speaking the only collision shape that makes
-sense right now for the vehicle chassis is <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>BOX</span></span> because
-currently there is a known issue with <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>MESH</span></span>
-collision shapes.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>In the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>initialize()</span></span> method of your Game class,
-you can set a member variable for accessing the vehicle via <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsVehicle</span></span>:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>Node* carNode =
-_scene-&gt;findNode<span class=codestring><span style='mso-bidi-font-family:
-Consolas'>(&quot;carbody&quot;</span></span>);</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span><span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>if</span></span>
-(carNode &amp;&amp; carNode-&gt;getCollisionObject()-&gt;getType() ==
-PhysicsCollisionObject::VEHICLE)</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>_carVehicle = <span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>static_cast</span></span>&lt;PhysicsVehicle*&gt;(carNode-&gt;getCollisionObject());</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Then, in the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>update()</span></span> method of your Game class you
-need to call <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PhysicsVehcicle::update()</span></span>
-with the various control inputs described below:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><span style='mso-spacerun:yes'>   
-</span>_carVehicle-&gt;update(elapsedTime, steering, braking, driving);<o:p></o:p></span></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>steering</span></span> parameter controls vehicle
-steering and has an expected range of -1 to +1. The <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>braking</span></span>
-parameter applies wheel brakes and has an expected range of 0 to 1. The <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>driving</span></span>
-parameter lumps together engine output and overall drivetrain, with an expected
-range of 0 to 1. Optional properties in the .physics definition for your
-vehicle give you greater control of the handling characteristics, and are
-described below in turn.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h4>Overall Vehicle Controls</h4>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The following properties specify the vehicle<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s overall response to
-control inputs:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-no-proof:yes'>// Vehicle steering, braking, and
-powertrain<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>steeringGain<span
-style='mso-spacerun:yes'>   </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// steering at full deflection<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>brakingForce<span
-style='mso-spacerun:yes'>   </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// braking force at full braking<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>drivingForce<span
-style='mso-spacerun:yes'>   </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// driving force at full throttle<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This is an over-simplification of vehicle handling, and therefore
-gameplay provides further refinement as follows.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h4>Steering Reduction at High Speed</h4>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Turning the steering wheel of a real car by 1 degree has a
-much different effect at 100 km/h than it does at 10 km/h. (Please do not
-attempt this). In a real vehicle, the <span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>“</span>feel<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>”</span> of a steering wheel
-tends to stiffen as speed increases. In a racing game, we can approximate this
-effect by reducing the amount of authority at higher speeds. gameplay provides
-the following properties to control this effect:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-no-proof:yes'>// Steering gain reduction with
-speed (optional)<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>steerdownSpeed =
-&lt;float&gt;<span style='mso-spacerun:yes'>    </span>// steering gain fades
-to this point<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>steerdownGain<span
-style='mso-spacerun:yes'>  </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// gain value at that point (less than 1)<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The gain at zero speed is always 1. The properties <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>steerdownSpeed</span></span>
-and <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>steerdownGain</span></span>
-specify a point of reduced gain, above which the gain remains constant. A <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>steerdownGain</span></span>
-of 1 effectively disables this feature.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h4>Brake Reduction at High Speed</h4>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Due to imperfections in the simulated physics, full braking
-at high speeds can cause unexpected behavior. gameplay provides the following
-properties to reduce braking above a certain threshold speed:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-no-proof:yes'>// Brake force reduction at high
-speeds (optional)<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>brakedownStart =
-&lt;float&gt;<span style='mso-spacerun:yes'>    </span>// braking fades above
-this speed<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>brakedownFull<span
-style='mso-spacerun:yes'>  </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// braking is fully faded at this speed<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Braking remains unaffected up to the speed specified by <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>brakedownStart</span></span>.
-Above that speed, braking fades and reaches zero at the speed specified by <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>brakedownFull</span></span>.
-An unreachably-large speed value for <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>brakedownStart</span></span>
-will effectively disable this feature.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h4>Vehicle Acceleration, All-out Speed, and Aerodynamic Downforce</h4>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Driving force is currently simplified down to a single value
-that lumps together the engine and drivetrain. In the absence of a proper
-gearbox simulation gameplay provides the following properties for affecting
-all-out speed and bottom-end acceleration:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-no-proof:yes'>// Driving force reduction at high
-speeds (optional)<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>drivedownStart =
-&lt;float&gt;<span style='mso-spacerun:yes'>   </span>// driving force fades
-above this speed<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>drivedownFull<span
-style='mso-spacerun:yes'>  </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>   </span>// driving force is fully faded at this
-speed<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>// Driving force boost at low
-speeds (optional)<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>boostSpeed<span
-style='mso-spacerun:yes'>     </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// Boost fades to 1 at this point<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>boostGain<span
-style='mso-spacerun:yes'>      </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// Boost at zero speed (greater than 1)<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The first 2 properties allow you to reduce driving force at
-high speeds which limits the top speed of the vehicle. Above the speed
-specified by <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>drivedownStart</span></span>
-driving force begins to fade, and eventually reaches zero at the speed
-specified by <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>drivedownFull</span></span>,
-more or less. An unreachably-large value for <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>drivedownStart</span></span>
-will effectively disable this feature.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The last 2 properties allow you to increase acceleration at
-low speeds. <span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>boostGain</span></span>
-specifies the gain at zero speed, so a value greater than 1 will increase
-vehicle acceleration from a standing start. This supplemental gain then fades
-to 1 at the speed specified by <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>boostSpeed</span></span>. A <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>boostGain</span></span> of
-1 effectively disables this feature.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Racing cars typically make use of airfoils to produce a
-downward force at high speeds. This improves handling and performance. gameplay
-provides the following property to simulate this effect:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-no-proof:yes'>// Aerodynamic downforce effect
-(optional)<o:p></o:p></span></p>
-
-<p class=Code><span style='mso-no-proof:yes'>downforce<span
-style='mso-spacerun:yes'>      </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>    </span>// proportional control of downforce<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The value of downforce controls the amount of downward force
-at a given speed. In particular, the value of this property represents the
-product of a reference area and an aerodynamic coefficient. However what<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s important is that this
-property acts as a constant of proportionality in computing the downward force
-as a function of speed. A value of 0 effectively disables this feature.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h4>PhysicsVehicleWheel</h4>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Tire and suspension characteristics can be specified at each
-individual wheel as follows:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>collisionObject &lt;wheelID&gt;</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>type<span
-style='mso-spacerun:yes'>                     </span>= VEHICLE_WHEEL</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>steerable<span
-style='mso-spacerun:yes'>                </span>= &lt;bool&gt;<span
-style='mso-spacerun:yes'>      </span>// indicates whether wheel is steerable</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>wheelDirection<span
-style='mso-spacerun:yes'>           </span>= &lt;float, float, float&gt; //
-direction of strut extension, in chassis space</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>wheelAxle<span
-style='mso-spacerun:yes'>                </span>= &lt;float, float, float&gt;
-// direction of axle (spin axis), in chassis space</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutConnectionOffset<span
-style='mso-spacerun:yes'>    </span>= &lt;float, float, float&gt; // offset
-from default strut connection point</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutRestLength<span
-style='mso-spacerun:yes'>          </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// strut rest length</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutTravelMax<span
-style='mso-spacerun:yes'>           </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// maximum strut travel</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutStiffness<span
-style='mso-spacerun:yes'>           </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// strut stiffness, normalized to chassis
-mass</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutDampingCompression<span
-style='mso-spacerun:yes'>  </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// strut damping under compression,
-normalized to chassis mass</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutDampingRelaxation<span
-style='mso-spacerun:yes'>   </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// strut damping under relaxation,
-normalized to chassis mass</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutForceMax<span
-style='mso-spacerun:yes'>            </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// maximum strut force</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>frictionBreakout<span
-style='mso-spacerun:yes'>         </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// breakout friction</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>wheelRadius<span
-style='mso-spacerun:yes'>              </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// wheel radius</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>rollInfluence<span
-style='mso-spacerun:yes'>            </span>= &lt;float&gt;<span
-style='mso-spacerun:yes'>     </span>// how side friction affects chassis roll,
-normalized</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>gameplay automatically determines a default location on the
-chassis for the strut connection point based on the position of the wheel nodes
-relative to the car body. The <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>strutConnectionOffset</span></span> property allows
-you to specify an offset from the default. This is useful, for example, if the
-origin of the car body is not located at the center of the mesh:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>strutConnectionOffset =
-0.0, 0.0, 1.4</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h2><a name="_Toc337574584">Animation</a></h2>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Animation is a key component to bringing your game to life.
-Within gameplay, there is support to create both property animations and
-character animations. The </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Animation</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-provides factory methods for creating animations on properties of classes that
-extend </span><span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AnimationTarget</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>.
-Character animations from within the scene file are imported and stored on the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AnimationTarget</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> they
-target. All animations on a </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AnimationTarget</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> can
-be obtained by ID.<o:p></o:p></span></p>
-
-<h3>AnimationTargets</h3>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Transform</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, and </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MaterialParameter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> are
-animation targets.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Animations can be created on the scale, rotation and
-translation properties of the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Transform</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>.
-Animations can also target any </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Node</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>,
-which extends </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Transform</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Also, animations can target instances of </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::MaterialParameter</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. Any
-parameters on a material of type </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>float</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>integer</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, or
-2-, 3-, and 4-dimensional vectors can be animated.<o:p></o:p></span></p>
-
-<h3>Creating property animations</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Animations are created from the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AnimationTarget</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>AnimationTarget</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-provides methods to create simple two key frame animations using </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>createAnimationFromTo()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, and </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>createAnimationFromBy()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>.
-Multiple key frame sequences can be created from </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>createAnimation()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Here is an example of how to create a multiple key frame
-animation on a node</span><span style='mso-bidi-font-size:12.0pt;font-family:
-"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>’</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>s
-translation properties:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>unsigned</span></span>&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>int</span></span>&nbsp;keyCount&nbsp;=&nbsp;3;</p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>unsigned</span></span>&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>long</span></span>&nbsp;keyTimes[]&nbsp;=&nbsp;{0L,&nbsp;500L,&nbsp;1000L};</p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;keyValues[]&nbsp;=&nbsp;</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;0.0f,&nbsp;-4.0f,&nbsp;0.0f,&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;0.0f,&nbsp;0.0f,&nbsp;0.0f,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;0.0f,&nbsp;4.0f,&nbsp;0.0f&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>};&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>Animation*&nbsp;sampleAnim&nbsp;=&nbsp;enemyNode-&gt;createAnimation(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;sample&quot;</span></span>,</p>
-
-<p class=Code><span style='mso-spacerun:yes'>         </span><span
-style='mso-spacerun:yes'>           </span><span
-style='mso-spacerun:yes'> </span><span style='mso-spacerun:yes'> </span><span
-style='mso-spacerun:yes'>    </span><span
-style='mso-spacerun:yes'>                        </span><span
-style='mso-spacerun:yes'> </span>Transform::ANIMATE_TRANSLATE,&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span><span
-style='mso-spacerun:yes'>                  </span><span
-style='mso-spacerun:yes'> </span><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>     </span><span
-style='mso-spacerun:yes'>                    </span><span
-style='mso-spacerun:yes'> </span>keyCount,&nbsp;keyTimes,&nbsp;keyValues,&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>                    </span><span
-style='mso-spacerun:yes'>   </span><span style='mso-spacerun:yes'> </span><span
-style='mso-spacerun:yes'>     </span><span
-style='mso-spacerun:yes'>     </span><span
-style='mso-spacerun:yes'>                </span><span
-style='mso-spacerun:yes'> </span>Curve::LINEAR);<span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><span
-style='mso-spacerun:yes'>   </span></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Here is the same animation specified in a </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.animation</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-that can also be loaded by the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AnimationTarget</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>:<o:p></o:p></span></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>animation sample</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>property =
-ANIMATE_TRANSLATE</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>keyCount = 3</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>keyTimes = 0, 500, 1000</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>keyValues = 0.0 -4.0
-0.0 0.0 0.0 0.0 0.0 4.0 0.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>curve = LINEAR</p>
-
-<p class=Code>}<span class=inlinecode><span style='mso-bidi-font-family:Consolas'><o:p></o:p></span></span></p>
-
-<p class=Code><span class=inlinecode><span style='mso-bidi-font-family:Consolas'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>To create the animation from this file you would call the
-following code: <o:p></o:p></span></p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=Code>Animation*&nbsp;sampleAnim&nbsp;=&nbsp;enemyNode-&gt;createAnimation(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;sample&quot;</span></span>,&nbsp;<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;sample.animation&quot;</span></span>);</p>
-
-<h3>Curves</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>There are many different interpolation types defined within
-the </span><span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::Curve</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-that can be used to interpolate through the animation data.<o:p></o:p></span></p>
-
-<h3>Character animations</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Character animations are complex because they can be
-composed of multiple animations targeting numerous joints within a character
-model. For this reason, character animations are usually included within the
-scene file and are imported when the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.gpb</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-is loaded. To simplify and optimize all animations under single animation. The
-gameplay-encoder supports grouping all the animation on joints leading up to a
-common root joint under a single animation. This is an option in the
-gameplay-encoder using the </span><span style='mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>–</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>groupAnimations
-or </span><span style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>–</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>g option. This groups them under
-a single animation called </span><span style='mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>‘</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>animations</span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>These animations can be obtained by calling </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>AnimationTarget::getAnimation()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> specifying
-the animation</span><span style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>s ID.<o:p></o:p></span></p>
-
-<h3>AnimationClips</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::AnimationClip</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> is
-created from the </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Animation</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-and is a snapshot of the animation that can be played back, manipulated with
-speed and repeated.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Here is an </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>AnimationClip</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> that
-has been created from a character animation of an elf:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>AnimationClip*&nbsp;elfRun&nbsp;=&nbsp;elfAnimation-&gt;createClip(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;elf_run&quot;</span></span>,&nbsp;200L,&nbsp;310L);</p>
-
-<p class=Code>elfRun-&gt;setRepeatCount(AnimationClip::REPEAT_INDEFINITE);</p>
-
-<p class=Code>elfRun-&gt;setSpeed(2.0f);</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Animation clips can be specified within an </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.animation</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-that can be given to an animation to create clips. The total number of frames
-that make up the animation must be specified in the file. The begin and end
-parameters of each clip are specified in frames. An assumption that the
-animation runs at 60 frames per second has been made. Here is an example of an </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.animation</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> file
-for an elf animation:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>animation elf</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>frameCount = 350</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>clip idle</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>begin =<span
-style='mso-spacerun:yes'>  </span>0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>end = 75</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>repeatCount =
-INDEFINITE</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>clip walk</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>begin = 75</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>end = 200</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>repeatCount =
-INDEFINITE</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>clip run</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>begin = 200</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>end = 310</p>
-
-<p class=Code><span style='mso-tab-count:1'>       </span><span
-style='mso-spacerun:yes'> </span><span style='mso-spacerun:yes'> </span>repeatCount
-= INDEFINITE</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>speed = 2.0</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>clip jump</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>begin = 310</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>end = 350</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span>repeatCount = 1</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>}</p>
-
-<p class=Code>} </p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=MsoNormal><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Animations can be played back by calling </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Animation::play()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>,
-passing a clip ID, or by calling </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>AnimationClip::play()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-directly on the clip. Animations can also be paused and stopped in the same
-fashion.<o:p></o:p></span></p>
-
-<h3>Animation blending</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::AnimationClip</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-has a blend weight property that can be used to blend multiple animations.
-There is also a method called </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>AnimationClip::crossFade()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> that
-conveniently provides the ability to fade the currently playing clip out and
-fade in the specified clip over a given period of time.<o:p></o:p></span></p>
-
-<h3>AnimationClip listeners</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Animation events can be triggered on a </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AnimationClip</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> by
-registering instances of </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::AnimationClip::Listener</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> with
-the clip. The listeners can be registered to be called back at the beginning or
-end of the clip, or at any specific time throughout the playback of the clip.
-This can be useful for starting a particle emitter when a character</span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>s foot hits the ground in an
-animation, or to play back a sound of a gun firing during an animation of an
-enemy shooting.<a name=d18e3a1310></a><o:p></o:p></span></p>
-
-<h2><a name="_Toc337574585">Audio</a></h2>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>You can integrate 3-D audio into your game using the audio
-services supported by gameplay. The framework uses a very traditional way of
-representing audio. The </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::AudioController</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-manages all of the playing audio sources.<o:p></o:p></span></p>
-
-<h3>Creating an AudioSource</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>An </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>AudioSource</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> can be created from audio files
-or from a .audio property file. Ogg audio files are compressed, so they use
-less memory than .wav files.<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>AudioSource*&nbsp;wheelsSound&nbsp;=&nbsp;AudioSource::create(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;res/longboard.wav&quot;</span></span>);</p>
-
-<p class=Code>AudioSource*&nbsp;backgroundMusic&nbsp;=&nbsp;AudioSource::create(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;res/music.ogg&quot;</span></span>);</p>
-
-<h3>Playing the AudioSource</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The following example illustrates how to play audio:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>wheelsSound-&gt;play();</p>
-
-<h3>Updating the AudioListener</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>By default, the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>AudioListener</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> is
-bound to the active camera of the scene. You can manually bind the camera to
-the </span><span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AudioListener</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> using
-</span><span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::AudioListener::setCamera()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>.<o:p></o:p></span></p>
-
-<h3>Audio Properties</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::AudioSource</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> class
-has methods for modifying the properties of the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>AudioSource</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, such
-as pitch, gain, and velocity.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Audio sources can be loaded from </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>.audio</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-property files to make it easier to set these properties.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>audio fireball</p>
-
-<p class=Code>{</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>path =
-res/audio/fireball.wav</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>looped = false</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>gain = 0.7</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>pitch = 0.5</p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>velocity = 0.5 0.0 1.0</p>
-
-<p class=Code>}</p>
-
-<h3>Binding an AudioSource to a node</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>An </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>AudioSource</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> can be bound to a </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Node</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> in
-your scene using </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Node::setAudioSource()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. The
-position of the audio source is automatically updated when the node is
-transformed.<a name=d19e3a1310></a><o:p></o:p></span></p>
-
-<h2><a name="_Toc337574586">User Interface</a></h2>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The gameplay framework provides a set of user interface (UI)
-controls that can be used to create menus and HUDs. To add UI elements to your
-game, you'll create a form from a properties file and call update() and draw()
-on it. Other than adding listeners to buttons and modifying controls
-programmatically, there's not much code to write in your game. Most of the work
-of defining a form's look and feel happens in the .form and .theme files, as
-well as the texture atlas used by the theme.<o:p></o:p></span></p>
-
-<h3>Creating a form</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>To create a form, pass a properties file to </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Form::create()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> to
-instantiate a form. The top-most namespace in the file must be named 'form'.
-The following properties are available for forms:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>form &lt;formID&gt; </p>
-
-<p class=Code>{<span style='mso-spacerun:yes'>   </span><span
-style='mso-spacerun:yes'> </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>// Form
-properties.<span style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>theme <span
-style='mso-tab-count:3'>                 </span>= &lt;Path to .theme file&gt;<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>layout <span
-style='mso-tab-count:3'>                </span>= &lt;Layout::Type constant&gt;<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>style <span
-style='mso-tab-count:3'>                 </span>= &lt;styleID&gt;<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>position <span
-style='mso-tab-count:3'>              </span>= &lt;x, y&gt;<span
-style='mso-spacerun:yes'>   </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>alignment <span
-style='mso-tab-count:2'>             </span>= &lt;Control::Alignment constant&gt;<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>size<span
-style='mso-spacerun:yes'>   </span><span style='mso-tab-count:3'>                </span>=
-&lt;width, height&gt;<span style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>autoWidth <span
-style='mso-tab-count:2'>             </span>= &lt;bool&gt;<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>autoHeight <span
-style='mso-tab-count:2'>            </span>= &lt;bool&gt;<span
-style='mso-spacerun:yes'>   </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>width <span
-style='mso-tab-count:3'>                 </span>= &lt;width&gt;<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>height <span
-style='mso-tab-count:3'>                </span>= &lt;height&gt;</p>
-
-<p class=Code><span style='mso-spacerun:yes'>        </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>// All the Controls
-within this Form.<span style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>container { }<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>label { }<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>textBox { }<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>button { }<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>checkBox { }<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>radioButton { }<span
-style='mso-spacerun:yes'>    </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>    </span>slider { }<span
-style='mso-spacerun:yes'>   </span></p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Form
-property information:</span></b><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The following is a list of form properties, and their
-purpose:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>theme</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: See
-&quot;Creating a theme&quot; below.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>layout</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>:
-Member of Layout::Type enum.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>style</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: A
-style from the theme.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>position</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: The
-on-screen position, in pixels.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>alignment</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>:
-Align the form's position within the bounds of the screen. Note the position
-property will be ignored if the </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>alignment</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-property has been set.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>size</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: The
-size of the form, in pixels.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>autoWidth</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: Use
-of this property will result in a form with a width spanning the entire
-display. Note the width property will be ignored if </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>autoWidth</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> has
-been set.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>autoHeight</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: Use
-of this property will result in a form with a height spanning the entire
-display. The height property will be ignored if </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>autoHeight</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> has
-been set.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>width</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: Can
-be used in place of </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>size</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>height</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: Can
-be used in place of </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>size</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A style determines the look of a control and is defined in
-the theme file, detailed below. Position and size attributes are determined for
-controls using the same properties as listed above for forms. Controls can be
-aligned within their parent container by using the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>alignment</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-property. Setting </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>autoWidth</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> or </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>autoHeight</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> to
-true will result in a control the width or height of its parent container. You
-can add controls to the form by placing namespaces within it. The available
-controls are:<o:p></o:p></span></p>
-
-<p class=MsoNormal><a name=d19e113a1310></a><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><span style='mso-tab-count:2'>                </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Container: A container has all the same
-available properties as a form, except for 'theme'. You can add more controls
-within a container to group them together, and/or to apply a different layout
-type to a group of controls.<span style='mso-tab-count:2'>                </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Label: A simple text label. Available
-properties: 'style', 'position', </span><span style='mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>‘</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>alignment</span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>, 'size', </span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>‘</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>autoWidth</span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>, </span><span style='mso-bidi-font-size:
-12.0pt;font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>‘</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>autoHeight</span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>, and 'text'.<span
-style='mso-tab-count:2'>              </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>TextBox: Editable text label. A TextBox
-control has the same available properties as label.<span style='mso-tab-count:
-1'>    </span><span style='mso-tab-count:1'>   </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Button: A button. A button control has
-the same available properties as label.<span style='mso-tab-count:2'>          </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>CheckBox: A button that toggles between
-'checked' and 'unchecked' states when tapped or clicked. A CheckBox has the
-same available properties as label, plus 'checked' for its starting state.<span
-style='mso-tab-count:2'>             </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>RadioButton: RadioButton has the same
-available properties as CheckBox, with an additional property, 'group'. Only
-one radio button in a given group can be selected at a time.<span
-style='mso-tab-count:2'>         </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Slider: A marker that can slide along a
-track between its end-caps. A slider makes use of the following properties: <o:p></o:p></span></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>slider &lt;controlID&gt;</p>
-
-<p class=Code>{<span style='mso-spacerun:yes'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>style = &lt;styleID&gt; <span
-style='mso-spacerun:yes'>     </span>// A style from the theme.<span
-style='mso-spacerun:yes'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>position = &lt;x, y&gt; <span
-style='mso-spacerun:yes'>     </span>// Position of the control on-screen, in
-pixels.<span style='mso-spacerun:yes'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>size = &lt;width, height&gt; // The size of
-the control, in pixels.<span style='mso-spacerun:yes'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>min = &lt;float&gt; <span
-style='mso-spacerun:yes'>         </span>// The value of the left- /
-bottom-most point on the slider.<span style='mso-spacerun:yes'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>max = &lt;float&gt; <span
-style='mso-spacerun:yes'>         </span>// The value of the right- / top-most
-point on the slider.<span style='mso-spacerun:yes'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>value = &lt;float&gt; <span
-style='mso-spacerun:yes'>       </span>// The default position of the
-marker.<span style='mso-spacerun:yes'>  </span></p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>step = &lt;float&gt; <span
-style='mso-spacerun:yes'>        </span>// If greater than 0, force the marker
-to snap to discrete</p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>                </span><span
-style='mso-spacerun:yes'>         </span>// multiples of ‘step’.</p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>  </span>text = &lt;string&gt; <span
-style='mso-spacerun:yes'>       </span>// Text to display above, below or
-alongside the slider</p>
-
-<p class=Code><span style='mso-spacerun:yes'>  </span><span
-style='mso-spacerun:yes'>                         </span>// (depending on the
-style).</p>
-
-<p class=Code>}</p>
-
-<h3>Creating a theme</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>A theme contains the information a form needs to determine
-the look of its controls. A theme has one property, 'texture', which points to
-a texture atlas containing the images used by the theme. Cursor images, skins,
-and lists of images used by controls are defined in their own namespaces. The
-rest of the theme consists of style namespaces. A style describes the border,
-margin, and padding of a control, what images, skins, and cursors are
-associated with a control, and font properties to apply to a control's
-text.<span style='mso-spacerun:yes'>  </span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>theme&nbsp;&lt;themeID&gt;</p>
-
-<p class=Code>{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;texture&nbsp;=&nbsp;&lt;Path&nbsp;to&nbsp;texture&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;cursor&nbsp;&lt;cursorID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;region&nbsp;=&nbsp;&lt;x,&nbsp;y,&nbsp;width,&nbsp;height&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;=&nbsp;&lt;#ffffffff&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;imageList&nbsp;&lt;imageID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image&nbsp;checked&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;region&nbsp;=&nbsp;&lt;x,&nbsp;y,&nbsp;width,&nbsp;height&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image&nbsp;unchecked&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;region&nbsp;=&nbsp;&lt;x,&nbsp;y,&nbsp;width,&nbsp;height&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;=&nbsp;&lt;#fffffffff&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;=&nbsp;&lt;#fffffffff&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;skin&nbsp;&lt;skinID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;top&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bottom&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;region&nbsp;=&nbsp;&lt;x,&nbsp;y,&nbsp;width,&nbsp;height&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;=&nbsp;&lt;#ffffffff&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;style&nbsp;&lt;styleID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;top&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bottom&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;top&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bottom&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stateNormal&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skin&nbsp;=&nbsp;&lt;skinID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imageList&nbsp;=&nbsp;&lt;imageID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cursor&nbsp;=&nbsp;&lt;cursorID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font&nbsp;=&nbsp;&lt;Path&nbsp;to&nbsp;font&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fontSize&nbsp;=&nbsp;&lt;int&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textColor&nbsp;=&nbsp;&lt;#ffffffff&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textAlignment&nbsp;=&nbsp;&lt;Control::Alignmentconstant&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rightToLeft&nbsp;=&nbsp;&lt;bool&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opacity&nbsp;=&nbsp;&lt;float&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stateFocus&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skin&nbsp;=&nbsp;&lt;skinID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stateActive&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skin&nbsp;=&nbsp;&lt;skinID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stateDisabled&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skin&nbsp;=&nbsp;&lt;skinID&gt;&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;</p>
-
-<p class=Code>}&nbsp;&nbsp;&nbsp;</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Theme
-property information:</span></b><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The following is a list of theme properties, and their sub-properties
-if applicable.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>texture</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: The
-path to the texture atlas used by this theme. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>cursor</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>:
-Describes a single image, to be used as a cursor.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Sub-properties of cursor:<o:p></o:p></span></p>
-
-<p class=MsoNormal><a name=d19e173a1310></a><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>region: Region within the texture, in
-pixels.<span style='mso-tab-count:2'>              </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>color: Blend color to apply to this
-cursor.<span style='mso-tab-count:2'>                </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>imageList: A collection of images used
-by controls. <a name=d19e183a1310></a><span style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>image: A single image within the list. <a
-name=d19e187a1310></a><span style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:63.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>region: Region within the texture, in
-pixels. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:63.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>color: Optionally override image-list
-blend color. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>color: Default blend color for images
-that don't specify their own.<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>skin</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>:
-Defines the border and background of a control.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Sub-properties of skin:<o:p></o:p></span></p>
-
-<p class=MsoNormal><a name=d19e210a1310></a><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>border : The corners and edges of the
-given region will be used as border sprites. <a name=d19e214a1310></a><span
-style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>top : Height of top border, top
-corners. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>bottom: Height of bottom border, bottom
-corners. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>left: Width of left border, left
-corners. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>right: Width of right border, right
-corners.<span style='mso-tab-count:2'>          </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>region: Total container region
-including the entire border. A region within the texture, in pixels.<span
-style='mso-tab-count:2'>           </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>color: The blend color to apply to this
-skin.<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>style</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: A
-combination of theme attributes that can be applied to any control.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Sub-properties of style:<o:p></o:p></span></p>
-
-<p class=MsoNormal><a name=d19e244a1310></a><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'><span style='mso-tab-count:2'>                </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>margin: Layouts may make use of a
-style's margin to put space between adjacent controls. <a name=d19e248a1310></a><span
-style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>top: Empty space above a control. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>bottom: Empty space below a control. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>left: Empty space left of a control. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>right: Empty space right of a control.<span
-style='mso-tab-count:2'>        </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>padding: The space between a control's
-border and its content. <a name=d19e265a1310></a><span
-style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>top: Empty space between the top border
-and content. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>bottom: Empty space between the top
-border and content. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>left: Empty space between the left
-border and content. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>right: Empty space between the right
-border and content.<span style='mso-tab-count:2'>              </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>stateNormal: Properties used when a
-control is in the normal state. <a name=d19e282a1310></a><span
-style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>skin: Skin to use for border and
-background sprites. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>imageList: Images to use for this
-state. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>cursor: Cursor to use when the mouse is
-over this control. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>font: Font to use for rendering text. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>fontSize: Size of text. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>textColor: Color of text. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>textAlignment: Align text within the
-control</span><span style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>’</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>s content area. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>rightToLeft: Whether to draw text from
-right to left. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>opacity: Opacity to apply to all
-text/border/icon colors.<span style='mso-tab-count:2'>          </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>stateFocus: Properties used when a
-control is in focus. <a name=d19e315a1310></a><span
-style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Same properties as stateNormal.
-Unspecified properties will inherit from stateNormal.<span style='mso-tab-count:
-1'>    </span><span style='mso-tab-count:1'>       </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>stateActive: Properties used when a
-control is active. This is when a touch/mouse is down within the control. If
-not specified, the normal overlay will be used. <a name=d19e323a1310></a><span
-style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Same properties as stateNormal.
-Unspecified properties will inherit from stateNormal.<span style='mso-tab-count:
-1'>    </span><span style='mso-tab-count:1'>       </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>stateDisabled: Properties used when a
-control is disabled. If not specified, the normal overlay will be used. <a
-name=d19e332a1310></a><span style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:42.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Same properties as stateNormal.
-Unspecified properties will inherit from stateNormal.<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The top-level property of a theme is the path to its texture
-atlas. This is a single image containing all the sprites used by the theme. The
-skin, cursor, and imageList namespaces within a theme file refer to regions of
-this image to use to represent their various states.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Skin:</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> A
-rectangular area representing a border and background. A container namespace
-will specify the rectangular region and blend color as well as the border
-sizes. From this, the region will be divided into nine areas: four corners,
-four borders, and the center background area. Note that the top and bottom
-borders will be stretched horizontally; the left and right borders will stretch
-vertically; and the center of the container will stretch in both directions.
-The corners will never be stretched. It's perfectly valid to set any border
-size to 0. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>Cursor</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: A
-single rectangular area representing a mouse cursor.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>ImageList</span></b><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>: A
-collection of images used by controls. Images for multiple control types can be
-combined into one list. Controls use the following images:<a name=d19e357a1310></a><span
-style='mso-tab-count:2'>               </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>CheckBox: 'checked', 'unchecked'<span
-style='mso-tab-count:2'>          </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>RadioButton: 'selected, 'unselected'<span
-style='mso-tab-count:2'>               </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>Slider: 'minCap', 'maxCap', 'track',
-'marker'<span style='mso-tab-count:2'>               </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:21.0pt;text-align:justify;text-indent:
--21.0pt;mso-list:l10 level1 lfo1'><![if !supportLists]><span style='font-size:
-8.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
-Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span style='mso-bidi-font-size:12.0pt;
-mso-bidi-font-family:"Times New Roman"'>TextBox: 'textCaret'</span><span
-style='mso-tab-count:6'>                                            </span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Note that you may specify separate image lists for each
-state in a style.<o:p></o:p></span></p>
-
-<h3>Adding a form to your game </h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Once you have a form, theme, and texture atlas, only a small
-amount of code is required in order to actually display your UI within your
-game. There are two options for displaying forms: two-dimensionally, where the
-form is drawn directly to the display and three-dimensionally, where the form
-is assigned to a node within the game's scene and displayed on a quad. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The 2-D case is simple. To initialize a form, pass the path
-to your .form file to </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Form::create()</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> to be returned a pointer to
-your form. Now, simply call </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Form::update()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> on
-the form during your game's </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>update()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-method, and call </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Form::draw()</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> on the form during </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>render()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> . See
-the section below on event handling to learn how to react to player input from
-within a form. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>The 3-D method of drawing forms is somewhat more advanced.
-For starters, you'll need a scene with at least one node in it. Call </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Node::setForm()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> to
-attach the form to the node. This call will also generate a rectangular model
-with the dimensions of the form. Scale, rotate, and translate the node as
-necessary. Now, calling </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>Form::draw()</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> on the form will render the
-contents of the form into a framebuffer and use that framebuffer to texture the
-form's model.<o:p></o:p></span></p>
-
-<h3>Event handling within forms</h3>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Controls will trigger events when the user interacts with
-them. You can handle these events by setting listeners on individual controls. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>All controls can trigger the mouse / touch events </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PRESS</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> , </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>RELEASE</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> , and
-</span><span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>CLICK</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> .
-Sliders, check boxes, and radio buttons can also trigger a </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>VALUE_CHANGED</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> event
-so that you can update your game as a slider is moving or when a radio button
-becomes unselected. Finally, text boxes trigger a </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>TEXT_CHANGED</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> event
-any time a character is entered or deleted (but not when the cursor is moved
-within the text box). Use </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>TEXT_CHANGED</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> along with the </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>getLastKeyPress()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-method on a </span><span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>TextBox</span></span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'> to do things like accepting a
-player name when the return key is pressed. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>To retrieve a control from your form, call </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Form::getControl()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> with
-the ID of the control you're looking for. Cast this to the correct control
-pointer type and then call </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>addListener()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> on
-it. This method takes an object that implements </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Control::Listener</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> as
-well as an int representing the events to listen for. You can bitwise-OR
-together event types. For example, the following code listens for </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>PRESS</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> and </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>RELEASE</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-events on a button: <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code>Button*&nbsp;myButton&nbsp;=&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>static_cast</span></span>&lt;Button*&gt;(myForm-&gt;getControl(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;myButton&quot;</span></span>);</p>
-
-<p class=Code>myButton-&gt;addListener(<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>this</span></span>,&nbsp;Control::Listener::PRESS&nbsp;|&nbsp;Control::Listener::RELEASE);<span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> </span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>In this example, the game itself implements </span><span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Control::Listener</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>. This
-is easy to do as there's only one method a listener needs to implement, which
-should look something like this:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;MyGame::controlEvent(Control*&nbsp;control,&nbsp;EventType&nbsp;evt)</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>switch</span></span>(evt)</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>case</span></span>&nbsp;Control::Listener::PRESS:</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>if</span></span>&nbsp;(strcmp(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;myButton&quot;</span></span>,&nbsp;control-&gt;getID())&nbsp;==&nbsp;0)</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Do&nbsp;something.<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>break</span></span>;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>case</span></span>&nbsp;Control::Listener::RELEASE:</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>if</span></span>&nbsp;(strcmp(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;myButton&quot;</span></span>,&nbsp;control-&gt;getID())&nbsp;==&nbsp;0)</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</p>
-
-<p class=Code><span class=codecomment><span style='mso-bidi-font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Do&nbsp;something&nbsp;else.<o:p></o:p></span></span></p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>break</span></span>;</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'>Note that </span><span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>getControl()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'> is
-also a method on Container. If multiple controls share the same ID but are
-children of separate containers, the parent container can be retrieved first
-and then </span><span class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>Container::getControl()</span></span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>
-called to retrieve the specific control needed.<a name=d20e3a1310></a><o:p></o:p></span></p>
-
-<h2><a name="_Toc337574587">Scripting</a></h2>
-
-<p class=MsoNormal>The gameplay framework has a full set of Lua script bindings
-allowing users to write the majority of their game completely from scripts.
-Also included is an open-source tool that can be used to generate bindings for
-user-defined classes (including classes that depend on features and technology
-of the gameplay framework itself).</p>
-
-<h3>Writing Lua scripts</h3>
-
-<p class=MsoNormal>To write Lua scripts, you can use any text editor or IDE. If
-Visual Studio is your editor of choice, it is recommended that you install the
-Lua Language Support extension, which adds syntax highlighting to the editor
-(available here: <a href="http://vslua.codeplex.com/">http://vslua.codeplex.com/</a>).</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>To generate your own bindings, you will need to download and
-install Doxygen (available here: <a href="http://www.doxygen.org/"><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>http://www.doxygen.org</span></a>).</p>
-
-<h3>Lua Basics</h3>
-
-<p class=MsoNormal>For an introductory look at scripting with Lua, including
-basic language features, visit <a href="http://www.lua.org/pil/">http://www.lua.org/pil/</a>.
-Note that the documentation available at this link is aimed at Lua 5.0 and will
-contain some outdated APIs. However, the basic usage of the language remains
-the same.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>There are two conventions that gameplay uses within its Lua
-script bindings. First, in order to create a new object, the user calls the <b
-style='mso-bidi-font-weight:normal'>new</b> function on the class and passes the
-correct arguments for the corresponding C++ constructor. e.g.<span
-class=codekeyword><span style='font-size:10.0pt;mso-bidi-font-size:11.0pt;
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'> </span></span></p>
-
-<p class=MsoNormal><span class=codekeyword><span style='font-size:10.0pt;
-mso-bidi-font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=MsoNormal><span class=codecomment><span style='font-size:10.0pt;
-mso-bidi-font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>--&nbsp;Create&nbsp;a&nbsp;new&nbsp;Vector2&nbsp;object.<o:p></o:p></span></span></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>local</span></span>&nbsp;v&nbsp;=&nbsp;Vector2.new(1.0,&nbsp;3.7)</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Second, to access or set a public member variable of a
-class, the user simply calls a Lua function with the same name, passing no
-arguments to access the variable or passing one argument in order to set the
-variable. e.g.<span class=codekeyword><span style='font-size:10.0pt;mso-bidi-font-size:
-11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'> <o:p></o:p></span></span></p>
-
-<p class=MsoNormal><span class=codekeyword><span style='font-size:10.0pt;
-mso-bidi-font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'><o:p>&nbsp;</o:p></span></span></p>
-
-<p class=MsoNormal><span class=codecomment><span style='font-size:10.0pt;
-mso-bidi-font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>--&nbsp;Print&nbsp;out&nbsp;the&nbsp;x&nbsp;member&nbsp;variable.<o:p></o:p></span></span></p>
-
-<p class=Code>print(v:x())</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;</p>
-
-<p class=MsoNormal><span class=codecomment><span style='font-size:10.0pt;
-mso-bidi-font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>--&nbsp;Set&nbsp;the&nbsp;y&nbsp;member&nbsp;variable&nbsp;to&nbsp;4.2.<o:p></o:p></span></span></p>
-
-<p class=Code>V:y(4.2)</p>
-
-<h3>Game <span style='font-family:"Times New Roman","serif";mso-ascii-font-family:
-"Malgun Gothic"'>–</span> Script Event Callbacks</h3>
-
-<p class=MsoNormal>In order to write a game primarily using Lua scripts, one
-must register for the main game events (initialize, update, render, and
-finalize), along with the desired input event handlers. To do this, you must
-edit the <span style='font-family:"Times New Roman","serif";mso-ascii-font-family:
-"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>‘</span>scripts<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span> section of the game<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>s game.config file. If
-the user has a Lua script with functions for the four major events and
-functions that handle the key and touch input, the <span style='font-family:
-"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>‘</span>scripts<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span>
-section would look something like this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>scripts</p>
-
-<p class=Code>{</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;initialize&nbsp;=&nbsp;res/script.lua#initialize</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;update&nbsp;=&nbsp;res/script.lua#update</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;render&nbsp;=&nbsp;res/script.lua#render</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;finalize&nbsp;=&nbsp;res/script.lua#finalize</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;keyEvent&nbsp;=&nbsp;res/script.lua#keyEvent</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;touchEvent&nbsp;=&nbsp;res/script.lua#touchEvent</p>
-
-<p class=Code>}</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Then on the C++ side, as usual, you must derive a class from
-Game and create a static instance on the stack. However, in the case of a
-script-based game, the .h file can simply contain the class definition with all
-empty implementations while the .cpp file would contain the static instance.
-For example,</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>MyScriptGame.h</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>class</span></span>&nbsp;MyScriptGame:&nbsp;<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>public</span></span>&nbsp;Game</p>
-
-<p class=Code>{ </p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>protected</span></span>:</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;initialize() {};</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;finalize() {};</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;update(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;elapsedTime)
-{};</p>
-
-<p class=Code>&nbsp;&nbsp;&nbsp;&nbsp;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&nbsp;render(<span
-class=codekeyword><span style='mso-bidi-font-family:Consolas'>float</span></span>&nbsp;elapsedTime)
-{};</p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=Code>};</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>MyScriptGame.cpp</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>#include</span></span>&nbsp;<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;MyScriptGame.h&quot;</span></span></p>
-
-<p class=Code><span style='mso-spacerun:yes'> </span></p>
-
-<p class=MsoNormal><span class=codecomment><span style='font-size:10.0pt;
-mso-bidi-font-size:11.0pt;mso-bidi-font-family:TradeGothicNextLTPro-Lt'>//&nbsp;Declare&nbsp;our&nbsp;game&nbsp;instance<o:p></o:p></span></span></p>
-
-<p class=Code>MyScriptGame&nbsp;game;</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The sample does not require any other C++ implementation. For
-a complete sample game using the techniques described above, see sample05-lua
-as one-to-one mapping of sample00-mesh with a box instead of a duck. It also
-has some additional scripting code showcasing AIAgent and AIStates.</p>
-
-<h3>Extending ScriptTarget </h3>
-
-<p class=MsoNormal>To add scriptable events to your own class, you simply
-derive from the class <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::ScriptTarget </span></span>and add the
-required function calls. First, to define the scriptable events that are
-supported for the class, we call addScriptEvent with the name of the event and,
-optionally (depending on if the callback takes arguments or not), the parameter
-string for a valid script callback function for that event (the parameter
-string follows the format of the parameter string argument to <span
-class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>ScriptController::executeFunction</span></span>).
-For example, to add a <span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>‘</span>notify<span
-style='font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic";
-mso-bidi-font-family:TradeGothicNextLTPro-Lt'>’</span> event that passes an
-integer to the callback, we would do the following:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>addScriptEvent(<span class=codestring><span style='mso-bidi-font-family:
-Consolas'>&quot;notify&quot;</span></span>,&nbsp;<span class=codestring><span
-style='mso-bidi-font-family:Consolas'>&quot;i&quot;</span></span>);</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The supported format identifiers for passed parameters are
-as follows:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<table class=devguidetable border=0 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
-  <td width=241 valign=top style='width:180.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'><span
-  style='mso-spacerun:yes'> </span>Format <o:p></o:p></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=tableheader style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-  "Times New Roman";mso-bidi-font-weight:normal'>Parameter Type (result)<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td width=241 valign=top style='width:180.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>c, h, i, l<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt'>Signed Integer (int)</span><span
-  style='font-size:11.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td width=241 valign=top style='width:180.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>u<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Unsigned Integer (unsigned int)<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
-  <td width=241 valign=top style='width:180.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>b<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Boolean (bool) <o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
-  <td width=241 valign=top style='width:180.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>f, d<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Floating Point (double)<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:5'>
-  <td width=241 valign=top style='width:180.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>s<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>String (char*)<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:6'>
-  <td width=241 valign=top style='width:180.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>p<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Pointer (void*)<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:7'>
-  <td width=241 valign=top style='width:180.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>[x]<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:whitesmoke;
-  padding:0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:128'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Enum Value [x]<o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:8;mso-yfti-lastrow:yes'>
-  <td width=241 valign=top style='width:180.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span class=inlinecode><span style='font-size:11.0pt;
-  mso-bidi-font-family:TradeGothicNextLTPro-Lt'>&lt;x&gt;<o:p></o:p></span></span></p>
-  </td>
-  <td width=396 valign=top style='width:296.9pt;background:#E6E6E6;padding:
-  0in 5.4pt 0in 5.4pt'>
-  <p class=MsoNormal style='mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other;
-  mso-yfti-cnfc:64'><span style='font-size:11.0pt;mso-bidi-font-size:12.0pt;
-  mso-bidi-font-family:"Times New Roman"'>Object References/Pointers &lt;x&gt;<o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This step is usually done either in the constructor of the
-class or in a class initialization function. Next, the class will want to fire
-the event so that the script callback functions are actually called. This code
-is placed wherever it makes sense (depending on what the actual event is) and
-looks like so:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=Code>fireScriptEvent&lt;<span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>void</span></span>&gt;(<span
-class=codestring><span style='mso-bidi-font-family:Consolas'>&quot;notify&quot;</span></span>,&nbsp;14);</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The template argument corresponds to the return type of the
-callback function, the first parameter is the name of the event to fire, and
-the remaining arguments are the parameters to the actual callback function: in
-this case, the integer that is passed to the notify callback. To see a full
-example of a class that derives from <span class=inlinecode><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>gameplay::ScriptTarget </span></span>within
-gameplay, take a look at the <span class=inlinecode><span style='mso-bidi-font-family:
-TradeGothicNextLTPro-Lt'>gameplay::Control </span></span>class.</p>
-
-<h3>Tips using Lua with gameplay</h3>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>To get printf-like functionality using gameplay
-and Lua, use the Lua print() function (note: gameplay overrides the default Lua
-print() function).</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>To do integer like comparisons or casts on a
-number variable x in Lua, use math.floor(x).</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>Make sure all your member function calls use ':'
-instead of '.'</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>Remember to access all gameplay variables,
-including static and global variables with '()' on the end of the name.</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>Primitive data type arrays and object arrays are
-both inefficient when created in Lua and passed to C++, so try to minimize
-this.</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>There is no reasonable way to unload a Lua
-script; thus, the recommended usage pattern is to put each script's variables
-and functions inside a table (see Lua technical note 7 at <a
-href="http://www.lua.org/notes/ltn007.html">http://www.lua.org/notes/ltn007.html</a>).
-i.e.</p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=Code style='margin-left:.5in'><span class=codecomment><span
-style='mso-bidi-font-family:Consolas'>-- If you want to load the module at most
-once, add a line like this.<br>
-</span></span><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>if</span></span>
-Module <span class=codekeyword><span style='mso-bidi-font-family:Consolas'>then</span></span>
-<span class=codekeyword><span style='mso-bidi-font-family:Consolas'>return</span></span>
-<span class=codekeyword><span style='mso-bidi-font-family:Consolas'>end</span></span><br>
-<span class=codecomment><span style='mso-bidi-font-family:Consolas'>-- Declare
-the module Module.</span></span><br>
-Module = {}<br>
-<br>
-<span class=codecomment><span style='mso-bidi-font-family:Consolas'>-- Declare
-a variable within the module.<br>
-</span></span>Module.a = 47<br>
-<br>
-<span class=codecomment><span style='mso-bidi-font-family:Consolas'>-- Declare
-a function within the module.<br>
-</span></span><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>function</span></span>
-Module.myFunc()<br>
-<span style='mso-spacerun:yes'>    </span><span class=codekeyword><span
-style='mso-bidi-font-family:Consolas'>return</span></span> Module.a + 17<br>
-<span class=codekeyword><span style='mso-bidi-font-family:Consolas'>end</span></span><br>
-<br>
-<span class=codecomment><span style='mso-bidi-font-family:Consolas'>-- Cleanup
-function; call when done with this module.<br>
-</span></span><span class=codekeyword><span style='mso-bidi-font-family:Consolas'>function</span></span>
-cleanupModule()<br>
-<span style='mso-spacerun:yes'>    </span>Module = nil<br>
-<span class=codekeyword><span style='mso-bidi-font-family:Consolas'>end</span></span></p>
-
-<p class=Code><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>Note: you can't pass an enumeration value to a
-function that doesn't explicitly take an enumeration type (i.e.
-Control::setTextColor, which takes an unsigned char). In these cases, you need
-to look up the enumeration values and pass them directly.</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>On any function that returns a pointer that is
-owned by the user calling that function (i.e. a create() function), add
-@script{create} as the last line of its Doxygen comments.</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>On any function, variable, class, struct, enum,
-etc. that should not be accessible from Lua (except for things that are static
-to a .cpp file, which are already ignored), add @script{ignore} to its Doxygen
-comments.</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l17 level3 lfo9'><![if !supportLists]><span
-style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:
-Wingdings'><span style='mso-list:Ignore'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
-</span></span></span><![endif]>On any functions, variables, classes, structs,
-enums, etc. that are local to a .cpp file, declare them as static 1) because it
-is good practice and 2) so that Lua does not generate bindings for them.</p>
-
-<h3>Generating user defined script bindings</h3>
-
-<p class=MsoNormal>The following instructions detail how to generate Lua script
-bindings for your own project. Note: this requires doxygen to be installed.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='mso-list:l14 level1 lfo7'>Copy the
-     gameplay-luagen.doxyfile file to your project's root directory (and rename
-     it). Then, either manually using a text editor or using the Doxywizard
-     tool, go to the INPUT section and ensure both that the path to gameplay's
-     'src' folder is valid (relative to where the doxyfile is) and that your
-     own source folder is added.</li>
- <li class=MsoNormal style='mso-list:l14 level1 lfo7'>Run doxygen using the
-     above doxyfile from your project's root directory. For example, run <span
-     class=inlinecode><span style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>doxygen
-     my-project.doxyfile</span></span> from the command line or run Doxygen
-     using the Doxywizard application.</li>
- <li class=MsoNormal style='mso-list:l14 level1 lfo7'>Create a 'lua' folder
-     inside your source folder.</li>
- <li class=MsoNormal style='mso-list:l14 level1 lfo7'>Run gameplay-luagen using
-     the following command (make sure you have a trailing '/' for the output
-     directory (second) parameter):</li>
-</ol>
-
-<p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-family:Consolas'>path-to-gameplay/bin/your-platform/gameplay-luagen.exe
-./xml path-to-your-source/lua/ &lt;your-project-name-here&gt;<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='margin-left:.5in'>Note: the parameter
-&lt;your-project-name-here&gt; is used as the namespace that the bindings are
-generated within. This can be anything you want <b style='mso-bidi-font-weight:
-normal'>except</b> for &quot;gameplay&quot;.</p>
-
-<ol style='margin-top:0in' start=5 type=1>
- <li class=MsoNormal style='mso-list:l14 level1 lfo7'>Ensure that your project
-     has &quot;path-to-gameplay/gameplay/src/lua&quot; in its include path.</li>
- <li class=MsoNormal style='mso-list:l14 level1 lfo7'>Add the generated Lua
-     script bindings (.h/.cpp) files from path-to-your-source/lua to your
-     project.</li>
- <li class=MsoNormal style='mso-list:l14 level1 lfo7'>Compile and run - now you
-     can use your own classes from Lua scripts.</li>
-</ol>
-
-<h2><a name="_Toc337574588">License</a></h2>
-
-<p class=MsoNormal>The project is open sourced under the Apache 2.0 license.</p>
-
-<h3>Disclaimer</h3>
-
-<p class=MsoNormal>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY
-OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
-OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>©</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>2012 Research In Motion Limited.
-All rights reserved. BlackBerry</span><span style='mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ascii-font-family:"Malgun Gothic"'>®</span><span
-style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:"Times New Roman"'>, RIM</span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>®</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>, Research In Motion</span><span
-style='mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic"'>®</span><span style='mso-bidi-font-size:
-12.0pt;mso-bidi-font-family:"Times New Roman"'>, and related trademarks, names,
-and logos are the property of Research In Motion Limited and are registered
-and/or used in the U.S. and countries around the world.<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Android is a trademark of Google Inc. Apache is a trademark
-of The Apache Software Foundation. Apple, iPhone, iPad, Mac OS, TrueType, and
-Xcode are trademarks of Apple Inc. Bluetooth is a trademark of Bluetooth SIG. COLLADA
-and OpenGL are trademarks of Khronos Group Inc. Eclipse is a trademark of
-Eclipse Foundation, Inc. FBX and Maya are trademarks of Autodesk, Inc. GitHub is
-a trademark of Github, LLC. Linux is a trademark of Linus Torvalds. Microsoft,
-Windows, and Visual Studio are trademarks of Microsoft Corporation. QNX and
-Momentics are trademarks of QNX Software Systems Limited. All other trademarks
-are the property of their respective owners.</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>This documentation including all documentation incorporated
-by reference herein such as documentation provided or made available at <u><span
-style='color:blue'><a href="http://www.blackberry.com/go/docs"><span
-style='mso-bidi-font-family:TradeGothicNextLTPro-Lt'>www.blackberry.com/go/docs</span></a>
-</span></u>is provided or made accessible &quot;AS IS&quot; and &quot;AS
-AVAILABLE&quot; and without condition, endorsement, guarantee, representation,
-or warranty of any kind by Research In Motion Limited and its affiliated
-companies (&quot;RIM&quot;) and RIM assumes no responsibility for any
-typographical, technical, or other inaccuracies, errors, or omissions in this
-documentation. In order to protect RIM proprietary and confidential information
-and/or trade secrets, this documentation may describe some aspects of RIM
-technology in generalized terms. RIM reserves the right to periodically change
-information that is contained in this documentation; however, RIM makes no
-commitment to provide any such changes, updates, enhancements, or other
-additions to this documentation to you in a timely manner or at all.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This documentation might contain references to third-party
-sources of information, hardware or software, products or services including
-components and content such as content protected by copyright and/or
-third-party web sites (collectively the &quot;Third Party Products and
-Services&quot;). RIM does not control, and is not responsible for, any Third
-Party Products and Services including, without limitation the content, accuracy,
-copyright compliance, compatibility, performance, trustworthiness, legality,
-decency, links, or any other aspect of Third Party Products and Services. The
-inclusion of a reference to Third Party Products and Services in this
-documentation does not imply endorsement by RIM of the Third Party Products and
-Services or the third party in any way.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>EXCEPT TO THE EXTENT SPECIFICALLY PROHIBITED BY APPLICABLE
-LAW IN YOUR JURISDICTION, ALL CONDITIONS, ENDORSEMENTS, GUARANTEES,
-REPRESENTATIONS, OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-WITHOUT LIMITATION, ANY CONDITIONS, ENDORSEMENTS, GUARANTEES, REPRESENTATIONS
-OR WARRANTIES OF DURABILITY, FITNESS FOR A PARTICULAR PURPOSE OR USE,
-MERCHANTABILITY, MERCHANTABLE QUALITY, NON-INFRINGEMENT, SATISFACTORY QUALITY,
-OR TITLE, OR ARISING FROM A STATUTE OR CUSTOM OR A COURSE OF DEALING OR USAGE
-OF TRADE, OR RELATED TO THE DOCUMENTATION OR ITS USE, OR PERFORMANCE OR
-NON-PERFORMANCE OF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS
-AND SERVICES REFERENCED HEREIN, ARE HEREBY EXCLUDED. YOU MAY ALSO HAVE OTHER
-RIGHTS THAT VARY BY STATE OR PROVINCE. SOME JURISDICTIONS MAY NOT ALLOW THE
-EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES AND CONDITIONS. TO THE EXTENT
-PERMITTED BY LAW, ANY IMPLIED WARRANTIES OR CONDITIONS RELATING TO THE
-DOCUMENTATION TO THE EXTENT THEY CANNOT BE EXCLUDED AS SET OUT ABOVE, BUT CAN
-BE LIMITED, ARE HEREBY LIMITED TO NINETY (90) DAYS FROM THE DATE YOU FIRST
-ACQUIRED THE DOCUMENTATION OR THE ITEM THAT IS THE SUBJECT OF THE CLAIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, IN NO EVENT SHALL RIM BE LIABLE FOR ANY TYPE OF DAMAGES RELATED
-TO THIS DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCE OF ANY
-SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES
-REFERENCED HEREIN INCLUDING WITHOUT LIMITATION ANY OF THE FOLLOWING DAMAGES:
-DIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR
-AGGRAVATED DAMAGES, DAMAGES FOR LOSS OF PROFITS OR REVENUES, FAILURE TO REALIZE
-ANY EXPECTED SAVINGS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS
-OF BUSINESS OPPORTUNITY, OR CORRUPTION OR LOSS OF DATA, FAILURES TO TRANSMIT OR
-RECEIVE ANY DATA, PROBLEMS ASSOCIATED WITH ANY APPLICATIONS USED IN CONJUNCTION
-WITH RIM PRODUCTS OR SERVICES, DOWNTIME COSTS, LOSS OF THE USE OF RIM PRODUCTS
-OR SERVICES OR ANY PORTION THEREOF OR OF ANY AIRTIME SERVICES, COST OF
-SUBSTITUTE GOODS, COSTS OF COVER, FACILITIES OR SERVICES, COST OF CAPITAL, OR
-OTHER SIMILAR PECUNIARY LOSSES, WHETHER OR NOT SUCH DAMAGES WERE FORESEEN OR
-UNFORESEEN, AND EVEN IF RIM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, RIM SHALL HAVE NO OTHER OBLIGATION, DUTY, OR LIABILITY WHATSOEVER
-IN CONTRACT, TORT, OR OTHERWISE TO YOU INCLUDING ANY LIABILITY FOR NEGLIGENCE
-OR STRICT LIABILITY.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>THE LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS HEREIN SHALL
-APPLY: (A) IRRESPECTIVE OF THE NATURE OF THE CAUSE OF ACTION, DEMAND, OR ACTION
-BY YOU INCLUDING BUT NOT LIMITED TO BREACH OF CONTRACT, NEGLIGENCE, TORT,
-STRICT LIABILITY OR ANY OTHER LEGAL THEORY AND SHALL SURVIVE A FUNDAMENTAL
-BREACH OR BREACHES OR THE FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR
-OF ANY REMEDY CONTAINED HEREIN; AND (B) TO RIM AND ITS AFFILIATED COMPANIES,
-THEIR SUCCESSORS, ASSIGNS, AGENTS, SUPPLIERS (INCLUDING AIRTIME SERVICE
-PROVIDERS), AUTHORIZED RIM DISTRIBUTORS (ALSO INCLUDING AIRTIME SERVICE
-PROVIDERS) AND THEIR RESPECTIVE DIRECTORS, EMPLOYEES, AND INDEPENDENT
-CONTRACTORS.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-spacerun:yes'> </span>IN ADDITION TO THE
-LIMITATIONS AND EXCLUSIONS SET OUT ABOVE, IN NO EVENT SHALL ANY DIRECTOR,
-EMPLOYEE, AGENT, DISTRIBUTOR, SUPPLIER, INDEPENDENT CONTRACTOR OF RIM OR ANY
-AFFILIATES OF RIM HAVE ANY LIABILITY ARISING FROM OR RELATED TO THE
-DOCUMENTATION.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Prior to subscribing for, installing, or using any Third
-Party Products and Services, it is your responsibility to ensure that your
-airtime service provider has agreed to support all of their features. Some
-airtime service providers might not offer Internet browsing functionality with
-a subscription to the BlackBerry<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>®</span>
-Internet Service. Check with your service provider for availability, roaming
-arrangements, service plans and features. Installation or use of Third Party
-Products and Services with RIM's products and services may require one or more
-patent, trademark, copyright, or other licenses in order to avoid infringement
-or violation of third party rights. You are solely responsible for determining
-whether to use Third Party Products and Services and if any third party
-licenses are required to do so. If required you are responsible for acquiring
-them. You should not install or use Third Party Products and Services until all
-necessary licenses have been acquired. Any Third Party Products and Services
-that are provided with RIM's products and services are provided as a
-convenience to you and are provided &quot;AS IS&quot; with no express or
-implied conditions, endorsements, guarantees, representations, or warranties of
-any kind by RIM and RIM assumes no liability whatsoever, in relation thereto.
-Your use of Third Party Products and Services shall be governed by and subject
-to you agreeing to the terms of separate licenses and other agreements
-applicable thereto with third parties, except to the extent expressly covered
-by a license or other agreement with RIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Certain features outlined in this documentation require a
-minimum version of BlackBerry<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>®</span>
-Enterprise Server, BlackBerry<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>®</span>
-Desktop Software, and/or BlackBerry<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-bidi-font-family:TradeGothicNextLTPro-Lt'>®</span>
-Device Software.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The terms of use of any RIM product or service are set out
-in a separate license or other agreement with RIM applicable thereto. NOTHING
-IN THIS DOCUMENTATION IS INTENDED TO SUPERSEDE ANY EXPRESS WRITTEN AGREEMENTS
-OR WARRANTIES PROVIDED BY RIM FOR PORTIONS OF ANY RIM PRODUCT OR SERVICE OTHER
-THAN THIS DOCUMENTATION.</p>
-
-<p class=MsoNormal><a name=d20e152a1310></a><a name=d20e156a1310></a><a
-name=d20e159a1310></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Research In Motion Limited</p>
-
-<p class=MsoNormal>295 Phillip Street</p>
-
-<p class=MsoNormal>Waterloo, ON N2L 3W8</p>
-
-<p class=MsoNormal>Canada</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Published in Canada</p>
-
-<p class=MsoNormal><span style='mso-bidi-font-size:12.0pt;mso-bidi-font-family:
-"Times New Roman"'><o:p>&nbsp;</o:p></span></p>
-
-</div>
-
-</body>
-
-</html>

BIN
docs/development-guide.pdf


+ 0 - 2
docs/development-guide_files/colorschememapping.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

+ 0 - 15
docs/development-guide_files/filelist.xml

@@ -1,15 +0,0 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../development-guide.html"/>
- <o:File HRef="item0001.xml"/>
- <o:File HRef="props0002.xml"/>
- <o:File HRef="themedata.thmx"/>
- <o:File HRef="colorschememapping.xml"/>
- <o:File HRef="image001.png"/>
- <o:File HRef="image002.gif"/>
- <o:File HRef="image003.png"/>
- <o:File HRef="image004.jpg"/>
- <o:File HRef="image005.png"/>
- <o:File HRef="image006.jpg"/>
- <o:File HRef="header.html"/>
- <o:File HRef="filelist.xml"/>
-</xml>

+ 0 - 78
docs/development-guide_files/header.html

@@ -1,78 +0,0 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 12">
-<meta name=Originator content="Microsoft Word 12">
-<link id=Main-File rel=Main-File href="../development-guide.html">
-</head>
-
-<body lang=EN-US link=blue vlink=blue>
-
-<div style='mso-element:footnote-separator' id=fs>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1 width="33%">
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:footnote-continuation-separator' id=fcs>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1>
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:endnote-separator' id=es>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1 width="33%">
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:endnote-continuation-separator' id=ecs>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1>
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:header' id=h1>
-
-<p class=MsoNormal align=right style='text-align:right;tab-stops:center 3.25in right 6.5in'><o:p>&nbsp;</o:p></p>
-
-</div>
-
-<div style='mso-element:footer' id=f1>
-
-<p class=MsoNormal style='tab-stops:center 3.25in right 6.5in'><!--[if supportFields]><span
-style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>PAGE<span style='mso-spacerun:yes'>  
-</span>\* MERGEFORMAT <span style='mso-element:field-separator'></span><![endif]--><span
-style='mso-no-proof:yes'>87</span><!--[if supportFields]><span
-style='mso-element:field-end'></span><![endif]--></p>
-
-<p class=MsoNormal style='tab-stops:center 3.25in right 6.5in'><o:p>&nbsp;</o:p></p>
-
-</div>
-
-</body>
-
-</html>

BIN
docs/development-guide_files/image001.png


BIN
docs/development-guide_files/image003.png


BIN
docs/development-guide_files/image004.jpg


BIN
docs/development-guide_files/image005.png


BIN
docs/development-guide_files/image006.jpg


+ 0 - 1
docs/development-guide_files/item0001.xml

@@ -1 +0,0 @@
-<b:Sources SelectedStyle="\APA.XSL" StyleName="APA" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"></b:Sources>

+ 0 - 2
docs/development-guide_files/props0002.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<ds:datastoreItem ds:itemID="{4F89F93A-19E1-470C-85BD-31F7A0416134}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>

BIN
docs/development-guide_files/themedata.thmx


BIN
docs/file-formats.doc


BIN
docs/file-formats.pdf


+ 0 - 2
docs/file-formats_files/colorschememapping.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

+ 0 - 11
docs/file-formats_files/filelist.xml

@@ -1,11 +0,0 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../file-formats.html"/>
- <o:File HRef="item0001.xml"/>
- <o:File HRef="props0002.xml"/>
- <o:File HRef="themedata.thmx"/>
- <o:File HRef="colorschememapping.xml"/>
- <o:File HRef="image001.png"/>
- <o:File HRef="image002.gif"/>
- <o:File HRef="header.html"/>
- <o:File HRef="filelist.xml"/>
-</xml>

+ 0 - 78
docs/file-formats_files/header.html

@@ -1,78 +0,0 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 12">
-<meta name=Originator content="Microsoft Word 12">
-<link id=Main-File rel=Main-File href="../file-formats.html">
-</head>
-
-<body lang=EN-US link=blue vlink=blue>
-
-<div style='mso-element:footnote-separator' id=fs>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1 width="33%">
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:footnote-continuation-separator' id=fcs>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1>
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:endnote-separator' id=es>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1 width="33%">
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:endnote-continuation-separator' id=ecs>
-
-<p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
-
-<hr align=left size=1>
-
-<![endif]></span></p>
-
-</div>
-
-<div style='mso-element:header' id=h1>
-
-<p class=MsoNormal align=right style='text-align:right;tab-stops:center 3.25in right 6.5in'><o:p>&nbsp;</o:p></p>
-
-</div>
-
-<div style='mso-element:footer' id=f1>
-
-<p class=MsoNormal style='tab-stops:center 3.25in right 6.5in'><!--[if supportFields]><span
-style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>PAGE<span style='mso-spacerun:yes'>  
-</span>\* MERGEFORMAT <span style='mso-element:field-separator'></span><![endif]--><span
-style='mso-no-proof:yes'>27</span><!--[if supportFields]><span
-style='mso-element:field-end'></span><![endif]--></p>
-
-<p class=MsoNormal style='tab-stops:center 3.25in right 6.5in'><o:p>&nbsp;</o:p></p>
-
-</div>
-
-</body>
-
-</html>

BIN
docs/file-formats_files/image001.png


+ 0 - 1
docs/file-formats_files/item0001.xml

@@ -1 +0,0 @@
-<b:Sources SelectedStyle="\APA.XSL" StyleName="APA" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"></b:Sources>

+ 0 - 2
docs/file-formats_files/props0002.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<ds:datastoreItem ds:itemID="{60157A9A-0A77-495A-B1F0-7058B3FA5712}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>

BIN
docs/file-formats_files/themedata.thmx


BIN
docs/sample01-longboard.doc


+ 0 - 2577
docs/sample01-longboard.html

@@ -1,2577 +0,0 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 14">
-<meta name=Originator content="Microsoft Word 14">
-<link rel=File-List href="sample01-longboard_files/filelist.xml">
-<link rel=Edit-Time-Data href="sample01-longboard_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>user</o:Author>
-  <o:LastAuthor>Sean Paul Taylor</o:LastAuthor>
-  <o:Revision>3</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:LastPrinted>2012-07-24T19:19:00Z</o:LastPrinted>
-  <o:Created>2012-07-24T19:19:00Z</o:Created>
-  <o:LastSaved>2012-07-24T19:26:00Z</o:LastSaved>
-  <o:Pages>7</o:Pages>
-  <o:Words>3751</o:Words>
-  <o:Characters>21387</o:Characters>
-  <o:Company>Research In Motion Ltd.</o:Company>
-  <o:Lines>178</o:Lines>
-  <o:Paragraphs>50</o:Paragraphs>
-  <o:CharactersWithSpaces>25088</o:CharactersWithSpaces>
-  <o:Version>14.00</o:Version>
- </o:DocumentProperties>
- <o:OfficeDocumentSettings>
-  <o:AllowPNG/>
- </o:OfficeDocumentSettings>
-</xml><![endif]-->
-<link rel=dataStoreItem href="sample01-longboard_files/item0016.xml"
-target="sample01-longboard_files/props017.xml">
-<link rel=themeData href="sample01-longboard_files/themedata.thmx">
-<link rel=colorSchemeMapping
-href="sample01-longboard_files/colorschememapping.xml">
-<!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:SpellingState>Clean</w:SpellingState>
-  <w:GrammarState>Clean</w:GrammarState>
-  <w:TrackMoves>false</w:TrackMoves>
-  <w:TrackFormatting/>
-  <w:PunctuationKerning/>
-  <w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
-  <w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
-  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
-  <w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
-  <w:ValidateAgainstSchemas>false</w:ValidateAgainstSchemas>
-  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
-  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
-  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
-  <w:DoNotUnderlineInvalidXML/>
-  <w:DoNotPromoteQF/>
-  <w:LidThemeOther>EN-US</w:LidThemeOther>
-  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
-  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
-  <w:DoNotShadeFormData/>
-  <w:Compatibility>
-   <w:SpaceForUL/>
-   <w:BalanceSingleByteDoubleByteWidth/>
-   <w:DoNotLeaveBackslashAlone/>
-   <w:ULTrailSpace/>
-   <w:DoNotExpandShiftReturn/>
-   <w:FootnoteLayoutLikeWW8/>
-   <w:ShapeLayoutLikeWW8/>
-   <w:AlignTablesRowByRow/>
-   <w:ForgetLastTabAlignment/>
-   <w:AdjustLineHeightInTable/>
-   <w:LayoutRawTableWidth/>
-   <w:LayoutTableRowsApart/>
-   <w:UseWord97LineBreakingRules/>
-   <w:BreakWrappedTables/>
-   <w:SelectEntireFieldWithStartOrEnd/>
-   <w:UseWord2002TableStyleRules/>
-   <w:DontUseIndentAsNumberingTabStop/>
-   <w:FELineBreak11/>
-   <w:WW11IndentRules/>
-   <w:DontAutofitConstrainedTables/>
-   <w:AutofitLikeWW11/>
-   <w:UnderlineTabInNumList/>
-   <w:HangulWidthLikeWW11/>
-   <w:UseNormalStyleForList/>
-   <w:SplitPgBreakAndParaMark/>
-   <w:DontVertAlignCellWithSp/>
-   <w:DontBreakConstrainedForcedTables/>
-   <w:DontVertAlignInTxbx/>
-   <w:Word11KerningPairs/>
-   <w:CachedColBalance/>
-   <w:UseFELayout/>
-  </w:Compatibility>
-  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
-  <m:mathPr>
-   <m:mathFont m:val="Cambria Math"/>
-   <m:brkBin m:val="before"/>
-   <m:brkBinSub m:val="&#45;-"/>
-   <m:smallFrac m:val="off"/>
-   <m:dispDef/>
-   <m:lMargin m:val="0"/>
-   <m:rMargin m:val="0"/>
-   <m:defJc m:val="centerGroup"/>
-   <m:wrapIndent m:val="1440"/>
-   <m:intLim m:val="subSup"/>
-   <m:naryLim m:val="undOvr"/>
-  </m:mathPr></w:WordDocument>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
-  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
-  LatentStyleCount="267">
-  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 1"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 2"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 3"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 4"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 5"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 6"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
-  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
-  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
-  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
-  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
-  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
-  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
-  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Table Grid"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
-  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 1"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
-  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
-  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
-  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 2"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 3"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 4"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 5"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 6"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
-  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
-  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
-  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
-  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
-  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
-  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
- </w:LatentStyles>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:Calibri;
-	panose-1:2 15 5 2 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-520092929 1073786111 9 0 415 0;}
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-520081665 -1073717157 41 0 66047 0;}
-@font-face
-	{font-family:"Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:"\@Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:Consolas;
-	panose-1:2 11 6 9 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:modern;
-	mso-font-pitch:fixed;
-	mso-font-signature:-520092929 1073806591 9 0 415 0;}
-@font-face
-	{font-family:"MS Sans Serif";
-	panose-1:0 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-format:other;
-	mso-font-pitch:auto;
-	mso-font-signature:3 0 0 0 1 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:"Times New Roman";}
-h1
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 1 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:24.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:Arial;
-	color:#00B0F0;
-	mso-font-kerning:0pt;}
-h2
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:Subtitle;
-	mso-style-link:"Heading 2 Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:12.0pt;
-	margin-left:0in;
-	page-break-before:always;
-	mso-pagination:none;
-	mso-outline-level:2;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-bidi-font-family:"Times New Roman";
-	color:#00AAE2;
-	mso-bidi-font-weight:normal;}
-h3
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 3 Char";
-	mso-style-next:Normal;
-	margin-top:24.0pt;
-	margin-right:0in;
-	margin-bottom:6.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	page-break-after:avoid;
-	mso-outline-level:3;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:18.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:Arial;}
-h4
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 4 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:4;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:10.0pt;
-	font-family:"Arial","sans-serif";}
-h5
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 5 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:5;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:9.0pt;
-	font-family:"Arial","sans-serif";}
-h6
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 6 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:6;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:8.0pt;
-	font-family:"Arial","sans-serif";}
-p.MsoToc1, li.MsoToc1, div.MsoToc1
-	{mso-style-update:auto;
-	mso-style-noshow:yes;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoTitle, li.MsoTitle, div.MsoTitle
-	{mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Title Char";
-	mso-style-next:Normal;
-	margin-top:12.0pt;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;}
-p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
-	{mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Subtitle Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	mso-outline-level:2;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-bidi-font-family:"Times New Roman";
-	color:#00AAE2;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-a:link, span.MsoHyperlink
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	color:blue;
-	mso-themecolor:hyperlink;
-	mso-style-textfill-fill-color:blue;
-	mso-style-textfill-fill-themecolor:hyperlink;
-	mso-style-textfill-fill-alpha:100.0%;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	color:purple;
-	mso-themecolor:followedhyperlink;
-	text-decoration:underline;
-	text-underline:single;}
-pre
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-link:"HTML Preformatted Char";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Courier New";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;}
-p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-link:"Balloon Text Char";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:8.0pt;
-	font-family:"Tahoma","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;}
-span.Heading1Char
-	{mso-style-name:"Heading 1 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 1";
-	mso-ansi-font-size:24.0pt;
-	mso-bidi-font-size:24.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:Arial;
-	color:#00B0F0;
-	mso-style-textfill-fill-color:#00B0F0;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;}
-span.SubtitleChar
-	{mso-style-name:"Subtitle Char";
-	mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Subtitle;
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:"Malgun Gothic";
-	mso-bidi-font-family:"Times New Roman";
-	color:#00AAE2;
-	mso-style-textfill-fill-color:#00AAE2;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading2Char
-	{mso-style-name:"Heading 2 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 2";
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-ascii-font-family:Arial;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Arial;
-	mso-bidi-font-family:"Times New Roman";
-	color:#00AAE2;
-	mso-style-textfill-fill-color:#00AAE2;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading3Char
-	{mso-style-name:"Heading 3 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 3";
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Malgun Gothic";
-	mso-hansi-font-family:"Malgun Gothic";
-	mso-bidi-font-family:Arial;
-	font-weight:bold;}
-span.Heading4Char
-	{mso-style-name:"Heading 4 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 4";
-	mso-ansi-font-size:14.0pt;
-	mso-bidi-font-size:14.0pt;
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;}
-span.Heading5Char
-	{mso-style-name:"Heading 5 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 5";
-	mso-ansi-font-size:13.0pt;
-	mso-bidi-font-size:13.0pt;
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;
-	font-style:italic;}
-span.Heading6Char
-	{mso-style-name:"Heading 6 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 6";
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;}
-span.HTMLPreformattedChar
-	{mso-style-name:"HTML Preformatted Char";
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"HTML Preformatted";
-	mso-ansi-font-size:10.0pt;
-	mso-bidi-font-size:10.0pt;
-	font-family:"Courier New";
-	mso-ascii-font-family:"Courier New";
-	mso-hansi-font-family:"Courier New";
-	mso-bidi-font-family:"Courier New";}
-span.TitleChar
-	{mso-style-name:"Title Char";
-	mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Title;
-	mso-ansi-font-size:16.0pt;
-	mso-bidi-font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;}
-p.tableheader, li.tableheader, div.tableheader
-	{mso-style-name:"table header";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	font-weight:bold;}
-p.link, li.link, div.link
-	{mso-style-name:link;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Times New Roman","serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;}
-p.tabletitle, li.tabletitle, div.tabletitle
-	{mso-style-name:"table title";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	font-weight:bold;}
-span.BalloonTextChar
-	{mso-style-name:"Balloon Text Char";
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Balloon Text";
-	mso-ansi-font-size:8.0pt;
-	mso-bidi-font-size:8.0pt;
-	font-family:"Tahoma","sans-serif";
-	mso-ascii-font-family:Tahoma;
-	mso-hansi-font-family:Tahoma;
-	mso-bidi-font-family:Tahoma;}
-span.SpellE
-	{mso-style-name:"";
-	mso-spl-e:yes;}
-span.GramE
-	{mso-style-name:"";
-	mso-gram-e:yes;}
-.MsoChpDefault
-	{mso-style-type:export-only;
-	mso-default-props:yes;
-	font-family:"Calibri","sans-serif";
-	mso-ascii-font-family:Calibri;
-	mso-ascii-theme-font:minor-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-hansi-font-family:Calibri;
-	mso-hansi-theme-font:minor-latin;
-	mso-bidi-font-family:Calibri;}
- /* Page Definitions */
- @page
-	{mso-page-border-surround-header:no;
-	mso-page-border-surround-footer:no;}
-@page WordSection1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.0in 1.0in 1.0in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.WordSection1
-	{page:WordSection1;}
- /* List Definitions */
- @list l0
-	{mso-list-id:525362460;
-	mso-list-template-ids:1817461758;}
-@list l0:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:1.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:1.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:2.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:2.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:3.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:3.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:4.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l0:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:4.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1
-	{mso-list-id:685057128;
-	mso-list-template-ids:-533022816;}
-@list l1:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:1.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:1.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:2.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:2.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:3.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:3.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:4.0in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:4.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l2
-	{mso-list-id:963075852;
-	mso-list-type:hybrid;
-	mso-list-template-ids:547273238 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l2:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l2:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l2:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l2:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l2:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l2:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l3
-	{mso-list-id:1392851644;
-	mso-list-type:hybrid;
-	mso-list-template-ids:1826019958 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l3:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l3:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l3:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l3:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l3:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l3:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-ol
-	{margin-bottom:0in;}
-ul
-	{margin-bottom:0in;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-ascii-font-family:Calibri;
-	mso-ascii-theme-font:minor-latin;
-	mso-hansi-font-family:Calibri;
-	mso-hansi-theme-font:minor-latin;}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="1030"/>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
-  <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in;text-justify-trim:
-punctuation'>
-
-<div class=WordSection1>
-
-<p class=MsoNormal><a name="d1e3_id"></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-no-proof:yes'><!--[if gte vml 1]><v:shapetype
- id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
- path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
- <v:stroke joinstyle="miter"/>
- <v:formulas>
-  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
-  <v:f eqn="sum @0 1 0"/>
-  <v:f eqn="sum 0 0 @1"/>
-  <v:f eqn="prod @2 1 2"/>
-  <v:f eqn="prod @3 21600 pixelWidth"/>
-  <v:f eqn="prod @3 21600 pixelHeight"/>
-  <v:f eqn="sum @0 0 1"/>
-  <v:f eqn="prod @6 1 2"/>
-  <v:f eqn="prod @7 21600 pixelWidth"/>
-  <v:f eqn="sum @8 21600 0"/>
-  <v:f eqn="prod @7 21600 pixelHeight"/>
-  <v:f eqn="sum @10 21600 0"/>
- </v:formulas>
- <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
- <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
- style='width:460.5pt;height:91.5pt;visibility:visible;mso-wrap-style:square'>
- <v:imagedata src="sample01-longboard_files/image001.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img width=614 height=122
-src="sample01-longboard_files/image002.png" v:shapes="Picture_x0020_1"><![endif]></span></p>
-
-<p class=MsoSubtitle>Tutorial: <span style='font-weight:normal'>Longboard<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h2><span style='mso-fareast-font-family:"Malgun Gothic"'>Contents<o:p></o:p></span></h2>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span style='color:
-#00AAE2'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><!--[if supportFields]><span
-style='color:#00AAE2'><span style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>TOC \o &quot;1-1&quot; \h \z \u <span
-style='mso-element:field-separator'></span></span><![endif]--><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322506090"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Ride the asphalt wave!</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322506090 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>3</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300036003000390030000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#00AAE2;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322506091"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Designing the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322506091 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>4</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300036003000390031000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322506092"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Initializing the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322506092 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>6</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300036003000390032000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322506093"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Updating the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322506093 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>11</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300036003000390033000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322506094"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Rendering the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322506094 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>14</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300036003000390034000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322506095"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>License</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322506095 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>15</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300036003000390035000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#00AAE2'><o:p></o:p></span></p>
-
-<h2><!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--><a
-name="_Toc322506090">Ride the asphalt wave!</a><a name="d1e10_id"></a></h2>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_2"
-  o:spid="_x0000_s1029" type="#_x0000_t75" style='position:absolute;
-  margin-left:0;margin-top:0;width:450pt;height:240pt;z-index:251666432;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:absolute;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample01-longboard_files/image003.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=600 height=320
- src="sample01-longboard_files/image003.png" v:shapes="Picture_x0020_2"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-In this tutorial, we<span style='font-family:"Times New Roman","serif";
-mso-ascii-font-family:"Malgun Gothic";mso-hansi-font-family:"Malgun Gothic"'>’</span>re
-going to have a close look at a sample game that simulates a longboard moving
-along the pavement. The application should take input from the player and
-provide some sort of visual and audible feedback. How would you design and
-build this game? Here, we'll discuss one approach.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><a name="d1e14_id"></a>The Longboard sample uses the
-gameplay library, which is a set of C++ classes that are designed to help you
-get started creating native games for the tablet. Although the classes in the gameplay
-library are designed to make it particularly easy to create games for the
-tablet, they are also designed to make it easy to port your games to other
-platforms.<a name="d1e18_id"></a></p>
-
-<h3>You will learn to</h3>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l2 level1 lfo3'><a name="d1e21_id"></a><a
-     name="d1e22_id"></a>Design the game<a name="d1e24_id"></a></li>
- <li class=MsoNormal style='mso-list:l2 level1 lfo3'>Set up and initialize the
-     game<a name="d1e26_id"></a></li>
- <li class=MsoNormal style='mso-list:l2 level1 lfo3'>Update and render the game</li>
-</ul>
-
-<h2><a name="_Toc322506091">Designing the game</a><a name="d2e10_id"></a></h2>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_3"
-  o:spid="_x0000_s1028" type="#_x0000_t75" style='position:absolute;
-  margin-left:0;margin-top:0;width:315pt;height:152.25pt;z-index:251660288;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:absolute;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample01-longboard_files/image004.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=420 height=203
- src="sample01-longboard_files/image004.png" v:shapes="Picture_x0020_3"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-For this game, the longboard doesn't appear to move until the player provides
-input to control the longboard's speed or tilt. Tilting the device along the
-x-axis controls the speed of the board and tilting it along the z-axis (like a
-steering wheel) controls the direction of the board. If we wanted to sketch
-this out on paper, it would look like: </p>
-
-<p class=MsoNormal><a name="d2e15_id"></a>To keep the game simple, it will not
-track time, score, or apply any sort of limitation on the player. The longboard
-will simply move according to the player's inputs and visual and audible
-feedback will be provided.<a name="d2e18_id"></a></p>
-
-<h3><!--[if gte vml 1]><v:shape id="Picture_x0020_4" o:spid="_x0000_s1027"
- type="#_x0000_t75" style='position:absolute;margin-left:0;margin-top:27.85pt;
- width:89.25pt;height:179.25pt;z-index:251662336;visibility:visible;
- mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;
- mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
- mso-wrap-distance-bottom:0;mso-position-horizontal:left;
- mso-position-horizontal-relative:text;mso-position-vertical:absolute;
- mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
- mso-width-relative:page;mso-height-relative:page'>
- <v:imagedata src="sample01-longboard_files/image005.png" o:title=""/>
- <w:wrap type="square"/>
-</v:shape><![endif]--><![if !vml]><img width=119 height=239
-src="sample01-longboard_files/image006.png" align=left hspace=12 v:shapes="Picture_x0020_4"><![endif]>The
-longboard</h3>
-
-<p class=MsoNormal>The longboard itself is broken up into two components, the
-deck and the wheels. We will make a decision here to create graphics files that
-represent these elements and apply them to game objects (meshes)
-programmatically. The position and shape of these objects will be adjusted
-during game time to give the appearance of motion and speed without actually
-moving them in 3-D space.<a name="d2e24_id"></a></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_5"
-  o:spid="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
-  margin-left:400.65pt;margin-top:0;width:122.25pt;height:60.75pt;z-index:251667456;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:absolute;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample01-longboard_files/image007.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout'>
- <table cellpadding=0 cellspacing=0>
-  <tr>
-   <td width=534 height=0></td>
-  </tr>
-  <tr>
-   <td></td>
-   <td><img width=163 height=81 src="sample01-longboard_files/image008.png"
-   v:shapes="Picture_x0020_5"></td>
-  </tr>
- </table>
- </span><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-We will also apply a gradient to the overall scene to create an interesting
-lighting effect that focuses attention on the longboard. <a name="d2e28_id"></a></p>
-
-<h3>The ground</h3>
-
-<p class=MsoNormal>Again, to keep things simple, the ground that the longboard
-rides upon will be a texture applied to a mesh. This mesh is transformed during
-the game to give the appearance of the board moving forward at varying speeds.<a
-name="d2e33_id"></a></p>
-
-<h3>The sound</h3>
-
-<p class=MsoNormal>Lastly, the game should have some sort of audible feedback
-to add to the impression that the longboard is moving along the ground. A
-&quot;clacking wheel&quot; sound will be loaded into the game and its pitch
-adjusted based on the speed of the longboard or the sound stopped if the
-longboard isn't moving.<a name="d3e3_id"></a></p>
-
-<h2><a name="_Toc322506092">Initializing the game</a></h2>
-
-<p class=MsoNormal><a name="d3e10_id"></a>The foundational class in the
-gameplay library is, not too surprisingly, the <span style='font-family:"Courier New"'>Game</span>
-class. It includes the framework code you need to do many things that are
-common in games, such as starting and stopping the game, rendering the game
-frames, and maintaining basic game state. So, to create a game using gameplay,
-you start by creating a class that inherits from <span style='font-family:"Courier New"'>Game</span>.
-</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For example, for the Longboard game, we create the following
-class: </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='mso-pagination:widow-orphan;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
-background:white;mso-layout-grid-align:auto;text-autospace:ideograph-other'><span
-class=GramE><span style='font-size:10.0pt;font-family:Consolas;color:blue'>class</span></span><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>LongboardGame</span>&nbsp;:&nbsp;</span><span style='font-size:
-10.0pt;font-family:Consolas;color:blue'>public</span><span style='font-size:
-10.0pt;font-family:Consolas;color:black'>&nbsp;Game<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next, you'll almost always need to override the following
-methods: </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;initialize();<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;finalize();<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;update(</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;elapsedTime);<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;render(</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp; elapsedTime);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>There are a bunch of tasks you have to perform once and only
-once before your game starts. In gameplay, you look after those tasks in the <span
-class=GramE><span style='font-family:"Courier New"'>initialize(</span></span><span
-style='font-family:"Courier New"'>)</span> method. For the Longboard sample, a
-set of properties for the default render state is created using the <span
-class=SpellE><span style='font-family:"Courier New"'>RenderState</span></span><span
-style='font-family:"Courier New"'>::<span class=SpellE>StateBlock</span></span>
-class and this will be used throughout the sample. We also calculate our
-view/projection matrix, load some game entities, and set initial physics
-parameters. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Here's the code:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>LongboardGame</span>::initialize()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;<span class=GramE>Create</span>&nbsp;our&nbsp;render&nbsp;state&nbsp;block&nbsp;that&nbsp;will&nbsp;be&nbsp;reused&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// across&nbsp;all&nbsp;materials</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>stateBlock</span>&nbsp;=&nbsp;<span class=SpellE>RenderState</span>:<span
-class=GramE>:<span class=SpellE>StateBlock</span></span>::create();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>stateBlock</span>-&gt;<span class=SpellE><span class=GramE>setCullFace</span></span><span
-class=GramE>(</span></span><span style='font-family:Consolas;color:blue'>true</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>stateBlock</span>-&gt;<span class=SpellE><span class=GramE>setBlend</span></span><span
-class=GramE>(</span></span><span style='font-family:Consolas;color:blue'>true</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>stateBlock</span>-&gt;<span class=SpellE><span class=GramE>setBlendSrc</span></span><span
-class=GramE>(</span><span class=SpellE>RenderState</span>::BLEND_SRC_ALPHA);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_stateBlock-&gt;<span
-class=GramE>setBlendDst(</span>RenderState::BLEND_ONE_MINUS_SRC_ALPHA);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;<span class=GramE>Calculate</span>&nbsp;initial&nbsp;matrices</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Matrix::<span
-class=GramE>createPerspective(</span>45.0f,&nbsp;(</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>)getWidth()&nbsp;/&nbsp;(</span><span style='font-family:
-Consolas;color:blue'>float</span><span style='font-family:Consolas;color:black'>)getHeight(),<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                              </span>0.25f,&nbsp;100.0f<span
-class=GramE>,&amp;</span>_projectionMatrix);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Matrix::<span
-class=GramE>createLookAt(</span>0,&nbsp;1.75f,&nbsp;1.35f,&nbsp;0,&nbsp;0,&nbsp;-0.15f,&nbsp;0,&nbsp;0.20f,&nbsp;-0.80f,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                         </span>&amp;_<span
-class=SpellE>viewMatrix</span>);<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Matrix::<span
-class=GramE>multiply(</span>_<span class=SpellE>projectionMatrix</span>,&nbsp;_<span
-class=SpellE>viewMatrix</span>, &amp;_<span class=SpellE>viewProjectionMatrix</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Build&nbsp;game&nbsp;entities</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>buildGround</span></span><span class=GramE>(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>buildBoard</span></span><span class=GramE>(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>buildWheels</span></span><span class=GramE>(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>buildGradient</span></span><span class=GramE>(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Set&nbsp;initial&nbsp;board&nbsp;physics</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE><span class=GramE>direction.set</span></span><span class=GramE>(</span>0,&nbsp;0,&nbsp;-1);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_velocity&nbsp;=&nbsp;VELOCITY_MIN_MS;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>A lot of the initialization work is hidden behind the build
-methods that create the game entities. It's also in those methods where you'll
-see more of the power of the gameplay library.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The game entities (things that appear in the game) are built
-using OpenGL ES 2.0 under the covers. We won't cover OpenGL ES in this
-tutorial, but you can check out the following resources on the web for more
-information:<a name="d3e68_id"></a><a name="d3e69_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l3 level1 lfo6'><a
-     href="http://www.khronos.org/opengles/sdk/docs/man/"><span
-     style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-     black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-     mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>OpenGL
-     ES 2.0 Reference Pages</span></span></a><a name="d3e72_id"></a><span
-     style='font-family:"MS Sans Serif","sans-serif"'><o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l3 level1 lfo6'><a
-     href="http://opengles-book.com/"><span style='font-family:"Times New Roman","serif";
-     color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-     100.0%'><span style='color:black;mso-style-textfill-fill-color:black;
-     mso-style-textfill-fill-alpha:100.0%'>OpenGL ES 2.0 Pro<span
-     style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-     100.0%'>gramming Guide</span></span></span></a><a name="d3e75_id"></a><span
-     style='font-family:"MS Sans Serif","sans-serif"'><o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l3 level1 lfo6'><a
-     href="http://www.khronos.org/opengles/2_X/"><span style='font-family:"Times New Roman","serif";
-     color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-     100.0%'><span style='color:black;mso-style-textfill-fill-color:black;
-     mso-style-textfill-fill-alpha:100.0%'>OpenGL ES 2_X - The Standard for
-     Embedded Accelerated 3D Graphics</span></span></a><span style='font-family:
-     "MS Sans Serif","sans-serif"'><o:p></o:p></span></li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>What we will cover is the interface the gameplay library
-provides on top of OpenGL ES. The geometry of a 3-D object in OpenGL is
-specified as a set of triangles. The set of triangles, taken together, are
-called a mesh. Some other names for a mesh are a model, an entity, or an
-object. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Gameplay includes a <span style='font-family:"Courier New"'>Mesh</span>
-class that has a number of methods that make it easier to manage meshes. One
-such method, <span class=SpellE><span class=GramE><span style='font-family:
-"Courier New"'>createQuad</span></span></span><span class=GramE><span
-style='font-family:"Courier New"'>(</span></span><span style='font-family:"Courier New"'>)</span>,
-lets you create a quadrilateral (four sided mesh or a plane) with a single
-call, which saves you from building it out of two triangles. That call is used
-to build the mesh that represents all the objects in our longboard sample
-(board, wheels, ground, and gradient). </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For example, here's the code for <span class=SpellE><span
-class=GramE><span style='font-family:"Courier New"'>buildGround</span></span></span><span
-class=GramE><span style='font-family:"Courier New"'>(</span></span><span
-style='font-family:"Courier New"'>)</span>. Notice that gameplay provides a <span
-style='font-family:"Courier New"'>Vector3</span> support class. Here, <span
-style='font-family:"Courier New"'>WORLD_SIZE</span> is just a constant that
-specifies - surprise, surprise - the extent of the game world.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>LongboardGame</span>::<span class=SpellE>buildGround</span>()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Mesh*&nbsp;groundMesh&nbsp;=&nbsp;Mesh::<span
-class=GramE>createQuad(</span>Vector3(-WORLD_SIZE,&nbsp;0,&nbsp;-WORLD_SIZE),<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='mso-spacerun:yes'>        </span><span
-class=GramE>Vector3(</span>-WORLD_SIZE,&nbsp;0,&nbsp;WORLD_SIZE),<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style='mso-spacerun:yes'>         </span><span
-class=GramE>Vector3(</span>WORLD_SIZE,&nbsp;0,&nbsp;-WORLD_SIZE),<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style='mso-spacerun:yes'>        </span><span
-class=GramE>Vector3(</span>WORLD_SIZE,&nbsp;0,&nbsp;WORLD_SIZE));<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>That looks after the basic geometry. Next, we have to specify
-the material that the ground is actually made of. In OpenGL, a material is
-really a statement of how an object interacts with light. Gameplay lets you
-create a material by either specifying an effect (using the <span
-style='font-family:"Courier New"'>Effect</span> class) or by specifying a
-vertex and fragment <span class=SpellE>shader</span> program. In this sample,
-we specify <span class=SpellE>shader</span> programs. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;<span
-class=GramE>Create</span>&nbsp;the&nbsp;ground&nbsp;model</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_ground&nbsp;=&nbsp;Model::<span
-class=GramE>create(</span><span class=SpellE>groundMesh</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;<span
-class=GramE>Create</span>&nbsp;the&nbsp;ground&nbsp;material</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>Material*&nbsp;groundMaterial&nbsp;=&nbsp;_ground-&gt;<span
-class=GramE>setMaterial(</span></span><span style='font-family:Consolas;
-color:#A31515'>&quot;res/shaders/textured-unlit.vert&quot;</span><span
-style='font-family:Consolas;color:black'>,</span><span style='font-family:Consolas;
-color:#A31515'><span style='mso-spacerun:yes'>  </span><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:#A31515'><span style='mso-spacerun:yes'>                                                </span>&quot;res/<span
-class=SpellE>shaders</span>/textured-<span class=SpellE>unlit.frag</span>&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Set&nbsp;render&nbsp;state&nbsp;block</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span class=SpellE><span class=GramE><span
-style='font-family:Consolas;color:black'>groundMaterial</span></span></span><span
-style='font-family:Consolas;color:black'>-&gt;<span class=SpellE>setStateBlock</span>(_<span
-class=SpellE>stateBlock</span>);</span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>An OpenGL vertex <span class=SpellE>shader</span> is a set
-of instructions, written in the GL <span class=SpellE>shader</span> language (GLSL),
-which describes how to transform vertex data during the rendering process. For
-example, you can alter the positions of vertices so that the shape they define
-appears to flutter in the wind. You can manipulate depth and color information
-in the vertex <span class=SpellE>shader</span>. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The following minimized GLSL code implements the vertex <span
-class=SpellE>shader</span> program used with the ground material (textured-<span
-class=SpellE>unlit.vert</span>). </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>attribute</span></span><span style='font-family:Consolas;
-color:black'>&nbsp;</span><span style='font-family:Consolas;color:blue'>vec4</span><span
-style='font-family:Consolas;color:black'>&nbsp;<span class=SpellE>a_position</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>attribute</span></span><span style='font-family:Consolas;
-color:black'>&nbsp;</span><span style='font-family:Consolas;color:blue'>vec3</span><span
-style='font-family:Consolas;color:black'>&nbsp;<span class=SpellE>a_normal</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>attribute</span></span><span style='font-family:Consolas;
-color:black'>&nbsp;</span><span style='font-family:Consolas;color:blue'>vec2</span><span
-style='font-family:Consolas;color:black'>&nbsp;<span class=SpellE>a_texCoord</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>uniform</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>mat4</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>u_worldViewProjectionMatrix</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>uniform</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>vec2</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>u_textureRepeat</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>uniform</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>vec2</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>u_textureOffset</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>varying</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>vec3</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>v_normal</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>varying</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>vec2</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>v_texCoord</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;main()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=SpellE><span style='font-family:Consolas;color:teal'>gl_Position</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;=&nbsp;<span class=SpellE>u_worldViewProjectionMatrix</span>&nbsp;*&nbsp;<span
-class=SpellE>a_position</span>;<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE>v_normal</span>&nbsp;=&nbsp;<span class=SpellE>a_normal</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE>v_texCoord</span>&nbsp;=&nbsp;<span class=SpellE>a_texCoord</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:teal'><span style='mso-spacerun:yes'>    </span><span
-class=SpellE>v_<span style='color:black'>texCoord</span></span></span><span
-style='font-family:Consolas;color:black'> *= <span class=SpellE>u_textureRepeat</span> + <span
-class=SpellE>u_textureOffset</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next, we specify the fragment <span class=SpellE>shader</span>,
-textured-<span class=SpellE>unlit.frag</span>. A fragment <span class=SpellE>shader</span>
-is like a vertex <span class=SpellE>shader</span> except that it manipulates
-sets of fragment or potential pixels and their properties instead of vertex data.
-You can, for example, use fragment <span class=SpellE>shaders</span> to cause
-blur effects or sepia tone effects. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>precision</span></span><span style='font-family:Consolas;
-color:black'>&nbsp;</span><span class=SpellE><span style='font-family:Consolas;
-color:blue'>highp</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>varying</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>vec3</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>v_normal</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>varying</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>vec2</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>v_texCoord</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>uniform</span></span><span style='font-family:Consolas;color:black'>&nbsp;</span><span
-style='font-family:Consolas;color:blue'>sampler2D</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>u_diffuseTexture</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;main()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=SpellE><span style='font-family:Consolas;color:teal'>gl_FragColor</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;=&nbsp;</span><span class=GramE><b><span
-style='font-family:Consolas;color:maroon'>texture2D</span></b><span
-style='font-family:Consolas;color:black'>(</span></span><span class=SpellE><span
-style='font-family:Consolas;color:black'>u_texture</span></span><span
-style='font-family:Consolas;color:black'>,&nbsp;<span class=SpellE>v_texCoord</span>)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>We also set the render state of the ground material using
-the <span class=SpellE><span class=GramE><span style='font-family:"Courier New"'>setStateBlock</span></span></span><span
-class=GramE><span style='font-family:"Courier New"'>(</span></span><span
-style='font-family:"Courier New"'>)</span> function. After specifying the
-material of the ground, we specify its texture. The gameplay framework provides
-a <span style='font-family:"Courier New"'>Texture</span> class that is designed
-to make this really easy. We just construct a <span style='font-family:"Courier New"'>Texture</span>
-object, <span class=SpellE><span style='font-family:"Courier New"'>groundTexture</span></span>,
-by specifying the location of a PNG file that we want to apply to the mesh. The
-second parameter, a Boolean, indicates whether or not <span class=SpellE>mipmaps</span>
-should be generated. <span class=SpellE>Mipmaps</span> are <span class=SpellE>precalculated</span>,
-resized versions of the original texture image. Using <span class=SpellE>mipmapping</span>
-speeds up rendering and reduces artifacts caused by anti-aliasing. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>Texture::Sampler*&nbsp;groundSampler&nbsp;=&nbsp;groundMaterial-&gt;<span
-class=GramE>getParameter(</span></span><span style='font-family:Consolas;
-color:#A31515'>&quot;u_diffuseTexture&quot;</span><span style='font-family:
-Consolas;color:black'>)-&gt;<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                         </span><span style='mso-spacerun:yes'>         </span><span
-class=SpellE><span class=GramE>setValue</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/asphalt.png&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;</span><span style='font-family:
-Consolas;color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next, we set the wrap mode of the texture. The first <span
-style='font-family:"Courier New"'>true</span> parameter specifies that the
-texture should repeat horizontally, the second <span style='font-family:"Courier New"'>true</span>
-parameter says to also repeat vertically. This allows the ground texture to
-fill the screen. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
-10.0pt;font-family:Consolas;color:black'>groundSampler</span></span></span><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>-&gt;<span
-class=SpellE>setWrapMode</span>(Texture::REPEAT,&nbsp;Texture::REPEAT);</span><span
-style='font-size:10.0pt'><o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next, we set other texture characteristics for the material
-that we just created. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:black'>groundMaterial</span></span><span style='font-family:Consolas;
-color:black'>-&gt;getParameter(</span><span style='font-family:Consolas;
-color:#A31515'>&quot;u_worldViewProjectionMatrix&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>               </span><span style='mso-spacerun:yes'>                                   </span>&amp;_<span
-class=SpellE>groundWorldViewProjectionMatrix</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:black'>groundMaterial</span></span><span style='font-family:Consolas;
-color:black'>-&gt;getParameter(</span><span style='font-family:Consolas;
-color:#A31515'>&quot;u_textureRepeat&quot;</span><span style='font-family:Consolas;
-color:black'>)-&gt;setValue(Vector2(WORLD_SIZE/2, <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                                  </span>WORLD_SIZE/2));<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:black'>groundMaterial</span></span><span style='font-family:Consolas;
-color:black'>-&gt;getParameter(</span><span style='font-family:Consolas;
-color:#A31515'>&quot;u_textureOffset&quot;</span><span style='font-family:Consolas;
-color:black'>)-&gt;setValue(&amp;_groundUVTransform);</span><span
-style='font-size:12.0pt;font-family:Consolas;color:black'><o:p></o:p></span></pre>
-
-<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Lastly, we release all of the objects that are owned by mesh
-instances. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>SAFE_<span
-class=GramE>RELEASE(</span><span class=SpellE>groundMesh</span>);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This setup is repeated for the board, wheels, and gradient.<a
-name="d4e3_id"></a></p>
-
-<h2><a name="_Toc322506093">Updating the game</a></h2>
-
-<p class=MsoNormal><a name="d4e10_id"></a>A key part of this sample and any
-game or animation is gathering user input and updating the state of the game so
-that the input is reflected when the game world is rendered. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>So, in the overridden <span class=GramE><span
-style='font-family:"Courier New"'>update(</span></span><span style='font-family:
-"Courier New"'>)</span> method, you have to gather input and update game state.
-For the Longboard sample, you need to know how the user has moved the tablet.
-Gameplay uses the terms pitch and roll, which are commonly used when describing
-the motion of an aircraft, for the two motions we need to capture. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>In gameplay, you can get the pitch and roll with a single
-method call: <span class=SpellE><span class=GramE><span style='font-family:
-"Courier New"'>getAccelerometerValues</span></span></span><span class=GramE><span
-style='font-family:"Courier New"'>(</span></span><span style='font-family:"Courier New"'>&amp;<span
-class=SpellE>pitch,&amp;roll</span>)</span>. In the code snippet below, the
-pitch and roll are read and clamped so they fall between a preset maximum and
-minimum value. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Query&nbsp;the&nbsp;accelerometer&nbsp;values.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>float</span></span><span style='font-family:Consolas;color:black'>&nbsp;pitch,&nbsp;roll;<o:p></o:p></span></pre><pre
-style='background:white'><span class=SpellE><span class=GramE><span
-style='font-family:Consolas;color:black'>getAccelerometerValues</span></span></span><span
-class=GramE><span style='font-family:Consolas;color:black'>(</span></span><span
-style='font-family:Consolas;color:black'>&amp;pitch,&nbsp;&amp;roll);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Clamp&nbsp;angles</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:black'>pitch</span></span><span style='font-family:Consolas;color:black'>&nbsp;=&nbsp;max(min(-pitch,&nbsp;PITCH_MAX),&nbsp;PITCH_MIN);<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:black'>roll</span></span><span style='font-family:Consolas;color:black'>&nbsp;=&nbsp;max(min(roll,&nbsp;ROLL_MAX),&nbsp;-ROLL_MAX);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next, the throttle is calculated based on the pitch angle of
-the tablet. You can think of the throttle value as representing how far down
-the gas pedal is pressed. The sound of the clacking wheels is then adjusted to
-match the throttle and the velocity of the board is updated accordingly. Notice
-that we're using a really simple formula for velocity here that ignores
-acceleration. In games, you don't have to apply real physics; sometimes it's
-just not necessary. In fact, in some cases making the physics too realistic can
-ruin the playability of a game. </p>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>float</span></span><span style='font-family:Consolas;color:black'>&nbsp;throttle&nbsp;=&nbsp;1.0f&nbsp;-&nbsp;((pitch&nbsp;-&nbsp;PITCH_MIN)&nbsp;/&nbsp;PITCH_RANGE);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>if</span></span><span style='font-family:Consolas;color:black'>&nbsp;(throttle&nbsp;&gt;&nbsp;0.0f)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;(_<span class=SpellE>wheelsSound</span>-&gt;<span
-class=SpellE>getState</span>()&nbsp;!=&nbsp;<span class=SpellE>AudioSource</span>::PLAYING)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>wheelsSound</span>-&gt;<span class=GramE>play(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>wheelsSound</span>-&gt;<span class=SpellE><span class=GramE>setPitch</span></span><span
-class=GramE>(</span>throttle);<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>else</span></span><span style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>wheelsSound</span>-&gt;<span class=GramE>stop(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_velocity&nbsp;=&nbsp;VELOCITY_MIN_MS&nbsp;+&nbsp;((VELOCITY_MAX_MS&nbsp;-&nbsp;VELOCITY_MIN_MS)&nbsp;*&nbsp;throttle);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>To look after direction, we create a <span style='font-family:
-"Courier New"'>Matrix</span> object. We then use the <span class=SpellE><span
-class=GramE><span style='font-family:"Courier New"'>createRotationY</span></span></span><span
-class=GramE><span style='font-family:"Courier New"'>(</span></span><span
-style='font-family:"Courier New"'>)</span> method to populate the matrix so
-that it represents a rotation about the y-axis. The calculation takes into
-account the roll input value that we retrieved above and the maximum turn rate.
-The direction of the longboard is stored in a <span style='font-family:"Courier New"'>Vector3</span>
-object and was initialized to (0<span class=GramE>,0,1</span>). So, we apply
-the rotation matrix to the direction vector and then renormalize it. The result
-is a unit vector that points in the new direction. </p>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>static</span></span><span style='font-family:Consolas;color:black'>&nbsp;Matrix&nbsp;<span
-class=SpellE>rotMat</span>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>Matrix::<span class=GramE>createRotationY(</span>MATH_DEG_TO_RAD((TURN_RATE_MAX_MS&nbsp;*&nbsp;elapsedTime)&nbsp;*<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                        </span>(<span
-class=GramE>roll</span>&nbsp;/&nbsp;ROLL_MAX)&nbsp;*&nbsp;throttle),&nbsp;&amp;<span
-class=SpellE>rotMat</span>);<o:p></o:p></span></pre><pre style='background:
-white'><span class=SpellE><span class=GramE><span style='font-family:Consolas;
-color:black'>rotMat.transformVector</span></span></span><span class=GramE><span
-style='font-family:Consolas;color:black'>(</span></span><span style='font-family:
-Consolas;color:black'>&amp;_direction);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_<span
-class=SpellE><span class=GramE>direction.normalize</span></span><span
-class=GramE>(</span>);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next we transform the ground, the longboard wheels, and the
-board itself (including tilting it appropriately). Again, we use the matrices
-and matrix operations provided by the gameplay library. In this case, that
-includes some perspective matrices. Note that we don't actually move the board
-itself, but instead we move the ground under it to simulate the board moving. </p>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>Matrix::<span
-class=GramE>multiply(</span>rotMat,&nbsp;_groundWorldMatrix,&nbsp;&amp;_groundWorldMatrix);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>Matrix::<span
-class=GramE>multiply(</span>_<span class=SpellE>viewProjectionMatrix</span>,&nbsp;_<span
-class=SpellE>groundWorldMatrix</span>,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>            </span><span style='mso-spacerun:yes'>     </span>&amp;_<span
-class=SpellE>groundWorldViewProjectionMatrix</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>Matrix::<span
-class=SpellE><span class=GramE>createScale</span></span><span class=GramE>(</span>1.2f,&nbsp;1.2f,&nbsp;1.2f,&nbsp;&amp;_<span
-class=SpellE>wheelsWorldMatrix</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_<span
-class=SpellE><span class=GramE>wheelsWorldMatrix.translate</span></span><span
-class=GramE>(</span>roll&nbsp;/&nbsp;ROLL_MAX&nbsp;*&nbsp;0.05f,&nbsp;0,&nbsp;0.05f);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_<span
-class=SpellE><span class=GramE>wheelsWorldMatrix.rotateY</span></span><span
-class=GramE>(</span>-MATH_DEG_TO_RAD(roll&nbsp;*&nbsp;0.45f));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>Matrix::<span
-class=GramE>multiply(</span>_<span class=SpellE>viewProjectionMatrix</span>,&nbsp;_<span
-class=SpellE>wheelsWorldMatrix</span>,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                 </span>&amp;_<span
-class=SpellE>wheelsWorldViewProjectionMatrix</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>Matrix::<span
-class=SpellE><span class=GramE>createScale</span></span><span class=GramE>(</span>1.25f,&nbsp;1.25f,&nbsp;1.25f,&nbsp;&amp;_<span
-class=SpellE>boardWorldMatrix</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_<span
-class=SpellE><span class=GramE>boardWorldMatrix.translate</span></span><span
-class=GramE>(</span>0,&nbsp;0,&nbsp;0.65f);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_<span
-class=SpellE><span class=GramE>boardWorldMatrix.rotateZ</span></span><span
-class=GramE>(</span>-MATH_DEG_TO_RAD(roll&nbsp;*&nbsp;0.5f));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_<span
-class=SpellE><span class=GramE>boardWorldMatrix.rotateY</span></span><span
-class=GramE>(</span>-MATH_DEG_TO_RAD(roll&nbsp;*&nbsp;0.1f));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>Matrix::<span
-class=GramE>multiply(</span>_<span class=SpellE>viewProjectionMatrix</span>,&nbsp;_<span
-class=SpellE>boardWorldMatrix</span>,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                 </span>&amp;_<span
-class=SpellE>boardWorldViewProjectionMatrix</span>);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Using the following code, we make it look like the board is
-moving by transforming the ground's texture coordinates. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_groundUVTransform.x&nbsp;+=&nbsp;-_direction.x&nbsp;*&nbsp;(_velocity&nbsp;*&nbsp;elapsedTime);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_groundUVTransform.y&nbsp;+=&nbsp;-_direction.z&nbsp;*&nbsp;(_velocity&nbsp;*&nbsp;elapsedTime);<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>if</span></span><span style='font-family:Consolas;color:black'>&nbsp;(_<span
-class=SpellE>groundUVTransform.x</span>&nbsp;&gt;=&nbsp;1.0f)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>groundUVTransform.x</span>&nbsp;=&nbsp;1.0f&nbsp;-&nbsp;_<span
-class=SpellE>groundUVTransform.x</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre><pre
-style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>if</span></span><span style='font-family:Consolas;color:black'>&nbsp;(_<span
-class=SpellE>groundUVTransform.y</span>&nbsp;&gt;=&nbsp;1.0f)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>groundUVTransform.y</span>&nbsp;=&nbsp;1.0f&nbsp;-&nbsp;_<span
-class=SpellE>groundUVTransform.y</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<h2><a name="_Toc322506094"></a><a name="d5e3_id"></a><span style='mso-bookmark:
-_Toc322506094'>Rendering the game</span></h2>
-
-<p class=MsoNormal><a name="d5e10_id"></a>The <span class=GramE><span
-style='font-family:"Courier New"'>render(</span></span><span style='font-family:
-"Courier New"'>)</span> method for our sample is just a few lines of code. We
-need all of our game entities to render -or draw- themselves on the screen. So,
-we clear the color and depth buffers and call each game entity's <span
-class=GramE><span style='font-family:"Courier New"'>draw(</span></span><span
-style='font-family:"Courier New"'>)</span> method. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>LongboardGame</span>::render(</span><span style='font-family:Consolas;
-color:blue'>float</span><span style='font-family:Consolas;color:black'>&nbsp;elapsedTime)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Clear&nbsp;the&nbsp;color&nbsp;and&nbsp;depth&nbsp;buffers.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>clear(</span>CLEAR_COLOR,&nbsp;Vector4::one(),&nbsp;1.0f,&nbsp;0);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Draw&nbsp;the&nbsp;scene</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_ground-&gt;<span
-class=GramE>draw(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_wheels-&gt;<span
-class=GramE>draw(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_board-&gt;<span
-class=GramE>draw(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_gradient-&gt;<span
-class=GramE>draw(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Again, gameplay abstracts away a complex process - that of
-rendering a game entity in this case. Under the covers, these objects are
-represented by instances of the <span style='font-family:"Courier New"'>Model</span>
-class. </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>So that's it, the game has been set up, updated, and
-rendered and is now ready to launch and play!<a name="d5e33_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b><span style='font-size:18.0pt;font-family:"Arial","sans-serif"'>Try
-it yourself<o:p></o:p></span></b></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The gameplay library is designed to make it really easy to
-create simple games. After you understand how the Longboard sample is put together,
-try changing some things. Start with simple stuff, such as the texture files or
-some of the constants. When you really have the hang of things, try creating
-your own game from scratch using Longboard nearby as a cheat sheet. Have fun! <a
-name="d6e3_id"></a></p>
-
-<h2><a name="_Toc322506095">License</a></h2>
-
-<p class=MsoNormal>The project is open sourced under the Apache 2.0 license.</p>
-
-<h3>Disclaimer</h3>
-
-<p class=MsoNormal>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY
-OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
-OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>©2012 Research <span class=GramE>In</span> Motion Limited.
-All rights reserved. BlackBerry®, RIM®, Research In Motion®, and related
-trademarks, names, and logos are the property of Research In Motion Limited and
-are registered and/or used in the U.S. and countries around the world.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Android is a trademark of Google Inc. Apache is a trademark
-of The Apache Software Foundation. Apple, iPhone, iPad, Mac OS, TrueType, and <span
-class=SpellE>Xcode</span> are trademarks of Apple Inc. Bluetooth is a trademark
-of Bluetooth SIG. COLLADA and OpenGL are trademarks of <span class=SpellE>Khronos</span>
-Group Inc. Eclipse is a trademark of Eclipse Foundation, Inc. FBX and Maya are
-trademarks of Autodesk, Inc. <span class=SpellE>GitHub</span> is a trademark of
-<span class=SpellE>Github</span>, LLC. Linux is a trademark of Linus Torvalds.
-Microsoft, Windows, and Visual Studio are trademarks of Microsoft Corporation.
-QNX and Momentics are trademarks of QNX Software Systems Limited. All other
-trademarks are the property of their respective owners.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This documentation including all documentation incorporated
-by reference herein such as documentation provided or made available at <u><span
-style='color:blue'><a href="http://www.blackberry.com/go/docs"><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>www.blackberry.com/go/docs</span></span></a></span></u>
-is provided or made accessible &quot;AS IS&quot; and &quot;AS AVAILABLE&quot;
-and without condition, endorsement, guarantee, representation, or warranty of
-any kind by Research In Motion Limited and its affiliated companies
-(&quot;RIM&quot;) and RIM assumes no responsibility for any typographical,
-technical, or other inaccuracies, errors, or omissions in this documentation.
-In order to protect RIM proprietary and confidential information and/or trade
-secrets, this documentation may describe some aspects of RIM technology in
-generalized terms. RIM reserves the right to periodically change information
-that is contained in this documentation; however, RIM makes no commitment to
-provide any such changes, updates, enhancements, or other additions to this
-documentation to you in a timely manner or at all.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This documentation might contain references to third-party
-sources of information, hardware or software, products or services including
-components and content such as content protected by copyright and/or
-third-party web sites (collectively the &quot;Third Party Products and
-Services&quot;). RIM does not control, and is not responsible for, any Third
-Party Products and Services including, without limitation the content,
-accuracy, copyright compliance, compatibility, performance, trustworthiness,
-legality, decency, links, or any other aspect of Third Party Products and
-Services. The inclusion of a reference to Third Party Products and Services in
-this documentation does not imply endorsement by RIM of the Third Party
-Products and Services or the third party in any way.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>EXCEPT TO THE EXTENT SPECIFICALLY PROHIBITED BY APPLICABLE
-LAW IN YOUR JURISDICTION, ALL CONDITIONS, ENDORSEMENTS, GUARANTEES,
-REPRESENTATIONS, OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-WITHOUT LIMITATION, ANY CONDITIONS, ENDORSEMENTS, GUARANTEES, REPRESENTATIONS
-OR WARRANTIES OF DURABILITY, FITNESS FOR A PARTICULAR PURPOSE OR USE,
-MERCHANTABILITY, MERCHANTABLE QUALITY, NON-INFRINGEMENT, SATISFACTORY QUALITY,
-OR TITLE, OR ARISING FROM A STATUTE OR CUSTOM OR A COURSE OF DEALING OR USAGE
-OF TRADE, OR RELATED TO THE DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCE
-OF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES
-REFERENCED HEREIN, ARE HEREBY EXCLUDED. YOU MAY ALSO HAVE OTHER RIGHTS THAT
-VARY BY STATE OR PROVINCE. SOME JURISDICTIONS MAY NOT ALLOW THE EXCLUSION OR
-LIMITATION OF IMPLIED WARRANTIES AND CONDITIONS. TO THE EXTENT PERMITTED BY
-LAW, ANY IMPLIED WARRANTIES OR CONDITIONS RELATING TO THE DOCUMENTATION TO THE
-EXTENT THEY CANNOT BE EXCLUDED AS SET OUT ABOVE, BUT CAN BE LIMITED, ARE HEREBY
-LIMITED TO NINETY (90) DAYS FROM THE DATE YOU FIRST ACQUIRED THE DOCUMENTATION
-OR THE ITEM THAT IS THE SUBJECT OF THE CLAIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, IN NO EVENT SHALL RIM BE LIABLE FOR ANY TYPE OF DAMAGES RELATED
-TO THIS DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCE OF ANY
-SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES
-REFERENCED HEREIN INCLUDING WITHOUT LIMITATION ANY OF THE FOLLOWING DAMAGES:
-DIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR
-AGGRAVATED DAMAGES, DAMAGES FOR LOSS OF PROFITS OR REVENUES, FAILURE TO REALIZE
-ANY EXPECTED SAVINGS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS
-OF BUSINESS OPPORTUNITY, OR CORRUPTION OR LOSS OF DATA, FAILURES TO TRANSMIT OR
-RECEIVE ANY DATA, PROBLEMS ASSOCIATED WITH ANY APPLICATIONS USED IN CONJUNCTION
-WITH RIM PRODUCTS OR SERVICES, DOWNTIME COSTS, LOSS OF THE USE OF RIM PRODUCTS
-OR SERVICES OR ANY PORTION THEREOF OR OF ANY AIRTIME SERVICES, COST OF
-SUBSTITUTE GOODS, COSTS OF COVER, FACILITIES OR SERVICES, COST OF CAPITAL, OR
-OTHER SIMILAR PECUNIARY LOSSES, WHETHER OR NOT SUCH DAMAGES WERE FORESEEN OR
-UNFORESEEN, AND EVEN IF RIM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, RIM SHALL HAVE NO OTHER OBLIGATION, DUTY, OR LIABILITY WHATSOEVER
-IN CONTRACT, TORT, OR OTHERWISE TO YOU INCLUDING ANY LIABILITY FOR NEGLIGENCE
-OR STRICT LIABILITY.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>THE LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS HEREIN SHALL
-APPLY: (A) IRRESPECTIVE OF THE NATURE OF THE CAUSE OF ACTION, DEMAND, OR ACTION
-BY YOU INCLUDING BUT NOT LIMITED TO BREACH OF CONTRACT, NEGLIGENCE, TORT,
-STRICT LIABILITY OR ANY OTHER LEGAL THEORY AND SHALL SURVIVE A FUNDAMENTAL
-BREACH OR BREACHES OR THE FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR
-OF ANY REMEDY CONTAINED HEREIN; AND (B) TO RIM AND ITS AFFILIATED COMPANIES,
-THEIR SUCCESSORS, ASSIGNS, AGENTS, SUPPLIERS (INCLUDING AIRTIME SERVICE
-PROVIDERS), AUTHORIZED RIM DISTRIBUTORS (ALSO INCLUDING AIRTIME SERVICE
-PROVIDERS) AND THEIR RESPECTIVE DIRECTORS, EMPLOYEES, AND INDEPENDENT
-CONTRACTORS.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-spacerun:yes'> </span>IN ADDITION TO THE
-LIMITATIONS AND EXCLUSIONS SET OUT ABOVE, IN NO EVENT SHALL ANY DIRECTOR,
-EMPLOYEE, AGENT, DISTRIBUTOR, SUPPLIER, INDEPENDENT CONTRACTOR OF RIM OR ANY
-AFFILIATES OF RIM HAVE ANY LIABILITY ARISING FROM OR RELATED TO THE
-DOCUMENTATION.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Prior to subscribing for, installing, or using any Third
-Party Products and Services, it is your responsibility to ensure that your
-airtime service provider has agreed to support all of their features. Some
-airtime service providers might not offer Internet browsing functionality with
-a subscription to the BlackBerry® Internet Service. Check with your service
-provider for availability, roaming arrangements, service plans and features.
-Installation or use of Third Party Products and Services with RIM's products
-and services may require one or more patent, trademark, copyright, or other
-licenses in order to avoid infringement or violation of third party rights. You
-are solely responsible for determining whether to use Third Party Products and
-Services and if any third party licenses are required to do so. If required you
-are responsible for acquiring them. You should not install or use Third Party
-Products and Services until all necessary licenses have been acquired. Any
-Third Party Products and Services that are provided with RIM's products and
-services are provided as a convenience to you and are provided &quot;AS
-IS&quot; with no express or implied conditions, endorsements, guarantees,
-representations, or warranties of any kind by RIM and RIM assumes no liability
-whatsoever, in relation thereto. Your use of Third Party Products and Services
-shall be governed by and subject to you agreeing to the terms of separate
-licenses and other agreements applicable thereto with third parties, except to
-the extent expressly covered by a license or other agreement with RIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Certain features outlined in this documentation require a
-minimum version of BlackBerry® Enterprise Server, BlackBerry® Desktop Software,
-and/or BlackBerry® Device Software.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The terms of use of any RIM product or service are set out
-in a separate license or other agreement with RIM applicable thereto. NOTHING IN
-THIS DOCUMENTATION IS INTENDED TO SUPERSEDE ANY EXPRESS WRITTEN AGREEMENTS OR
-WARRANTIES PROVIDED BY RIM FOR PORTIONS OF ANY RIM PRODUCT OR SERVICE OTHER
-THAN THIS DOCUMENTATION.</p>
-
-<p class=MsoNormal><a name=d20e152a1310></a><a name=d20e156a1310></a><a
-name=d20e159a1310></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Research <span class=GramE>In</span> Motion Limited</p>
-
-<p class=MsoNormal>295 Phillip Street</p>
-
-<p class=MsoNormal>Waterloo, ON N2L 3W8</p>
-
-<p class=MsoNormal>Canada</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Published in Canada</p>
-
-</div>
-
-</body>
-
-</html>

BIN
docs/sample01-longboard.pdf


+ 0 - 2
docs/sample01-longboard_files/colorschememapping.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

+ 0 - 16
docs/sample01-longboard_files/filelist.xml

@@ -1,16 +0,0 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../sample01-longboard.html"/>
- <o:File HRef="item0016.xml"/>
- <o:File HRef="props017.xml"/>
- <o:File HRef="themedata.thmx"/>
- <o:File HRef="colorschememapping.xml"/>
- <o:File HRef="image001.png"/>
- <o:File HRef="image002.png"/>
- <o:File HRef="image003.png"/>
- <o:File HRef="image004.png"/>
- <o:File HRef="image005.png"/>
- <o:File HRef="image006.png"/>
- <o:File HRef="image007.png"/>
- <o:File HRef="image008.png"/>
- <o:File HRef="filelist.xml"/>
-</xml>

BIN
docs/sample01-longboard_files/image001.png


BIN
docs/sample01-longboard_files/image002.png


BIN
docs/sample01-longboard_files/image003.png


BIN
docs/sample01-longboard_files/image004.png


BIN
docs/sample01-longboard_files/image005.png


BIN
docs/sample01-longboard_files/image006.png


BIN
docs/sample01-longboard_files/image007.png


BIN
docs/sample01-longboard_files/image008.png


+ 0 - 1
docs/sample01-longboard_files/item0016.xml

@@ -1 +0,0 @@
-<b:Sources SelectedStyle="\APA.XSL" StyleName="APA" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"></b:Sources>

+ 0 - 2
docs/sample01-longboard_files/props017.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<ds:datastoreItem ds:itemID="{412AB1DB-13A9-49AA-B104-29A38098C827}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>

BIN
docs/sample01-longboard_files/themedata.thmx


BIN
docs/sample02-spaceship.doc


+ 0 - 3795
docs/sample02-spaceship.html

@@ -1,3795 +0,0 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 14">
-<meta name=Originator content="Microsoft Word 14">
-<link rel=File-List href="sample02-spaceship_files/filelist.xml">
-<link rel=Edit-Time-Data href="sample02-spaceship_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>user</o:Author>
-  <o:LastAuthor>Sean Paul Taylor</o:LastAuthor>
-  <o:Revision>5</o:Revision>
-  <o:TotalTime>121</o:TotalTime>
-  <o:LastPrinted>2012-07-24T19:25:00Z</o:LastPrinted>
-  <o:Created>2012-07-24T19:25:00Z</o:Created>
-  <o:LastSaved>2012-07-24T19:27:00Z</o:LastSaved>
-  <o:Pages>14</o:Pages>
-  <o:Words>6940</o:Words>
-  <o:Characters>39563</o:Characters>
-  <o:Company>Research In Motion Limited</o:Company>
-  <o:Lines>329</o:Lines>
-  <o:Paragraphs>92</o:Paragraphs>
-  <o:CharactersWithSpaces>46411</o:CharactersWithSpaces>
-  <o:Version>14.00</o:Version>
- </o:DocumentProperties>
- <o:OfficeDocumentSettings>
-  <o:AllowPNG/>
- </o:OfficeDocumentSettings>
-</xml><![endif]-->
-<link rel=dataStoreItem href="sample02-spaceship_files/item0018.xml"
-target="sample02-spaceship_files/props019.xml">
-<link rel=themeData href="sample02-spaceship_files/themedata.thmx">
-<link rel=colorSchemeMapping
-href="sample02-spaceship_files/colorschememapping.xml">
-<!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackMoves>false</w:TrackMoves>
-  <w:TrackFormatting/>
-  <w:PunctuationKerning/>
-  <w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
-  <w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
-  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
-  <w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
-  <w:UseMarginsForDrawingGridOrigin/>
-  <w:ValidateAgainstSchemas>false</w:ValidateAgainstSchemas>
-  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
-  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
-  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
-  <w:DoNotUnderlineInvalidXML/>
-  <w:DoNotPromoteQF/>
-  <w:LidThemeOther>EN-US</w:LidThemeOther>
-  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
-  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
-  <w:DoNotShadeFormData/>
-  <w:Compatibility>
-   <w:SpaceForUL/>
-   <w:BalanceSingleByteDoubleByteWidth/>
-   <w:DoNotLeaveBackslashAlone/>
-   <w:ULTrailSpace/>
-   <w:DoNotExpandShiftReturn/>
-   <w:FootnoteLayoutLikeWW8/>
-   <w:ShapeLayoutLikeWW8/>
-   <w:AlignTablesRowByRow/>
-   <w:ForgetLastTabAlignment/>
-   <w:AdjustLineHeightInTable/>
-   <w:LayoutRawTableWidth/>
-   <w:LayoutTableRowsApart/>
-   <w:UseWord97LineBreakingRules/>
-   <w:BreakWrappedTables/>
-   <w:SelectEntireFieldWithStartOrEnd/>
-   <w:UseWord2002TableStyleRules/>
-   <w:DontUseIndentAsNumberingTabStop/>
-   <w:FELineBreak11/>
-   <w:WW11IndentRules/>
-   <w:DontAutofitConstrainedTables/>
-   <w:AutofitLikeWW11/>
-   <w:UnderlineTabInNumList/>
-   <w:HangulWidthLikeWW11/>
-   <w:UseNormalStyleForList/>
-   <w:SplitPgBreakAndParaMark/>
-   <w:DontVertAlignCellWithSp/>
-   <w:DontBreakConstrainedForcedTables/>
-   <w:DontVertAlignInTxbx/>
-   <w:Word11KerningPairs/>
-   <w:CachedColBalance/>
-   <w:UseFELayout/>
-  </w:Compatibility>
-  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
-  <m:mathPr>
-   <m:mathFont m:val="Cambria Math"/>
-   <m:brkBin m:val="before"/>
-   <m:brkBinSub m:val="&#45;-"/>
-   <m:smallFrac m:val="off"/>
-   <m:dispDef/>
-   <m:lMargin m:val="0"/>
-   <m:rMargin m:val="0"/>
-   <m:defJc m:val="centerGroup"/>
-   <m:wrapIndent m:val="1440"/>
-   <m:intLim m:val="subSup"/>
-   <m:naryLim m:val="undOvr"/>
-  </m:mathPr></w:WordDocument>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
-  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
-  LatentStyleCount="267">
-  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 1"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 2"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 3"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 4"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 5"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 6"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
-  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
-  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
-  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
-  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
-  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
-  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
-  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Table Grid"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
-  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 1"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
-  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
-  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
-  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 2"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 3"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 4"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 5"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 6"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
-  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
-  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
-  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
-  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
-  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
-  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
- </w:LatentStyles>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:Calibri;
-	panose-1:2 15 5 2 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-520092929 1073786111 9 0 415 0;}
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-520081665 -1073717157 41 0 66047 0;}
-@font-face
-	{font-family:"Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:"\@Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:Consolas;
-	panose-1:2 11 6 9 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:modern;
-	mso-font-pitch:fixed;
-	mso-font-signature:-520092929 1073806591 9 0 415 0;}
-@font-face
-	{font-family:"MS Sans Serif";
-	panose-1:0 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-format:other;
-	mso-font-pitch:auto;
-	mso-font-signature:3 0 0 0 1 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:"Times New Roman";}
-h1
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 1 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:24.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:Arial;
-	color:#00AAE2;
-	mso-font-kerning:0pt;}
-h2
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:Subtitle;
-	mso-style-link:"Heading 2 Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:12.0pt;
-	margin-left:0in;
-	page-break-before:always;
-	mso-pagination:none;
-	mso-outline-level:2;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	mso-bidi-font-weight:normal;}
-h3
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 3 Char";
-	mso-style-next:Normal;
-	margin-top:24.0pt;
-	margin-right:0in;
-	margin-bottom:6.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	page-break-after:avoid;
-	mso-outline-level:3;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:18.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:Arial;}
-h4
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 4 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:4;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:10.0pt;
-	font-family:"Arial","sans-serif";}
-h5
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 5 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:5;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:9.0pt;
-	font-family:"Arial","sans-serif";}
-h6
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 6 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:6;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:8.0pt;
-	font-family:"Arial","sans-serif";}
-p.MsoToc1, li.MsoToc1, div.MsoToc1
-	{mso-style-update:auto;
-	mso-style-noshow:yes;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoTitle, li.MsoTitle, div.MsoTitle
-	{mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Title Char";
-	mso-style-next:Normal;
-	margin-top:12.0pt;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;}
-p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
-	{mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Subtitle Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	mso-outline-level:2;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-a:link, span.MsoHyperlink
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	color:blue;
-	mso-themecolor:hyperlink;
-	mso-style-textfill-fill-color:blue;
-	mso-style-textfill-fill-themecolor:hyperlink;
-	mso-style-textfill-fill-alpha:100.0%;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	color:purple;
-	mso-themecolor:followedhyperlink;
-	text-decoration:underline;
-	text-underline:single;}
-pre
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-link:"HTML Preformatted Char";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Courier New";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;}
-p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-link:"Balloon Text Char";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:8.0pt;
-	font-family:"Tahoma","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;}
-span.Heading1Char
-	{mso-style-name:"Heading 1 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 1";
-	mso-ansi-font-size:24.0pt;
-	mso-bidi-font-size:24.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:Arial;
-	color:#00AAE2;
-	mso-style-textfill-fill-color:#00AAE2;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;}
-span.SubtitleChar
-	{mso-style-name:"Subtitle Char";
-	mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Subtitle;
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:"Malgun Gothic";
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	mso-style-textfill-fill-color:#009ACD;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading2Char
-	{mso-style-name:"Heading 2 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 2";
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-ascii-font-family:Arial;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Arial;
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	mso-style-textfill-fill-color:#009ACD;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading3Char
-	{mso-style-name:"Heading 3 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 3";
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Malgun Gothic";
-	mso-hansi-font-family:"Malgun Gothic";
-	mso-bidi-font-family:Arial;
-	font-weight:bold;}
-span.Heading4Char
-	{mso-style-name:"Heading 4 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 4";
-	mso-ansi-font-size:14.0pt;
-	mso-bidi-font-size:14.0pt;
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;}
-span.Heading5Char
-	{mso-style-name:"Heading 5 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 5";
-	mso-ansi-font-size:13.0pt;
-	mso-bidi-font-size:13.0pt;
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;
-	font-style:italic;}
-span.Heading6Char
-	{mso-style-name:"Heading 6 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 6";
-	font-family:"Times New Roman","serif";
-	mso-ascii-font-family:"Times New Roman";
-	mso-hansi-font-family:"Times New Roman";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;}
-span.HTMLPreformattedChar
-	{mso-style-name:"HTML Preformatted Char";
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"HTML Preformatted";
-	mso-ansi-font-size:10.0pt;
-	mso-bidi-font-size:10.0pt;
-	font-family:"Courier New";
-	mso-ascii-font-family:"Courier New";
-	mso-hansi-font-family:"Courier New";
-	mso-bidi-font-family:"Courier New";}
-span.TitleChar
-	{mso-style-name:"Title Char";
-	mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Title;
-	mso-ansi-font-size:16.0pt;
-	mso-bidi-font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;}
-p.tableheader, li.tableheader, div.tableheader
-	{mso-style-name:"table header";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	font-weight:bold;}
-p.link, li.link, div.link
-	{mso-style-name:link;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Times New Roman","serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;}
-p.tabletitle, li.tabletitle, div.tabletitle
-	{mso-style-name:"table title";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	font-weight:bold;}
-span.BalloonTextChar
-	{mso-style-name:"Balloon Text Char";
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Balloon Text";
-	mso-ansi-font-size:8.0pt;
-	mso-bidi-font-size:8.0pt;
-	font-family:"Tahoma","sans-serif";
-	mso-ascii-font-family:Tahoma;
-	mso-hansi-font-family:Tahoma;
-	mso-bidi-font-family:Tahoma;}
-.MsoChpDefault
-	{mso-style-type:export-only;
-	mso-default-props:yes;
-	font-family:"Calibri","sans-serif";
-	mso-ascii-font-family:Calibri;
-	mso-ascii-theme-font:minor-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-hansi-font-family:Calibri;
-	mso-hansi-theme-font:minor-latin;
-	mso-bidi-font-family:Calibri;}
- /* Page Definitions */
- @page
-	{mso-page-border-surround-header:no;
-	mso-page-border-surround-footer:no;}
-@page WordSection1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.0in 1.0in 1.0in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.WordSection1
-	{page:WordSection1;}
- /* List Definitions */
- @list l0
-	{mso-list-id:255598560;
-	mso-list-type:hybrid;
-	mso-list-template-ids:613182132 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l0:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l0:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l0:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l0:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l0:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l0:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l1
-	{mso-list-id:544026098;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-740927492 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l1:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l1:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l1:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l1:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l1:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l1:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l2
-	{mso-list-id:602151313;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-436426314 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l2:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l2:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l2:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l2:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l2:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l2:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l3
-	{mso-list-id:1530215633;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-1443196532 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l3:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l3:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l3:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l3:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l3:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l3:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l4
-	{mso-list-id:1663463519;
-	mso-list-type:hybrid;
-	mso-list-template-ids:1708000968 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l4:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l4:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l4:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l4:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l4:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l4:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l5
-	{mso-list-id:1690180894;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-1615432920 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l5:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l5:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l5:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l5:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l5:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l5:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l5:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l5:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l5:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l6
-	{mso-list-id:1936206450;
-	mso-list-type:hybrid;
-	mso-list-template-ids:405580698 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l6:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l6:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l6:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l6:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l6:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l6:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l6:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l6:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l6:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l7
-	{mso-list-id:2074229870;
-	mso-list-type:hybrid;
-	mso-list-template-ids:688038156 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l7:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l7:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l7:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l7:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l7:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l7:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l7:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l7:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l7:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-ol
-	{margin-bottom:0in;}
-ul
-	{margin-bottom:0in;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-ascii-font-family:Calibri;
-	mso-ascii-theme-font:minor-latin;
-	mso-hansi-font-family:Calibri;
-	mso-hansi-theme-font:minor-latin;}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="1033"/>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
-  <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in;text-justify-trim:
-punctuation'>
-
-<div class=WordSection1>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-no-proof:yes'><!--[if gte vml 1]><v:shapetype
- id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
- path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
- <v:stroke joinstyle="miter"/>
- <v:formulas>
-  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
-  <v:f eqn="sum @0 1 0"/>
-  <v:f eqn="sum 0 0 @1"/>
-  <v:f eqn="prod @2 1 2"/>
-  <v:f eqn="prod @3 21600 pixelWidth"/>
-  <v:f eqn="prod @3 21600 pixelHeight"/>
-  <v:f eqn="sum @0 0 1"/>
-  <v:f eqn="prod @6 1 2"/>
-  <v:f eqn="prod @7 21600 pixelWidth"/>
-  <v:f eqn="sum @8 21600 0"/>
-  <v:f eqn="prod @7 21600 pixelHeight"/>
-  <v:f eqn="sum @10 21600 0"/>
- </v:formulas>
- <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
- <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
- style='width:460.5pt;height:91.5pt;visibility:visible;mso-wrap-style:square'>
- <v:imagedata src="sample02-spaceship_files/image001.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img width=614 height=122
-src="sample02-spaceship_files/image002.png" v:shapes="Picture_x0020_1"><![endif]></span></p>
-
-<p class=MsoSubtitle>Tutorial: <span style='font-weight:normal'>Spaceship<br
-clear=all style='page-break-before:always'>
-</span>Contents<span style='font-size:20.0pt;font-family:"Calibri","sans-serif";
-color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-family:"MS Sans Serif","sans-serif";
-color:#00AAE2'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><!--[if supportFields]><span
-style='font-family:"MS Sans Serif","sans-serif";color:#00AAE2'><span
-style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>TOC \o &quot;1-1&quot; \h \z \u <span
-style='mso-element:field-separator'></span></span><![endif]--><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322508018"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Fly a spaceship!</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322508018 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>3</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300038003000310038000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='color:#00AAE2;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322508019"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Designing the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322508019 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>5</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300038003000310039000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322508020"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Initializing the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322508020 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>10</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300038003000320030000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322508021"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Updating the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322508021 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>18</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300038003000320031000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322508022"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Rendering the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322508022 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>26</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300038003000320032000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322508023"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>Ending the game</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322508023 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>29</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300038003000320033000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322508024"><span style='font-family:
-"Times New Roman","serif";color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>L<span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>icense</span></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-begin'></span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'> PAGEREF _Toc322508024 \h </span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'>30</span></span><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003500300038003000320034000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='font-family:"Times New Roman","serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='color:#00AAE2'><o:p></o:p></span></p>
-
-<p class=MsoNormal><!--[if supportFields]><span style='font-family:"MS Sans Serif","sans-serif";
-color:#00AAE2'><span style='mso-element:field-end'></span></span><![endif]--><span
-style='font-family:"MS Sans Serif","sans-serif"'><br clear=all
-style='page-break-before:always'>
-</span><a name="_Toc322508018"><b style='mso-bidi-font-weight:normal'><span
-style='font-size:36.0pt;mso-bidi-font-size:12.0pt;font-family:"Arial","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:major-fareast;
-mso-bidi-font-family:"Times New Roman";color:#00AAE2'>Fly a spaceship!</span></b></a></p>
-
-<p class=MsoNormal><a name="d1e10_id"></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Have you ever wanted to fly a spaceship? Or better yet, fly
-a spaceship in a race against time? Imagine how this would look and feel as a
-game: what kind of ship would you create and how would a player interact with
-it? This tutorial takes you through one possible approach using the gameplay
-library.</p>
-
-<p class=MsoNormal><a name="d1e14_id"></a><u><span style='color:blue'><o:p><span
- style='text-decoration:none'>&nbsp;</span></o:p></span></u></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><v:shape id="Picture_x0020_2" o:spid="_x0000_s1032"
- type="#_x0000_t75" style='position:absolute;margin-left:0;margin-top:0;
- width:450pt;height:240pt;z-index:251660288;visibility:visible;
- mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;
- mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
- mso-wrap-distance-bottom:0;mso-position-horizontal:left;
- mso-position-horizontal-relative:text;mso-position-vertical:absolute;
- mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
- mso-width-relative:page;mso-height-relative:page'>
- <v:imagedata src="sample02-spaceship_files/image003.png" o:title=""/>
- <w:wrap type="square"/>
-</v:shape><![endif]--><![if !vml]><img width=600 height=320
-src="sample02-spaceship_files/image003.png" align=left hspace=12 v:shapes="Picture_x0020_2"><![endif]>This
-tutorial looks at the key steps of the game development life cycle, from
-initial design and requirements to implementation and coding, using the SpaceshipGame
-sample. A significant resource for developing games on mobile and desktop
-platforms is the gameplay library, and it's used extensively here as the glue
-between the application and the underlying OS. <u><span style='color:blue'><o:p></o:p></span></u></p>
-
-<p class=MsoNormal><a name="d1e18_id"></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b><span style='font-size:18.0pt;font-family:"Arial","sans-serif"'>You
-will learn to<o:p></o:p></span></b></p>
-
-<p class=MsoNormal><a name="d1e21_id"></a><a name="d1e22_id"></a><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l3 level1 lfo1'>Design the game<a
-     name="d1e24_id"></a></li>
- <li class=MsoNormal style='mso-list:l3 level1 lfo1'>Set up and initialize the
-     ship and environment<a name="d1e26_id"></a></li>
- <li class=MsoNormal style='mso-list:l3 level1 lfo1'>Handle touch input<a
-     name="d1e28_id"></a></li>
- <li class=MsoNormal style='mso-list:l3 level1 lfo1'>Handle collisions<a
-     name="d1e30_id"></a></li>
- <li class=MsoNormal style='mso-list:l3 level1 lfo1'>Update and render the game<a
-     name="d1e32_id"></a></li>
- <li class=MsoNormal style='mso-list:l3 level1 lfo1'>Reset the game</li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This tutorial also explains how the relevant pieces of the
-gameplay library work and give you some information on creating and importing
-graphics into the application. It is suggested that readers follow along with
-the code in the SpaceshipGame sample.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h2><a name="_Toc322508019"></a><a name="d2e3_id"></a><span style='mso-bookmark:
-_Toc322508019'>Designing the game</span></h2>
-
-<p class=MsoNormal><a name="d2e10_id"></a>Any game involving a spaceship needs
-a few important things:<a name="d2e13_id"></a><a name="d2e14_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l2 level1 lfo2'>An overall goal<a
-     name="d2e16_id"></a></li>
- <li class=MsoNormal style='mso-list:l2 level1 lfo2'>A cool-looking spaceship<a
-     name="d2e18_id"></a></li>
- <li class=MsoNormal style='mso-list:l2 level1 lfo2'>An interesting environment
-     to fly in<a name="d2e20_id"></a></li>
- <li class=MsoNormal style='mso-list:l2 level1 lfo2'>Flight controls that are
-     easy to use and provide feedback<a name="d2e22_id"></a></li>
- <li class=MsoNormal style='mso-list:l2 level1 lfo2'>A pleasing sound</li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Let's talk about one possible approach to these ideas.<a
-name="d2e27_id"></a></p>
-
-<h3>The goal</h3>
-
-<p class=MsoNormal>Before thinking about specific game elements, there needs to
-be an overall goal for the player to accomplish. It could be something as
-simple as getting the spaceship off the ground, or as complex as flying the
-ship through an obstacle course, collecting upgrades as it goes. For the
-purposes of this tutorial, the goal will be somewhere in between: pilot the
-spaceship through a challenging environment with a fixed distance in the
-shortest amount of time possible. </p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_3"
-  o:spid="_x0000_s1031" type="#_x0000_t75" style='position:absolute;
-  margin-left:0;margin-top:-106.45pt;width:196.15pt;height:122.6pt;z-index:251662336;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:absolute;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample02-spaceship_files/image004.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=262 height=163
- src="sample02-spaceship_files/image005.png" v:shapes="Picture_x0020_3"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d2e33_id"></a><a name="d2e34_id"></a></p>
-
-<h3>The cool-looking spaceship</h3>
-
-<p class=MsoNormal>The game needs a spaceship that looks good and feels fun to play
-with. To achieve this, we need to create a spaceship with cool shapes (squares,
-spheres, lots of windows, big antennae, it's all up to you) that is also simple
-enough that the player always knows what the spaceship is doing. For this
-tutorial, the spaceship will be vaguely thimble-shaped (perhaps the designer's
-second hobby is sewing) with some key features that make it easy to use:<a
-name="d2e39_id"></a><a name="d2e40_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l0 level1 lfo3'>The narrow end is up, the
-     wider end is down,<a name="d2e42_id"></a></li>
- <li class=MsoNormal style='mso-list:l0 level1 lfo3'>The wider end will be
-     surrounded by a rotating set of shapes that provide visual cues of
-     velocity,<a name="d2e44_id"></a></li>
- <li class=MsoNormal style='mso-list:l0 level1 lfo3'>An engine exhaust glow
-     effect will be placed under the wider end to give visual cues of thrust
-     magnitude.</li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The spaceship wireframe looks like this:</p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_4"
-  o:spid="_x0000_s1030" type="#_x0000_t75" style='position:absolute;
-  margin-left:0;margin-top:0;width:115.85pt;height:211.75pt;z-index:251664384;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:left;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample02-spaceship_files/image006.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=154 height=282
- src="sample02-spaceship_files/image007.png" v:shapes="Picture_x0020_4"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-</p>
-
-<p class=MsoNormal><a name="d2e49_id"></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The spaceship will also be textured and lighted such that it
-looks like a solid object and is pleasing to the eye.<a name="d2e52_id"></a></p>
-
-<h3>The environment</h3>
-
-<p class=MsoNormal>For the ship to fly, there must be something to fly around
-in. Since this is a spaceship, it could be simple, empty space but that isn't
-very exciting or challenging to a game player. So objects can be put into the
-environment to provide visual cues (such as the impression of movement and
-progress) and tasks for the player to overcome (such as not hitting anything).</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For this tutorial, the spaceship will be travelling down a
-long corridor, such as an asteroid cavity or a wormhole. To make the game
-challenging, the roof and floor of the corridor will be &quot;live&quot; such
-that an impact will slow the ship down and force the player to adjust. The
-corridor itself will be shaped and textured to provide clear motion cues as the
-ship moves along it. The wireframe looks like this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_5"
-  o:spid="_x0000_s1029" type="#_x0000_t75" style='position:absolute;
-  margin-left:0;margin-top:0;width:450pt;height:265.5pt;z-index:251666432;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:left;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample02-spaceship_files/image008.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=600 height=354
- src="sample02-spaceship_files/image008.png" v:shapes="Picture_x0020_5"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d2e60_id"></a></p>
-
-<p class=MsoNormal>To make things a little easier for the game designer, each
-roof and floor segment has been repeated several times to create a longer
-gaming area. The final element in the environment is the background, for which
-a simple PNG graphic will be used.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Because the goal of the game is to reach the end of the
-corridor in the shortest amount of time, there needs to be some feedback
-showing how much time has elapsed since the game started. This will be provided
-using a timer that appears on the screen:</p>
-
-<p class=MsoNormal><a name="d2e66_id"></a><u><span style='color:blue'><o:p><span
- style='text-decoration:none'>&nbsp;</span></o:p></span></u></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><v:shape id="Picture_x0020_6" o:spid="_x0000_s1028"
- type="#_x0000_t75" style='position:absolute;margin-left:0;margin-top:0;
- width:65.25pt;height:30pt;z-index:251668480;visibility:visible;
- mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;
- mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
- mso-wrap-distance-bottom:0;mso-position-horizontal:left;
- mso-position-horizontal-relative:text;mso-position-vertical:absolute;
- mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
- mso-width-relative:page;mso-height-relative:page'>
- <v:imagedata src="sample02-spaceship_files/image009.png" o:title=""/>
- <w:wrap type="square"/>
-</v:shape><![endif]--><![if !vml]><img width=87 height=40
-src="sample02-spaceship_files/image010.png" align=left hspace=12 v:shapes="Picture_x0020_6"><![endif]><u><span
-style='color:blue'><o:p></o:p></span></u></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Once the spaceship reaches the end of the playing area, the
-game will allow the user to start over again, hopefully to get a faster time! <a
-name="d2e69_id"></a></p>
-
-<h3>The flight controls</h3>
-
-<p class=MsoNormal>Now that there's a ship and an environment to fly around in,
-the game controls should be defined. Depending on your platform, there are
-different types of input controls available, such as keyboard, mouse,
-accelerometer, or gyroscope. For this tutorial, we'll consider the platform to
-have a touch screen and use that. It offers an easy input mechanism with
-numerous types of gestures that the game can take advantage of. Since this game
-is all about challenging the player to move the spaceship through a corridor,
-the inputs should be easy to trigger but somewhat difficult to master. It
-should also entice the user to play around with it beyond the strict goals of
-the game. So this is how it'll work:<a name="d2e74_id"></a><a name="d2e75_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l7 level1 lfo4'>The player touches the
-     screen near the ship to activate the throttle,<a name="d2e77_id"></a></li>
- <li class=MsoNormal style='mso-list:l7 level1 lfo4'>The distance between the finger
-     and the center of the ship determines the throttle magnitude,<a
-     name="d2e79_id"></a></li>
- <li class=MsoNormal style='mso-list:l7 level1 lfo4'>The angle between the
-     finger and the horizontal axis of the ship determines the thrust angle,<a
-     name="d2e81_id"></a></li>
- <li class=MsoNormal style='mso-list:l7 level1 lfo4'>If no inputs are applied
-     to the ship, the ship drops as a result of gravity,<a name="d2e83_id"></a></li>
- <li class=MsoNormal style='mso-list:l7 level1 lfo4'>The ship itself tilts
-     around its z axis relative to the throttle magnitude and thrust angle,<a
-     name="d2e85_id"></a></li>
- <li class=MsoNormal style='mso-list:l7 level1 lfo4'>The ship itself rotates
-     around its y axis relative to the throttle magnitude,<a name="d2e87_id"></a></li>
- <li class=MsoNormal style='mso-list:l7 level1 lfo4'>The engine exhaust glow
-     adjusts according to the throttle magnitude.</li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The first four items on the list deal with how a player
-controls the ship and the last three items specify how feedback is provided. As
-you can probably tell, the difficulty for the player will be in adjusting the
-throttle magnitude and thrust angle just enough so that the ship moves forward
-but not so much that it crashes into the roof or the floor. Players can also
-try to improve their times by making the ship go faster (increasing the
-throttle magnitude) while minimizing the loss of forward speed (decreasing
-angular thrust corrections). <a name="d2e94_id"></a></p>
-
-<h3>The pleasing sound</h3>
-
-<p class=MsoNormal>An additional source of feedback for the player will be some
-type of sound that varies with the speed of the spaceship. This provides both
-an audible cue and an extra layer to the atmosphere of the game. A simple
-&quot;oscillating rubber band&quot; sound will be used and its pitch will be
-adjusted to match the throttle of the spaceship (increasing the throttle
-increases the pitch). </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h2><a name="_Toc322508020"></a><a name="d3e3_id"></a><span style='mso-bookmark:
-_Toc322508020'>Initializing the game</span></h2>
-
-<h3><a name="d3e10_id"></a>Creating the elements</h3>
-
-<p class=MsoNormal>Reviewing the game design, you can probably see a few
-elements that need to be created outside of the coding environment. These are:<a
-name="d3e15_id"></a><a name="d3e16_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l5 level1 lfo5'>The cool-looking spaceship<a
-     name="d3e18_id"></a></li>
- <li class=MsoNormal style='mso-list:l5 level1 lfo5'>The font used for the
-     timer<a name="d3e20_id"></a></li>
- <li class=MsoNormal style='mso-list:l5 level1 lfo5'>The corridor, including
-     the roof, floor, and background<a name="d3e22_id"></a></li>
- <li class=MsoNormal style='mso-list:l5 level1 lfo5'>The pleasing sound</li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Gameplay supports the COLLADA digital asset exchange format and
-provides a tool to convert COLLADA documents into the .gpb format that the
-library understands. For the purposes of this tutorial, the spaceship and
-environment scene are included in one file (created in Maya) and the font used
-for the timer is in another file (using a standard TrueType font). The <span
-style='font-family:"Courier New"'>gameplay-encoder</span> tool is used to
-convert these source files into the .gpb format, which can then be used
-programmatically from the game code, like this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='mso-pagination:widow-orphan;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
-background:white;mso-layout-grid-align:auto;text-autospace:ideograph-other'><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>_font&nbsp;=&nbsp;Font::create(</span><span
-style='font-size:10.0pt;font-family:Consolas;color:#A31515'>&quot;res/airstrip28.gpb&quot;</span><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>);<o:p></o:p></span></p>
-
-<p class=MsoNormal style='mso-pagination:widow-orphan;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
-background:white;mso-layout-grid-align:auto;text-autospace:ideograph-other'><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>...<o:p></o:p></span></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_font-&gt;drawText(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;Click&nbsp;to&nbsp;Play&nbsp;Again&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;getWidth()/2&nbsp;-&nbsp;175,&nbsp;getHeight()/2&nbsp;-&nbsp;40,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                </span>Vector4::one(),&nbsp;_font-&gt;getSize());<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>You can use your own shaders and textures for object
-materials in the game, or you can use the ones that gameplay provides. These are
-located in gameplay-resources\res and can be used programmatically like this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>material&nbsp;=&nbsp;_shipNode-&gt;getModel()-&gt;setMaterial(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/colored.vert&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                              </span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/colored.frag&quot;</span><span
-style='font-family:Consolas;color:black'>, <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span
-style='mso-tab-count:5'>                                            </span><span style='mso-spacerun:yes'>     </span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;SPECULAR”</span><span
-style='font-family:Consolas;color:black'>,&nbsp;0);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Examples of this usage appear in later sections. The
-spaceship's sound can be created using any sound editing tool and brought into
-the game like this: </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_spaceshipSound&nbsp;=&nbsp;AudioSource::create(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/spaceship.wav&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>...<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_spaceshipSound-&gt;setPitch(_throttle&nbsp;*&nbsp;SOUND_PITCH_SCALE);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><a name="d3e55_id"></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Most game applications execute a standard series of steps:
-get inputs, update data, and render output. To get this working, the
-application needs to set up the input devices, initialize the necessary data,
-and prepare the output devices. This process is no different when using the
-gameplay library.<a name="d3e58_id"></a></p>
-
-<h3>What you get with gameplay</h3>
-
-<p class=MsoNormal>The gameplay library gives you access to all the core
-functionality of the platform without having to worry about setting up graphics
-libraries, event handling, and sensor interfaces. As long as you extend your
-application class from the gameplay <span style='font-family:"Courier New"'>Game</span>
-class, all of this functionality is provided. For the purposes of this game,
-all of the underlying graphics, audio, and file system functionality is
-provided by the gameplay library and you don't have to worry about it. Another
-benefit of gameplay is that base service support is provided by different
-platform implementations, supporting both mobile and desktop environments with
-no change to your application code.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Assuming you're comfortable with creating your application
-class and constructor, the first method to look at in creating this game is <span
-style='font-family:"Courier New"'>SpaceshipGame::initialize()</span>. The main
-goals of this method are to set the initial render state, load the game scene
-with the ship and environment graphics, and initialize the application state. <a
-name="d3e71_id"></a></p>
-
-<h3>Initialize the render state</h3>
-
-<p class=MsoNormal>Gameplay provides the <span style='font-family:"Courier New"'>RenderState::StateBlock</span>
-class that is used to set up the render parameters that are reused across all
-materials in the application. This is the first thing we set up in <span
-style='font-family:"Courier New"'>initialize()</span>:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_stateBlock&nbsp;=&nbsp;RenderState::StateBlock::create();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_stateBlock-&gt;setDepthTest(</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>_stateBlock-&gt;setCullFace(</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>_stateBlock-&gt;setBlend(</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>_stateBlock-&gt;setBlendSrc(RenderState::BLEND_SRC_ALPHA);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_stateBlock-&gt;setBlendDst(RenderState::BLEND_ONE_MINUS_SRC_ALPHA);<o:p></o:p></span></pre>
-
-<h3><a name="d3e85_id"></a>Create the scene</h3>
-
-<p class=MsoNormal>The game scene contains all the visual objects in the game,
-including the spaceship and the corridor. The <span style='font-family:"Courier New"'>SpaceshipGame</span>
-class has a member variable, <span style='font-family:"Courier New"'>_scene</span>
-that stores all of the visual elements defined in the input graphics file. This
-is represented as a tree of graphics elements, or nodes, that are accessed by
-searching or traversing them.</p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_7"
-  o:spid="_x0000_s1027" type="#_x0000_t75" style='position:absolute;
-  margin-left:-18.2pt;margin-top:0;width:429.5pt;height:277.05pt;z-index:251672576;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:absolute;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample02-spaceship_files/image011.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
- relative;z-index:251672576;left:-24px;top:0px;width:573px;height:369px'><img
- width=573 height=369 src="sample02-spaceship_files/image011.png" v:shapes="Picture_x0020_7"></span><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d3e97_id"></a></p>
-
-<p class=MsoNormal>This variable is set as follows, where <span
-style='font-family:"Courier New"'>spaceship.gpb</span> is the input file:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>Bundle*&nbsp;bundle&nbsp;=&nbsp;Bundle::create(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/spaceship.gpb&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_scene&nbsp;=&nbsp;bundle-&gt;loadScene();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>SAFE_RELEASE(bundle);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Given that the original graphics file may have used a
-different aspect ratio for the scene's camera than what the platform's display
-provides, the application's aspect ratio should be adjusted to the proper
-device resolution.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_scene-&gt;getActiveCamera()-&gt;setAspectRatio((</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>)getWidth()&nbsp;/&nbsp;(</span><span style='font-family:
-Consolas;color:blue'>float</span><span style='font-family:Consolas;color:black'>)getHeight());<o:p></o:p></span></pre>
-
-<h3><a name="d3e109_id"></a>Initialize the spaceship</h3>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'>SpaceshipGame::initialize()</span>
-calls <span style='font-family:"Courier New"'>SpaceshipGame::initializeSpaceship()</span>
-to prepare the spaceship for display. The first thing to do is find the
-spaceship in the scene and apply the appropriate properties to it. Part of the
-game's requirements was that the ship should look good and be able to collide
-with the roof and floor of the corridor. A bounding shape determines the area
-around the object that's used for detecting collisions between it and other
-objects. Gameplay calculates a bounding sphere for all nodes by default; this
-is what is used for the spaceship in this case. The visual properties are
-applied by traversing through all the ship-related nodes in <span
-style='font-family:"Courier New"'>_scene</span> and setting values for shader,
-color, and reflection. In <span style='font-family:"Courier New"'>SpaceShipGame::initializeSpaceship()</span>,
-this looks like:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_shipGroupNode&nbsp;=&nbsp;_scene-&gt;findNode(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;gSpaceShip&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Setup&nbsp;spaceship&nbsp;model</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Part&nbsp;0</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_shipNode&nbsp;=&nbsp;_scene-&gt;findNode(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;pSpaceShip&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>material&nbsp;=&nbsp;_shipNode-&gt;getModel()-&gt;setMaterial(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/colored.vert&quot;</span><span
-style='font-family:Consolas;color:black'>,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                              </span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/colored.frag&quot;</span><span
-style='font-family:Consolas;color:black'>,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                        </span><span style='mso-spacerun:yes'>      </span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;SPECULAR”</span><span
-style='font-family:Consolas;color:black'>,&nbsp;0);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_diffuseColor&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(Vector4(0.53544f,&nbsp;0.53544f,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                           </span>0.53544f,&nbsp;1.0f));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>initializeMaterial(material,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The <span style='font-family:"Courier New"'>findNode()</span>
-method searches the scene for the specified node (as set in the source graphics
-file). The remaining code sets the visual characteristics for the node and,
-although there are numerous properties available in the COLLADA format, only a
-few are chosen here. For this particular node, the shader applied to the
-material is loaded in from the specified file and the light reflection
-properties are set as shown. The <span style='font-family:"Courier New"'>initializeMaterial()</span>
-method sets the render state and light source direction and color for this
-particular node, as follows:</p>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>void</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::initializeMaterial(Material*&nbsp;material,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>bool</span><span style='font-family:
-Consolas;color:black'>&nbsp;lighting,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                       </span></span><span
-style='font-family:Consolas;color:blue'>bool</span><span style='font-family:
-Consolas;color:black'>&nbsp;specular)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Set&nbsp;the&nbsp;common&nbsp;render&nbsp;state&nbsp;block&nbsp;for&nbsp;the&nbsp;material</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;setStateBlock(_stateBlock);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Bind&nbsp;the&nbsp;WorldViewProjection&nbsp;matrix</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;setParameterAutoBinding(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_worldViewProjectionMatrix&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                      </span>RenderState::WORLD_VIEW_PROJECTION_MATRIX);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(lighting)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Apply&nbsp;lighting&nbsp;material&nbsp;parameters</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;setParameterAutoBinding(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_inverseTransposeWorldViewMatrix&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                   </span>RenderState::INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node*&nbsp;lightNode&nbsp;=&nbsp;_scene-&gt;findNode(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;directionalLight1&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;lightDirection&nbsp;=&nbsp;lightNode-&gt;getForwardVector();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lightDirection.normalize();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_lightDirection&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(lightDirection);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_lightColor&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                </span>lightNode-&gt;getLight()-&gt;getColor());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_ambientColor&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(AMBIENT_LIGHT_COLOR);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(specular)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Apply&nbsp;specular&nbsp;lighting&nbsp;parameters</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_specularExponent&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(SPECULAR);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;setParameterAutoBinding(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_worldViewMatrix&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                              </span>RenderState::WORLD_VIEW_MATRIX);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;setParameterAutoBinding(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_cameraPosition&quot;</span><span
-style='font-family:Consolas;color:black'>,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                    </span><span style='mso-spacerun:yes'>                          </span>RenderState::CAMERA_WORLD_POSITION);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The remainder of the <span style='font-family:"Courier New"'>initializeSpaceship()</span>
-method sets the same properties on the spaceship model, the spaceship
-propulsion model, and the glow effect.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The final step is to initialize the spaceship's sound. This
-is done by loading a .wav file and setting it to loop throughout the game, so
-that it never appears to end. Later, the pitch of this sound will be altered to
-match the throttle of the spaceship.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_spaceshipSound&nbsp;=&nbsp;AudioSource::create(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/spaceship.wav&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>if</span><span
-style='font-family:Consolas;color:black'>&nbsp;(_spaceshipSound)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_spaceshipSound-&gt;setLooped(</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>);<o:p></o:p></span></pre>
-
-<h3>Initialize the environment</h3>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'>SpaceshipGame::initialize()</span>
-calls the <span style='font-family:"Courier New"'>SpaceshipGame::initializeEnvironment()</span>
-method next. It is similar to <span style='font-family:"Courier New"'>initializeSpaceship()</span>
-in that it discovers nodes in the scene and applies material properties to
-them. However, there is one key difference: since the ground of the game's
-corridor is made up of many duplicates of the same object, the <span
-style='font-family:"Courier New"'>Scene::findNodes()</span> method is used to
-find all partial matches (by setting the last parameter to false) to the given
-string and the results are looped through to set properties to the same values.
-</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_scene-&gt;findNodes(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;pGround&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;nodes,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>false</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>for</span><span
-style='font-family:Consolas;color:black'>&nbsp;(</span><span style='font-family:
-Consolas;color:blue'>unsigned</span><span style='font-family:Consolas;
-color:black'>&nbsp;</span><span style='font-family:Consolas;color:blue'>int</span><span
-style='font-family:Consolas;color:black'>&nbsp;i&nbsp;=&nbsp;0,&nbsp;count&nbsp;=&nbsp;nodes.size();&nbsp;i&nbsp;&lt;&nbsp;count;&nbsp;++i)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Node*&nbsp;pGround&nbsp;=&nbsp;nodes[i];<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;material&nbsp;=&nbsp;pGround-&gt;getModel()-&gt;setMaterial(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/colored.vert&quot;</span><span
-style='font-family:Consolas;color:black'>,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                </span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/colored.frag&quot;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:#A31515'><span
-style='mso-tab-count:5'>                                            </span><span style='mso-spacerun:yes'>       </span>&quot;SPECULAR”</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_diffuseColor&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(Vector4(0.280584f,&nbsp;0.5584863f,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                               </span>0.6928f,&nbsp;1.0f));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;initializeMaterial(material,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}</span><span
-style='font-size:11.0pt'><o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The same logic applies to the nodes of the corridor's roof:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>nodes.clear();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_scene-&gt;findNodes(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;pRoof&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;nodes,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>false</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>for</span><span
-style='font-family:Consolas;color:black'>&nbsp;(</span><span style='font-family:
-Consolas;color:blue'>unsigned</span><span style='font-family:Consolas;
-color:black'>&nbsp;</span><span style='font-family:Consolas;color:blue'>int</span><span
-style='font-family:Consolas;color:black'>&nbsp;i&nbsp;=&nbsp;0,&nbsp;count&nbsp;=&nbsp;nodes.size();&nbsp;i&nbsp;&lt;&nbsp;count;&nbsp;++i)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Node*&nbsp;pRoof&nbsp;=&nbsp;nodes[i];<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;material&nbsp;=&nbsp;pRoof-&gt;getModel()-&gt;setMaterial(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/colored.vert&quot;</span><span
-style='font-family:Consolas;color:black'>,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:#A31515'><span style='mso-spacerun:yes'>                                  </span><span style='mso-spacerun:yes'>            </span>&quot;res/shaders/colored.frag&quot;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:#A31515'><span
-style='mso-tab-count:5'>                                            </span><span style='mso-spacerun:yes'>     </span>&quot;SPECULAR”</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_diffuseColor&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(Vector4(0.280584f,&nbsp;0.5584863f,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                               </span>0.6928f,&nbsp;1.0f));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;initializeMaterial(material,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The game's background is a little different, as a texture
-(background.png) is applied to the object with some shader and light properties
-applied to add visual depth.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>nodes.clear();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>Node*&nbsp;pBackground&nbsp;=&nbsp;_scene-&gt;findNode(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;pBackground&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>material&nbsp;=&nbsp;pBackground-&gt;getModel()-&gt;setMaterial(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/textured.vert&quot;</span><span
-style='font-family:Consolas;color:black'>,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                </span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/shaders/textured.frag&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>material-&gt;getParameter(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;u_diffuseTexture&quot;</span><span
-style='font-family:Consolas;color:black'>)-&gt;setValue(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/background.png&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;</span><span style='font-family:
-Consolas;color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>initializeMaterial(material,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>false</span><span style='font-family:Consolas;color:black'>);<a
-name="d3e178_id"></a><o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The remainder of the <span style='font-family:"Courier New"'>SpaceshipGame::initialize()</span>
-method loads in the TrueType font to be used throughout the game, finds and
-stores the camera node for later use (essentially keeping the camera focused on
-the ship at all times), and transforms the initial position of the spaceship
-and camera from the source coordinates to the game coordinates.</p>
-
-<pre style='background:white'><span style='font-size:12.0pt;font-family:"Malgun Gothic","sans-serif";
-mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Create&nbsp;font</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_font&nbsp;=&nbsp;Font::create(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/airstrip28.gpb&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Store&nbsp;camera&nbsp;node</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_cameraNode&nbsp;=&nbsp;_scene-&gt;findNode(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;camera1&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Store&nbsp;initial&nbsp;ship&nbsp;and&nbsp;camera&nbsp;positions</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_initialShipPos&nbsp;=&nbsp;_shipGroupNode-&gt;getTranslation();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_initialShipRot&nbsp;=&nbsp;_shipGroupNode-&gt;getRotation();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_initialCameraPos&nbsp;=&nbsp;_cameraNode-&gt;getTranslation();<o:p></o:p></span></pre>
-
-<h3>Define game constants</h3>
-
-<p class=MsoNormal>Since this game should behave somewhat realistically in
-terms of motion and collisions, a few numerical constants are defined for the
-game's physics equations. For motion, the following constants are used to
-determine ship velocity, acceleration, rotation, tilt, and exhaust glow:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Mass&nbsp;of&nbsp;the&nbsp;space&nbsp;ship</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;MASS&nbsp;50.0f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Gravity&nbsp;constant&nbsp;(earth's&nbsp;gravity&nbsp;is&nbsp;~9.8m/s/s)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;GRAVITY&nbsp;9.8f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Force&nbsp;applied&nbsp;due&nbsp;to&nbsp;gravity&nbsp;(F&nbsp;=&nbsp;mg)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;GRAVITATIONAL_FORCE&nbsp;(MASS&nbsp;*&nbsp;GRAVITY)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Amount&nbsp;to&nbsp;scale&nbsp;screen-space&nbsp;push/force&nbsp;vector&nbsp;by</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;FORCE_SCALE&nbsp;4.0f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Constant&nbsp;for&nbsp;the&nbsp;maximum&nbsp;force&nbsp;that&nbsp;can&nbsp;be&nbsp;applied&nbsp;to&nbsp;the&nbsp;ship</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;FORCE_MAX&nbsp;(TOUCH_DISTANCE_MAX&nbsp;*&nbsp;FORCE_SCALE)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Maximum&nbsp;velocity&nbsp;(+/-)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;VELOCITY_MAX&nbsp;75.0f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Maximum&nbsp;ship&nbsp;tilt&nbsp;(degrees)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;SHIP_TILT_MAX&nbsp;45.0f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Maximum&nbsp;ship&nbsp;rotation&nbsp;(degrees)&nbsp;at&nbsp;full&nbsp;throttle</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;SHIP_ROTATE_SPEED_MAX&nbsp;500.0f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Multiplier&nbsp;for&nbsp;engine&nbsp;glow&nbsp;effect&nbsp;(based&nbsp;on&nbsp;throttle)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;ENGINE_POWER&nbsp;2.5f</span><span
-style='font-size:11.0pt'><o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The following constants are used to determine collisions and
-friction between the ship and its environment (to slow down the ship):</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;ROOF_HEIGHT&nbsp;11.6f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;FLOOR_HEIGHT&nbsp;0.6f<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Normal&nbsp;force&nbsp;used&nbsp;in&nbsp;friction&nbsp;computations&nbsp;(Fn&nbsp;=&nbsp;-mg)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;FORCE_NORMAL&nbsp;(-GRAVITATIONAL_FORCE)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Friction&nbsp;between&nbsp;floor&nbsp;and&nbsp;spaceship&nbsp;(Ff&nbsp;=&nbsp;u&nbsp;*&nbsp;Fn)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;FLOOR_FRICTION&nbsp;(0.4f&nbsp;*&nbsp;FORCE_NORMAL)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Friction&nbsp;between&nbsp;roof&nbsp;and&nbsp;spaceship&nbsp;(Ff&nbsp;=&nbsp;u&nbsp;*&nbsp;Fn)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;ROOF_FRICTION&nbsp;(0.035f&nbsp;*&nbsp;FORCE_NORMAL)<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>To control the ship's thrust, the player will touch the
-screen a certain distance away from the ship. The maximum screen distance at
-which touch inputs will be considered is:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;TOUCH_DISTANCE_MAX&nbsp;400.0f<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The sound of the engine will be adjusted according to the
-ship's throttle and scaled according to:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;SOUND_PITCH_SCALE&nbsp;2.0f<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>To position the camera such that the ship is always within
-its field-of-view, these limits are set to slightly in front of and behind the
-ship:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;CAMERA_RANGE_FRONT&nbsp;-1<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>#define</span><span
-style='font-family:Consolas;color:black'>&nbsp;CAMERA_RANGE_BACK&nbsp;8<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Finally, the game is over when the ship has reached the
-maximum distance of the environment:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><a name="_Toc322508021"><span style='font-family:
-Consolas;color:blue'>#define</span></a><span style='mso-bookmark:_Toc322508021'><span
-style='font-family:Consolas;color:black'>&nbsp;MAP_LENGTH&nbsp;1000.0f<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508021'><span
-style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508021'><span
-style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></span></pre>
-
-<h2><span style='mso-bookmark:_Toc322508021'>Updating the game</span></h2>
-
-<p class=MsoNormal><a name="d4e10_id"></a>With the game set up and initialized,
-the focus turns to getting player inputs, updating data, and rendering output
-to the display. This process flow includes three key methods that are derived
-from the <span style='font-family:"Courier New"'>Game</span> class: <span
-style='font-family:"Courier New"'>touchEvent()</span>, <span style='font-family:
-"Courier New"'>update()</span>, and <span style='font-family:"Courier New"'>render()</span>.<a
-name="d4e26_id"></a></p>
-
-<h3>Get player inputs</h3>
-
-<p class=MsoNormal>The only input that this game cares about is the player
-touching the screen. Even simpler than that, the only types of touches that are
-relevant are press, move, and release. Gameplay provides a callback method
-called <span style='font-family:"Courier New"'>touchEvent()</span> that is
-called when a touch event is received. This method is overridden in the game
-as:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>void</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::touchEvent(Touch::TouchEvent&nbsp;evt,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>int</span><span style='font-family:
-Consolas;color:black'>&nbsp;x,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>int</span><span style='font-family:Consolas;color:black'>&nbsp;y,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>               </span><span style='mso-spacerun:yes'>                </span></span><span
-style='font-family:Consolas;color:blue'>unsigned</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span style='font-family:Consolas;
-color:blue'>int</span><span style='font-family:Consolas;color:black'>&nbsp;contactIndex)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>switch</span><span style='font-family:
-Consolas;color:black'>&nbsp;(evt)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>case</span><span style='font-family:
-Consolas;color:black'>&nbsp;Touch::TOUCH_PRESS:<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(_finished&nbsp;&amp;&amp;&nbsp;(getAbsoluteTime()&nbsp;-&nbsp;_finishedTime)&nbsp;&gt;&nbsp;1000L)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resetGame();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>case</span><span style='font-family:
-Consolas;color:black'>&nbsp;Touch::TOUCH_MOVE:<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(!_finished)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_pushing&nbsp;=&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_pushPoint.set(x,&nbsp;y);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>break</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>case</span><span style='font-family:
-Consolas;color:black'>&nbsp;Touch::TOUCH_RELEASE:<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_pushing&nbsp;=&nbsp;</span><span
-style='font-family:Consolas;color:blue'>false</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>break</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For the three types of touch events listed, the game
-performs the following:<a name="d4e39_id"></a><a name="d4e40_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l1 level1 lfo6'><span style='font-family:
-     "Courier New"'>TOUCH_PRESS</span>: If the game is finished and the current
-     game time is more than one second (or 1000 ms) past the finish time of the
-     game, reset the game back to the beginning (the one second delay allows
-     the player's finger to lift from the screen once the game has completed
-     without triggering a restart).<a name="d4e44_id"></a></li>
- <li class=MsoNormal style='mso-list:l1 level1 lfo6'><span style='font-family:
-     "Courier New"'>TOUCH_MOVE</span>: The player wants to control the ship, so
-     set <span style='font-family:"Courier New"'>_pushPoint</span> to the x and
-     y position of the touch for later use.<a name="d4e51_id"></a></li>
- <li class=MsoNormal style='mso-list:l1 level1 lfo6'><span style='font-family:
-     "Courier New"'>TOUCH_RELEASE</span>: The player does not want to control
-     the ship, so set <span style='font-family:"Courier New"'>_pushing</span> to
-     <span style='font-family:"Courier New"'>false</span> for later use.<a
-     name="d4e61_id"></a></li>
-</ul>
-
-<h3>Update game data</h3>
-
-<p class=MsoNormal>Gameplay provides another callback method, <span
-style='font-family:"Courier New"'>update()</span>, which is called once per
-frame while the game is running. It is here where the game modifies the data
-needed to track the state of objects, such as spaceship position, throttle,
-velocity, and time. For every frame, the same steps are performed to update the
-game.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The gameplay framework provides the elapsed game time as a
-parameter to <span style='font-family:"Courier New"'>update()</span>, so the
-first thing to do is convert it to seconds for use in rendering the timer to
-the display.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>float</span><span
-style='font-family:Consolas;color:black'>&nbsp;t&nbsp;=&nbsp;elapsedTime&nbsp;/&nbsp;1000.0f;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>if</span><span
-style='font-family:Consolas;color:black'>&nbsp;(!_finished)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_time&nbsp;+=&nbsp;t;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The next thing to do is move the spaceship according to
-where the player has pressed the screen. This involves calculating the
-direction and magnitude of a vector drawn between the center of the spaceship
-and the touch point. This vector determines the &quot;pushing&quot; angle and
-force used to propel the spaceship away from its current location. This code
-looks like:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_force.set(0,&nbsp;-GRAVITATIONAL_FORCE);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;While&nbsp;we&nbsp;are&nbsp;pushing/touching&nbsp;the&nbsp;screen,&nbsp;apply&nbsp;a&nbsp;push&nbsp;force&nbsp;vector&nbsp;based&nbsp;on&nbsp;the&nbsp;distance&nbsp;from</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;the&nbsp;touch&nbsp;point&nbsp;to&nbsp;the&nbsp;center&nbsp;of&nbsp;the&nbsp;space&nbsp;ship.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>if</span><span
-style='font-family:Consolas;color:black'>&nbsp;(_pushing)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Get&nbsp;the&nbsp;center&nbsp;point&nbsp;of&nbsp;the&nbsp;space&nbsp;ship&nbsp;in&nbsp;screen&nbsp;coordinates</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;shipCenterScreen;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_scene-&gt;getActiveCamera()-&gt;project(getViewport(),&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                       </span>_shipGroupNode-&gt;getBoundingSphere().center,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                       </span>&amp;shipCenterScreen.x,&nbsp;&amp;shipCenterScreen.y);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Compute&nbsp;a&nbsp;screen-space&nbsp;vector&nbsp;between&nbsp;the&nbsp;center&nbsp;point&nbsp;of&nbsp;the&nbsp;ship&nbsp;and&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// the&nbsp;touch&nbsp;point.&nbsp;We&nbsp;will&nbsp;use&nbsp;this&nbsp;vector&nbsp;to&nbsp;apply&nbsp;a&nbsp;&quot;pushing&quot;&nbsp;force&nbsp;to&nbsp;the&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// space&nbsp;ship,&nbsp;similar&nbsp;to&nbsp;what&nbsp;happens&nbsp;when&nbsp;you&nbsp;hold&nbsp;a&nbsp;magnet&nbsp;close&nbsp;to&nbsp;an&nbsp;object&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// with&nbsp;opposite&nbsp;polarity.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Vector2&nbsp;pushForce((shipCenterScreen.x&nbsp;-&nbsp;_pushPoint.x),<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                     </span>-(shipCenterScreen.y&nbsp;-&nbsp;_pushPoint.y));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Transform&nbsp;the&nbsp;vector&nbsp;so&nbsp;that&nbsp;a&nbsp;smaller&nbsp;magnitude&nbsp;emits&nbsp;a&nbsp;larger&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// force&nbsp;and&nbsp;applying&nbsp;the&nbsp;maximum&nbsp;touch&nbsp;distance.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;distance&nbsp;=&nbsp;(std::max)(TOUCH_DISTANCE_MAX&nbsp;-&nbsp;pushForce.length(),&nbsp;0.0f);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;pushForce.normalize();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;pushForce.scale(distance&nbsp;*&nbsp;FORCE_SCALE);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_force.add(pushForce);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Here, the default force for every frame is set to the
-gravitational force in order to make the game a little more challenging and
-cause the ship to fall if no inputs are applied. If the player is touching the
-screen, the center point of the spaceship is determined by the <span
-style='font-family:"Courier New"'>_scene-&gt;getActiveCamera()-&gt;project()</span>
-method, which translates the center of the bounding sphere enclosing the
-spaceship object (<span style='font-family:"Courier New"'>_shipGroupNode-&gt;getBoundingSphere().center</span>)
-from world space to screen space (<span style='font-family:"Courier New"'>shipCenterScreen.x</span>
-and <span style='font-family:"Courier New"'>shipCenterScreen.y</span>). With
-the center point in the same coordinate system as the touch point, the vector
-between them is calculated and stored in <span style='font-family:"Courier New"'>pushForce</span>.
-This vector is normalized to a length of 1 and scaled to provide the relative
-force between the spaceship and the maximum allowable distance of the touch
-point on the screen. This is then added to the gravitational force.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The game uses the calculated force to determine the throttle
-amount and acceleration of the spaceship. The throttle directly affects the
-visual components of the spaceship (tilt, rotation, and sound) while the
-acceleration affects the spaceship's position via derived velocity. The
-throttle value is calculated as:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>//&nbsp;Compute&nbsp;a&nbsp;throttle&nbsp;value&nbsp;based&nbsp;on&nbsp;our&nbsp;force&nbsp;vector,&nbsp;minus&nbsp;gravity</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Vector2&nbsp;throttleVector(_force.x,&nbsp;_force.y&nbsp;+&nbsp;GRAVITATIONAL_FORCE);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_throttle&nbsp;+=&nbsp;throttleVector.length()&nbsp;/&nbsp;FORCE_MAX&nbsp;*&nbsp;t;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:blue'>else</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Gradually&nbsp;decrease&nbsp;the&nbsp;throttle</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(_throttle&nbsp;&gt;&nbsp;0.0f)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_throttle&nbsp;*=&nbsp;1.0f&nbsp;-&nbsp;t;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Clamp&nbsp;the&nbsp;throttle</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_throttle&nbsp;=&nbsp;CLAMP(_throttle,&nbsp;0.0f,&nbsp;1.0f);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:11.0pt'>The acceleration and velocity
-are calculated and the spaceship's position adjusted as:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:11.0pt'><o:p>&nbsp;</o:p></span></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Update&nbsp;acceleration&nbsp;(a&nbsp;=&nbsp;F/m)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_acceleration.set(_force.x&nbsp;/&nbsp;MASS,&nbsp;_force.y&nbsp;/&nbsp;MASS);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Update&nbsp;velocity&nbsp;(v1&nbsp;=&nbsp;v0&nbsp;+&nbsp;at)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_velocity.x&nbsp;+=&nbsp;_acceleration.x&nbsp;*&nbsp;t;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_velocity.y&nbsp;+=&nbsp;_acceleration.y&nbsp;*&nbsp;t;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Clamp&nbsp;velocity&nbsp;to&nbsp;its&nbsp;maximum&nbsp;range</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_velocity.x&nbsp;=&nbsp;CLAMP(_velocity.x,&nbsp;-VELOCITY_MAX,&nbsp;VELOCITY_MAX);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_velocity.y&nbsp;=&nbsp;CLAMP(_velocity.y,&nbsp;-VELOCITY_MAX,&nbsp;VELOCITY_MAX);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'>//&nbsp;Move&nbsp;the&nbsp;spaceship&nbsp;based&nbsp;on&nbsp;its&nbsp;current&nbsp;velocity&nbsp;(x1&nbsp;=&nbsp;x0&nbsp;+&nbsp;vt)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>_shipGroupNode-&gt;translate(_velocity.x&nbsp;*&nbsp;t,&nbsp;_velocity.y&nbsp;*&nbsp;t,&nbsp;0);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><span style='mso-spacerun:yes'> </span></p>
-
-<p class=MsoNormal>Notice that the spaceship is moved after the velocity is
-updated. This leaves the velocity and position in sync with respect to the
-frame. You can try updating the position before velocity and see how it affects
-the game.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>With the new spaceship position, it's time to determine
-whether it is colliding with anything. Since the main challenge in the game is
-for the player to avoid the roof or floor, this is a very important step. A
-call to <span style='font-family:"Courier New"'>handleCollisions()</span> is
-made from <span style='font-family:"Courier New"'>update()</span> and the
-function looks like this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>void</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::handleCollisions(</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;t)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;friction&nbsp;=&nbsp;0.0f;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Use&nbsp;the&nbsp;ship's&nbsp;bounding&nbsp;sphere&nbsp;for&nbsp;roof&nbsp;collisions</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>const</span><span style='font-family:
-Consolas;color:black'>&nbsp;BoundingSphere&amp;&nbsp;shipBounds&nbsp;=&nbsp;_shipNode-&gt;getBoundingSphere();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Compute&nbsp;a&nbsp;bounding&nbsp;box&nbsp;for&nbsp;floor&nbsp;collisions</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;BoundingBox&nbsp;propulsionBounds&nbsp;=&nbsp;_propulsionNode-&gt;getModel()-&gt;getMesh()-&gt;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                                </span>getBoundingBox();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;propulsionBounds.transform(_propulsionNode-&gt;getWorldMatrix());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(propulsionBounds.min.y&nbsp;&lt;=&nbsp;FLOOR_HEIGHT)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Floor&nbsp;collision</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;friction&nbsp;=&nbsp;FLOOR_FRICTION;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_shipGroupNode-&gt;translateY(FLOOR_HEIGHT&nbsp;-&nbsp;propulsionBounds.min.y);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(_velocity.y&nbsp;&lt;&nbsp;0.0f)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Cancel&nbsp;vertical&nbsp;velocity</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_velocity.y&nbsp;=&nbsp;0.0f;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>else</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span style='font-family:Consolas;
-color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;((shipBounds.center.y&nbsp;+&nbsp;shipBounds.radius)&nbsp;&gt;=&nbsp;ROOF_HEIGHT)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Roof&nbsp;collision</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;friction&nbsp;=&nbsp;ROOF_FRICTION;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_shipGroupNode-&gt;translateY(ROOF_HEIGHT&nbsp;–&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                  </span>(shipBounds.center.y&nbsp;+&nbsp;shipBounds.radius));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(_velocity.y&nbsp;&gt;=&nbsp;0.0f)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Cancel&nbsp;vertical&nbsp;velocity</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_velocity.y&nbsp;=&nbsp;0.0f;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Apply&nbsp;friction&nbsp;to&nbsp;velocity</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(friction&nbsp;!=&nbsp;0.0f)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(_velocity.x&nbsp;&gt;&nbsp;0)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_velocity.x&nbsp;=&nbsp;(std::max)(_velocity.x&nbsp;+&nbsp;friction&nbsp;*&nbsp;t,&nbsp;0.0f);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>else</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span style='font-family:Consolas;
-color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;(_velocity.x&nbsp;&lt;&nbsp;0)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_velocity.x&nbsp;=&nbsp;(std::min)(_velocity.x&nbsp;-&nbsp;friction&nbsp;&nbsp;*&nbsp;t,&nbsp;0.0f);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>    </span></span><span
-style='font-family:Consolas;color:green'>//&nbsp;Keep&nbsp;the&nbsp;ship&nbsp;within&nbsp;the&nbsp;playable&nbsp;area&nbsp;of&nbsp;the&nbsp;map</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>const</span><span style='font-family:
-Consolas;color:black'>&nbsp;Vector3&amp;&nbsp;shipPos&nbsp;=&nbsp;_shipGroupNode-&gt;getTranslation();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(shipPos.x&nbsp;&lt;&nbsp;_initialShipPos.x)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_shipGroupNode-&gt;translateX(_initialShipPos.x&nbsp;-&nbsp;shipPos.x);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_velocity.x&nbsp;=&nbsp;0.0f;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>else</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span style='font-family:Consolas;
-color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;(shipPos.x&nbsp;&gt;&nbsp;(_initialShipPos.x&nbsp;+&nbsp;MAP_LENGTH))<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(!_finished)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Passed&nbsp;the&nbsp;finish&nbsp;line</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_finished&nbsp;=&nbsp;</span><span
-style='font-family:Consolas;color:blue'>true</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_finishedTime&nbsp;=&nbsp;getAbsoluteTime();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_pushing&nbsp;=&nbsp;</span><span
-style='font-family:Consolas;color:blue'>false</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The first section of this function determines whether a
-collision occurred by comparing the lowest point of the spaceship (the
-propulsion node) with the height of the floor and the highest point of the
-spaceship (the center of the ship node plus the radius of its bounding sphere)
-with the height of the roof. If any of the points intersect, the function sets
-the vertical velocity, <span style='font-family:"Courier New"'>_velocity.y</span>,
-to 0 and the position as follows:<a name="d4e122_id"></a><a name="d4e123_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l6 level1 lfo7'>If it's a floor collision,
-     position the ship above the floor.<a name="d4e125_id"></a></li>
- <li class=MsoNormal style='mso-list:l6 level1 lfo7'>If it's a roof collision,
-     position the ship below the roof.</li>
-</ul>
-
-<p class=MsoNormal style='text-align:justify;text-justify:inter-ideograph'><span
-style='font-family:"MS Sans Serif","sans-serif"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>In both cases, the horizontal velocity, <span
-style='font-family:"Courier New"'>_velocity.x</span>, is slowed by the
-appropriate friction coefficient adjusted by the current game time. This is so
-there's an increasing amount of friction applied as the player keeps sliding
-along the floor or roof (harsh, but challenging!).</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The last part of <span style='font-family:"Courier New"'>handleCollisions()</span>
-determines whether the spaceship has reached the end of the playing area or
-not. If the spaceship's current position is less than its position when the
-game started (<span style='font-family:"Courier New"'>if (shipPos.x &lt;
-_initialShipPos.x)</span>), the spaceship is moved to the start of the playing
-area. If its current position is beyond the end of the playing area (<span
-style='font-family:"Courier New"'>if (shipPos.x &gt; (_initialShipPos.x +
-MAP_LENGTH))</span>), the game state is set to finished.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Now that the ship's position and movement is taken care of,
-the camera must be moved to keep the ship in view. The <span style='font-family:
-"Courier New"'>SpaceshipGame::updateCamera()</span> method is called from <span
-style='font-family:"Courier New"'>update()</span> to do this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>void</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::updateCamera()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(_finished)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>return</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Keep&nbsp;the&nbsp;camera&nbsp;focused&nbsp;on&nbsp;the&nbsp;ship</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>const</span><span style='font-family:
-Consolas;color:black'>&nbsp;Vector3&amp;&nbsp;cameraPos&nbsp;=&nbsp;_cameraNode-&gt;getTranslation();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>const</span><span style='font-family:
-Consolas;color:black'>&nbsp;Vector3&amp;&nbsp;shipPos&nbsp;=&nbsp;_shipGroupNode-&gt;getTranslation();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;diff&nbsp;=&nbsp;cameraPos.x&nbsp;-&nbsp;shipPos.x;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(diff&nbsp;&gt;&nbsp;CAMERA_RANGE_BACK)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_cameraNode-&gt;translateX(-(diff&nbsp;-&nbsp;CAMERA_RANGE_BACK));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>else</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span style='font-family:Consolas;
-color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;(diff&nbsp;&lt;&nbsp;-CAMERA_RANGE_FRONT)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_cameraNode-&gt;translateX(-(diff&nbsp;+&nbsp;CAMERA_RANGE_FRONT));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Assuming the ship hasn't reached the end of the playing area
-and finished, this method determines the distance between the camera and the
-spaceship, and then translates the camera to fit the ship within the range
-defined by <span style='font-family:"Courier New"'>CAMERA_RANGE_BACK</span> and
-<span style='font-family:"Courier New"'>CAMERA_RANGE_FRONT</span>.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The remainder of the <span style='font-family:"Courier New"'>update()</span>
-method changes the visual and audible feedback of the spaceship based on all
-the data just calculated. This provides the player with cues as to how they are
-progressing. The key actions here are to change the spaceship's tilt around the
-z axis according to the magnitude of the force calculated above and to spin the
-ship around the y axis according to the throttle. If either the force or
-throttle are zero, then the spaceship's tilt and spin are brought back to zero.
-The other action is to scale the pitch of the spaceship's sound effect and the
-glow of the exhaust according to the throttle value. The sound stops completely
-if the throttle is zero.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><a name="_Toc322508022"><span style='font-family:
-Consolas;color:green'>//&nbsp;Reset&nbsp;ship&nbsp;rotation</span></a><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>_shipGroupNode-&gt;setRotation(_initialShipRot);<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:green'>//&nbsp;Apply&nbsp;ship&nbsp;tilt</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:blue'>if</span></span><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;(_force.x&nbsp;!=&nbsp;0&nbsp;&amp;&amp;&nbsp;abs(_velocity.x)&nbsp;&gt;&nbsp;0.1f)<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>{<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:green'>//&nbsp;Compute&nbsp;an&nbsp;angle&nbsp;based&nbsp;on&nbsp;the&nbsp;dot&nbsp;product&nbsp;<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// between&nbsp;the&nbsp;force&nbsp;vector&nbsp;and&nbsp;the&nbsp;Y&nbsp;axis</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Vector2&nbsp;fn;<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_force.normalize(&amp;fn);<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:blue'>float</span></span><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;angle&nbsp;=&nbsp;MATH_RAD_TO_DEG(acos(Vector2::dot(Vector2(0,&nbsp;1),&nbsp;fn)));<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:blue'>if</span></span><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;(_force.x&nbsp;&gt;&nbsp;0)<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;angle&nbsp;=&nbsp;-angle;<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;angle&nbsp;*=&nbsp;_throttle&nbsp;*&nbsp;t;<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_shipTilt&nbsp;+=&nbsp;angle;<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_shipTilt&nbsp;=&nbsp;_shipTilt&nbsp;&lt;&nbsp;-SHIP_TILT_MAX&nbsp;?&nbsp;<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                </span>-SHIP_TILT_MAX&nbsp;: <o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                </span>(_shipTilt&nbsp;&gt;&nbsp;SHIP_TILT_MAX&nbsp;?&nbsp;SHIP_TILT_MAX&nbsp;:&nbsp;_shipTilt);<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>}<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:blue'>else</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>{<o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style='mso-bookmark:
-_Toc322508022'><span style='font-family:Consolas;color:green'>//&nbsp;Interpolate&nbsp;tilt&nbsp;back&nbsp;towards&nbsp;zero&nbsp;when&nbsp;no&nbsp;force&nbsp;is&nbsp;applied</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_shipTilt&nbsp;=&nbsp;(_shipTilt&nbsp;+&nbsp;((0&nbsp;-&nbsp;_shipTilt)&nbsp;*&nbsp;t&nbsp;*&nbsp;2.0f));<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>}<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>_shipGroupNode-&gt;rotateZ(MATH_DEG_TO_RAD(_shipTilt));<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:blue'>if</span></span><span style='mso-bookmark:
-_Toc322508022'><span style='font-family:Consolas;color:black'>&nbsp;(_throttle&nbsp;&gt;&nbsp;MATH_EPSILON)<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>{<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:green'>//&nbsp;Apply&nbsp;ship&nbsp;spin</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_shipNode-&gt;rotateY(MATH_DEG_TO_RAD(SHIP_ROTATE_SPEED_MAX&nbsp;*&nbsp;t&nbsp;*&nbsp;_throttle));<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:green'>//&nbsp;Play&nbsp;sound&nbsp;effect</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style='mso-bookmark:
-_Toc322508022'><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;(_spaceshipSound-&gt;getState()&nbsp;!=&nbsp;AudioSource::PLAYING)<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_spaceshipSound-&gt;play();<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:green'>//&nbsp;Set&nbsp;the&nbsp;pitch&nbsp;based&nbsp;on&nbsp;the&nbsp;throttle</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_spaceshipSound-&gt;setPitch(_throttle&nbsp;*&nbsp;SOUND_PITCH_SCALE);<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>}<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:blue'>else</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>{<o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style='mso-bookmark:
-_Toc322508022'><span style='font-family:Consolas;color:green'>//&nbsp;Stop&nbsp;sound&nbsp;effect</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_spaceshipSound-&gt;stop();<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>}<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:green'>//&nbsp;Modify&nbsp;ship&nbsp;glow&nbsp;effect&nbsp;based&nbsp;on&nbsp;the&nbsp;throttle</span></span><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'><o:p></o:p></span></span></pre><pre style='background:white'><span
-style='mso-bookmark:_Toc322508022'><span style='font-family:Consolas;
-color:black'>_glowDiffuseParameter-&gt;setValue(Vector4(1,&nbsp;1,&nbsp;1,&nbsp;_throttle&nbsp;*&nbsp;ENGINE_POWER));<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'>_shipSpecularParameter-&gt;setValue(SPECULAR&nbsp;-&nbsp;((SPECULAR-2.0f)&nbsp;*&nbsp;_throttle));<o:p></o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></span></pre><pre
-style='background:white'><span style='mso-bookmark:_Toc322508022'><span
-style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></span></pre>
-
-<h2><span style='mso-bookmark:_Toc322508022'>Rendering the game</span></h2>
-
-<p class=MsoNormal><a name="d5e10_id"></a>The <span style='font-family:"Courier New"'>SpaceshipGame::update()</span>
-method does all the heavy lifting to modify game data based on player inputs.
-After all its work is done, the results are displayed on the screen. Gameplay
-lets you do this fairly quickly and easily, so you can keep your render code
-tight and efficient. The entire method looks like this:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>void</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::render(</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;elapsedTime)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;clear(CLEAR_COLOR_DEPTH,&nbsp;Vector4::zero(),&nbsp;1.0f,&nbsp;0);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Visit&nbsp;scene&nbsp;nodes&nbsp;for&nbsp;opaque&nbsp;drawing</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_scene-&gt;visit(</span><span
-style='font-family:Consolas;color:blue'>this</span><span style='font-family:
-Consolas;color:black'>,&nbsp;&amp;SpaceshipGame::drawScene,&nbsp;(</span><span
-style='font-family:Consolas;color:blue'>void</span><span style='font-family:
-Consolas;color:black'>*)0);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Visit&nbsp;scene&nbsp;nodes&nbsp;for&nbsp;transparent&nbsp;drawing</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_scene-&gt;visit(</span><span
-style='font-family:Consolas;color:blue'>this</span><span style='font-family:
-Consolas;color:black'>,&nbsp;&amp;SpaceshipGame::drawScene,&nbsp;(</span><span
-style='font-family:Consolas;color:blue'>void</span><span style='font-family:
-Consolas;color:black'>*)1);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Draw&nbsp;game&nbsp;text&nbsp;(yellow)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;drawText();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>After clearing the color and depth buffers, each node in the
-scene is traversed to draw the opaque objects first, such as the top part of the
-spaceship, then the transparent objects next, such as the exhaust glow. The <span
-style='font-family:"Courier New"'>_scene-&gt;visit()</span> method provides an
-easy way to invoke a method pointer with a user-defined parameter (in this
-case, <span style='font-family:"Courier New"'>0</span> or <span
-style='font-family:"Courier New"'>1</span> to indicate opaque or transparent
-drawing) on every object in the scene. For this game, the method called is <span
-style='font-family:"Courier New"'>SpaceshipGame::drawScene()</span> and its
-purpose is to call the <span style='font-family:"Courier New"'>Model::draw()</span>
-method from the gameplay library to update the display. <span style='font-family:
-"Courier New"'>SpaceshipGame::drawScene()</span> looks like:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>bool</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::drawScene(Node*&nbsp;node,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>void</span><span style='font-family:
-Consolas;color:black'>*&nbsp;cookie)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Model*&nbsp;model&nbsp;=&nbsp;node-&gt;getModel();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(model)<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Transparent&nbsp;nodes&nbsp;must&nbsp;be&nbsp;drawn&nbsp;last&nbsp;(stage&nbsp;1)</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>bool</span><span style='font-family:
-Consolas;color:black'>&nbsp;isTransparent&nbsp;=&nbsp;(node&nbsp;==&nbsp;_glowNode);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Skip&nbsp;transparent&nbsp;objects&nbsp;for&nbsp;stage&nbsp;0</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;((!isTransparent&nbsp;&amp;&amp;&nbsp;(</span><span
-style='font-family:Consolas;color:blue'>int</span><span style='font-family:
-Consolas;color:black'>*)cookie&nbsp;==&nbsp;0)&nbsp;||&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>            </span>(isTransparent&nbsp;&amp;&amp;&nbsp;(</span><span
-style='font-family:Consolas;color:blue'>int</span><span style='font-family:
-Consolas;color:black'>*)cookie&nbsp;==&nbsp;(</span><span style='font-family:
-Consolas;color:blue'>int</span><span style='font-family:Consolas;color:black'>*)1))<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model-&gt;draw();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>return</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span style='font-family:Consolas;
-color:blue'>true</span><span style='font-family:Consolas;color:black'>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The remainder of the <span style='font-family:"Courier New"'>render()</span>
-method calls the <span style='font-family:"Courier New"'>drawText() </span><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Courier New"'>method
-which </span>updates the display with the game's frame rate and the game time.
-If the <span style='font-family:"Courier New"'>_finished</span> flag was set to
-<span style='font-family:"Courier New"'>true</span> in <span style='font-family:
-"Courier New"'>SpaceshipGame::handleCollisions()</span>, then a prompt is given
-for the player to play again. You must always bookend any font drawing with <span
-style='font-family:"Courier New"'>_font-&gt;begin()</span> and <span
-style='font-family:"Courier New"'>_font-&gt;end()</span> in order to let the
-gameplay library know when to flush the data out to the screen.<a
-name="d5e61_id"></a> <span style='font-family:"Courier New"'>SpaceshipGame::drawText()</span>
-looks like:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>void</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::drawText()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_font-&gt;begin();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>char</span><span style='font-family:
-Consolas;color:black'>&nbsp;text[1024];<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;sprintf(text,&nbsp;</span><span
-style='font-family:Consolas;color:#A31515'>&quot;%dsec.&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;(</span><span style='font-family:
-Consolas;color:blue'>int</span><span style='font-family:Consolas;color:black'>)_time);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_font-&gt;drawText(text,&nbsp;getWidth()&nbsp;-&nbsp;120,&nbsp;10,&nbsp;Vector4(1,&nbsp;1,&nbsp;0,&nbsp;1),<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                    </span>_font-&gt;getSize());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;
-color:black'>&nbsp;(_finished)<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_font-&gt;drawText(</span><span
-style='font-family:Consolas;color:#A31515'>&quot;Click&nbsp;to&nbsp;Play&nbsp;Again&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;getWidth() / 2&nbsp;-&nbsp;175,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                        </span>getHeight() / 2&nbsp;-&nbsp;40,&nbsp;Vector4::one(),&nbsp;_font-&gt;getSize());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_font-&gt;end();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="Picture_x0020_8"
-  o:spid="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
-  margin-left:0;margin-top:0;width:324pt;height:189.75pt;z-index:251674624;
-  visibility:visible;mso-wrap-style:square;mso-width-percent:0;
-  mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;
-  mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;
-  mso-position-horizontal:absolute;mso-position-horizontal-relative:text;
-  mso-position-vertical:absolute;mso-position-vertical-relative:text;
-  mso-width-percent:0;mso-height-percent:0;mso-width-relative:page;
-  mso-height-relative:page'>
-  <v:imagedata src="sample02-spaceship_files/image012.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=432 height=253
- src="sample02-spaceship_files/image012.png" v:shapes="Picture_x0020_8"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-</p>
-
-<h2><a name="_Toc322508023"></a><a name="d6e3_id"></a><span style='mso-bookmark:
-_Toc322508023'>Ending the game</span></h2>
-
-<p class=MsoNormal><a name="d6e10_id"></a>The last action that the game must
-handle is allowing the player to reset the game and start over. Once the <b>Click
-to Play Again</b> text is displayed, we know that a finger touch means the user
-wants to try again. As we saw earlier, the <span style='font-family:"Courier New"'>SpaceshipGame::touch()</span>
-method calls <span style='font-family:"Courier New"'>SpaceshipGame::resetGame()</span>
-when a <span style='font-family:"Courier New"'>TOUCH_PRESS</span> event occurs
-and <span style='font-family:"Courier New"'>_finished</span> is set to <span
-style='font-family:"Courier New"'>true</span>. This resets the game's state
-variables and the spaceship itself back to initial conditions, as follows:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:blue'>void</span><span
-style='font-family:Consolas;color:black'>&nbsp;SpaceshipGame::resetGame()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_time&nbsp;=&nbsp;0;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_finished&nbsp;=&nbsp;</span><span
-style='font-family:Consolas;color:blue'>false</span><span style='font-family:
-Consolas;color:black'>;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_velocity.set(0,&nbsp;0);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_shipGroupNode-&gt;setTranslation(_initialShipPos);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_cameraNode-&gt;setTranslation(_initialCameraPos);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Once the next frame comes around, the <span
-style='font-family:"Courier New"'>update()</span> method picks up the new state
-and the game starts again.<a name="d6e39_id"></a></p>
-
-<h3>Try it yourself</h3>
-
-<p class=MsoNormal>After you've run the game a few times, try changing a few
-things in the code. See what you can come up with. Some suggestions to try are:<a
-name="d6e44_id"></a><a name="d6e45_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l4 level1 lfo8'>Alter the logic in the
-     update() method to change the update order.<a name="d6e50_id"></a></li>
- <li class=MsoNormal style='mso-list:l4 level1 lfo8'>Change some of the game's
-     constants and equations to apply different physics to the spaceship.<a
-     name="d6e52_id"></a></li>
- <li class=MsoNormal style='mso-list:l4 level1 lfo8'>Use different shaders and
-     textures to mix up the look of the game.<a name="d6e54_id"></a></li>
- <li class=MsoNormal style='mso-list:l4 level1 lfo8'>Explore the different types
-     of inputs (for example, inverting the controls can provide a different
-     challenge or using a finger press can stop the spaceship completely). </li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h2><a name="_Toc322508024"></a><a name="d7e3_id"></a><span style='mso-bookmark:
-_Toc322508024'>Li</span>cense</h2>
-
-<p class=MsoNormal>The project is open sourced under the Apache 2.0 license.</p>
-
-<h3>Disclaimer</h3>
-
-<p class=MsoNormal>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY
-OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>©2012 Research In Motion Limited. All rights reserved.
-BlackBerry®, RIM®, Research In Motion®, and related trademarks, names, and
-logos are the property of Research In Motion Limited and are registered and/or
-used in the U.S. and countries around the world.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Android is a trademark of Google Inc. Apache is a trademark
-of The Apache Software Foundation. Apple, iPhone, iPad, Mac OS, TrueType, and
-Xcode are trademarks of Apple Inc. Bluetooth is a trademark of Bluetooth SIG.
-COLLADA and OpenGL are trademarks of Khronos Group Inc. Eclipse is a trademark
-of Eclipse Foundation, Inc. FBX and Maya are trademarks of Autodesk, Inc.
-GitHub is a trademark of Github, LLC. Linux is a trademark of Linus Torvalds.
-Microsoft, Windows, and Visual Studio are trademarks of Microsoft Corporation.
-QNX and Momentics are trademarks of QNX Software Systems Limited. All other
-trademarks are the property of their respective owners.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This documentation including all documentation incorporated
-by reference herein such as documentation provided or made available at <u><span
-style='color:blue'><a href="http://www.blackberry.com/go/docs"><span
-style='font-family:"Times New Roman","serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>www.blackberry.com/go/docs</span></span></a></span></u>
-is provided or made accessible &quot;AS IS&quot; and &quot;AS AVAILABLE&quot;
-and without condition, endorsement, guarantee, representation, or warranty of
-any kind by Research In Motion Limited and its affiliated companies
-(&quot;RIM&quot;) and RIM assumes no responsibility for any typographical,
-technical, or other inaccuracies, errors, or omissions in this documentation.
-In order to protect RIM proprietary and confidential information and/or trade
-secrets, this documentation may describe some aspects of RIM technology in
-generalized terms. RIM reserves the right to periodically change information
-that is contained in this documentation; however, RIM makes no commitment to
-provide any such changes, updates, enhancements, or other additions to this
-documentation to you in a timely manner or at all.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This documentation might contain references to third-party
-sources of information, hardware or software, products or services including
-components and content such as content protected by copyright and/or
-third-party web sites (collectively the &quot;Third Party Products and
-Services&quot;). RIM does not control, and is not responsible for, any Third
-Party Products and Services including, without limitation the content, accuracy,
-copyright compliance, compatibility, performance, trustworthiness, legality,
-decency, links, or any other aspect of Third Party Products and Services. The
-inclusion of a reference to Third Party Products and Services in this
-documentation does not imply endorsement by RIM of the Third Party Products and
-Services or the third party in any way.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>EXCEPT TO THE EXTENT SPECIFICALLY PROHIBITED BY APPLICABLE
-LAW IN YOUR JURISDICTION, ALL CONDITIONS, ENDORSEMENTS, GUARANTEES,
-REPRESENTATIONS, OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-WITHOUT LIMITATION, ANY CONDITIONS, ENDORSEMENTS, GUARANTEES, REPRESENTATIONS
-OR WARRANTIES OF DURABILITY, FITNESS FOR A PARTICULAR PURPOSE OR USE,
-MERCHANTABILITY, MERCHANTABLE QUALITY, NON-INFRINGEMENT, SATISFACTORY QUALITY,
-OR TITLE, OR ARISING FROM A STATUTE OR CUSTOM OR A COURSE OF DEALING OR USAGE
-OF TRADE, OR RELATED TO THE DOCUMENTATION OR ITS USE, OR PERFORMANCE OR
-NON-PERFORMANCE OF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS
-AND SERVICES REFERENCED HEREIN, ARE HEREBY EXCLUDED. YOU MAY ALSO HAVE OTHER
-RIGHTS THAT VARY BY STATE OR PROVINCE. SOME JURISDICTIONS MAY NOT ALLOW THE
-EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES AND CONDITIONS. TO THE EXTENT
-PERMITTED BY LAW, ANY IMPLIED WARRANTIES OR CONDITIONS RELATING TO THE
-DOCUMENTATION TO THE EXTENT THEY CANNOT BE EXCLUDED AS SET OUT ABOVE, BUT CAN
-BE LIMITED, ARE HEREBY LIMITED TO NINETY (90) DAYS FROM THE DATE YOU FIRST
-ACQUIRED THE DOCUMENTATION OR THE ITEM THAT IS THE SUBJECT OF THE CLAIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, IN NO EVENT SHALL RIM BE LIABLE FOR ANY TYPE OF DAMAGES RELATED
-TO THIS DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCE OF ANY
-SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES
-REFERENCED HEREIN INCLUDING WITHOUT LIMITATION ANY OF THE FOLLOWING DAMAGES:
-DIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR
-AGGRAVATED DAMAGES, DAMAGES FOR LOSS OF PROFITS OR REVENUES, FAILURE TO REALIZE
-ANY EXPECTED SAVINGS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS
-OF BUSINESS OPPORTUNITY, OR CORRUPTION OR LOSS OF DATA, FAILURES TO TRANSMIT OR
-RECEIVE ANY DATA, PROBLEMS ASSOCIATED WITH ANY APPLICATIONS USED IN CONJUNCTION
-WITH RIM PRODUCTS OR SERVICES, DOWNTIME COSTS, LOSS OF THE USE OF RIM PRODUCTS
-OR SERVICES OR ANY PORTION THEREOF OR OF ANY AIRTIME SERVICES, COST OF
-SUBSTITUTE GOODS, COSTS OF COVER, FACILITIES OR SERVICES, COST OF CAPITAL, OR
-OTHER SIMILAR PECUNIARY LOSSES, WHETHER OR NOT SUCH DAMAGES WERE FORESEEN OR
-UNFORESEEN, AND EVEN IF RIM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, RIM SHALL HAVE NO OTHER OBLIGATION, DUTY, OR LIABILITY WHATSOEVER
-IN CONTRACT, TORT, OR OTHERWISE TO YOU INCLUDING ANY LIABILITY FOR NEGLIGENCE
-OR STRICT LIABILITY.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>THE LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS HEREIN SHALL
-APPLY: (A) IRRESPECTIVE OF THE NATURE OF THE CAUSE OF ACTION, DEMAND, OR ACTION
-BY YOU INCLUDING BUT NOT LIMITED TO BREACH OF CONTRACT, NEGLIGENCE, TORT,
-STRICT LIABILITY OR ANY OTHER LEGAL THEORY AND SHALL SURVIVE A FUNDAMENTAL
-BREACH OR BREACHES OR THE FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR
-OF ANY REMEDY CONTAINED HEREIN; AND (B) TO RIM AND ITS AFFILIATED COMPANIES,
-THEIR SUCCESSORS, ASSIGNS, AGENTS, SUPPLIERS (INCLUDING AIRTIME SERVICE
-PROVIDERS), AUTHORIZED RIM DISTRIBUTORS (ALSO INCLUDING AIRTIME SERVICE
-PROVIDERS) AND THEIR RESPECTIVE DIRECTORS, EMPLOYEES, AND INDEPENDENT CONTRACTORS.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-spacerun:yes'> </span>IN ADDITION TO THE
-LIMITATIONS AND EXCLUSIONS SET OUT ABOVE, IN NO EVENT SHALL ANY DIRECTOR,
-EMPLOYEE, AGENT, DISTRIBUTOR, SUPPLIER, INDEPENDENT CONTRACTOR OF RIM OR ANY
-AFFILIATES OF RIM HAVE ANY LIABILITY ARISING FROM OR RELATED TO THE DOCUMENTATION.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Prior to subscribing for, installing, or using any Third
-Party Products and Services, it is your responsibility to ensure that your
-airtime service provider has agreed to support all of their features. Some
-airtime service providers might not offer Internet browsing functionality with
-a subscription to the BlackBerry® Internet Service. Check with your service
-provider for availability, roaming arrangements, service plans and features.
-Installation or use of Third Party Products and Services with RIM's products
-and services may require one or more patent, trademark, copyright, or other
-licenses in order to avoid infringement or violation of third party rights. You
-are solely responsible for determining whether to use Third Party Products and
-Services and if any third party licenses are required to do so. If required you
-are responsible for acquiring them. You should not install or use Third Party
-Products and Services until all necessary licenses have been acquired. Any
-Third Party Products and Services that are provided with RIM's products and
-services are provided as a convenience to you and are provided &quot;AS
-IS&quot; with no express or implied conditions, endorsements, guarantees,
-representations, or warranties of any kind by RIM and RIM assumes no liability whatsoever,
-in relation thereto. Your use of Third Party Products and Services shall be
-governed by and subject to you agreeing to the terms of separate licenses and
-other agreements applicable thereto with third parties, except to the extent
-expressly covered by a license or other agreement with RIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Certain features outlined in this documentation require a
-minimum version of BlackBerry® Enterprise Server, BlackBerry® Desktop Software,
-and/or BlackBerry® Device Software.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The terms of use of any RIM product or service are set out
-in a separate license or other agreement with RIM applicable thereto. NOTHING
-IN THIS DOCUMENTATION IS INTENDED TO SUPERSEDE ANY EXPRESS WRITTEN AGREEMENTS
-OR WARRANTIES PROVIDED BY RIM FOR PORTIONS OF ANY RIM PRODUCT OR SERVICE OTHER
-THAN THIS DOCUMENTATION.</p>
-
-<p class=MsoNormal><a name=d20e152a1310></a><a name=d20e156a1310></a><a
-name=d20e159a1310></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Research In Motion Limited</p>
-
-<p class=MsoNormal>295 Phillip Street</p>
-
-<p class=MsoNormal>Waterloo, ON N2L 3W8</p>
-
-<p class=MsoNormal>Canada</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Published in Canada</p>
-
-</div>
-
-</body>
-
-</html>

BIN
docs/sample02-spaceship.pdf


+ 0 - 2
docs/sample02-spaceship_files/colorschememapping.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

+ 0 - 20
docs/sample02-spaceship_files/filelist.xml

@@ -1,20 +0,0 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../sample02-spaceship.html"/>
- <o:File HRef="item0018.xml"/>
- <o:File HRef="props019.xml"/>
- <o:File HRef="themedata.thmx"/>
- <o:File HRef="colorschememapping.xml"/>
- <o:File HRef="image001.png"/>
- <o:File HRef="image002.png"/>
- <o:File HRef="image003.png"/>
- <o:File HRef="image004.png"/>
- <o:File HRef="image005.png"/>
- <o:File HRef="image006.png"/>
- <o:File HRef="image007.png"/>
- <o:File HRef="image008.png"/>
- <o:File HRef="image009.png"/>
- <o:File HRef="image010.png"/>
- <o:File HRef="image011.png"/>
- <o:File HRef="image012.png"/>
- <o:File HRef="filelist.xml"/>
-</xml>

BIN
docs/sample02-spaceship_files/image001.png


BIN
docs/sample02-spaceship_files/image002.png


BIN
docs/sample02-spaceship_files/image003.png


BIN
docs/sample02-spaceship_files/image004.png


BIN
docs/sample02-spaceship_files/image005.png


BIN
docs/sample02-spaceship_files/image006.png


BIN
docs/sample02-spaceship_files/image007.png


BIN
docs/sample02-spaceship_files/image008.png


BIN
docs/sample02-spaceship_files/image009.png


BIN
docs/sample02-spaceship_files/image010.png


BIN
docs/sample02-spaceship_files/image011.png


BIN
docs/sample02-spaceship_files/image012.png


+ 0 - 1
docs/sample02-spaceship_files/item0018.xml

@@ -1 +0,0 @@
-<b:Sources SelectedStyle="\APA.XSL" StyleName="APA" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"></b:Sources>

+ 0 - 2
docs/sample02-spaceship_files/props019.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<ds:datastoreItem ds:itemID="{ED5BB916-2820-421C-8334-D0CF1436505C}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>

BIN
docs/sample02-spaceship_files/themedata.thmx


BIN
docs/sample03-character.doc


+ 0 - 4331
docs/sample03-character.html

@@ -1,4331 +0,0 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 14">
-<meta name=Originator content="Microsoft Word 14">
-<link rel=File-List href="sample03-character_files/filelist.xml">
-<link rel=Edit-Time-Data href="sample03-character_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>user</o:Author>
-  <o:LastAuthor>Sean Paul Taylor</o:LastAuthor>
-  <o:Revision>4</o:Revision>
-  <o:TotalTime>420</o:TotalTime>
-  <o:LastPrinted>2012-07-24T19:28:00Z</o:LastPrinted>
-  <o:Created>2012-07-24T19:28:00Z</o:Created>
-  <o:LastSaved>2012-07-24T19:28:00Z</o:LastSaved>
-  <o:Pages>13</o:Pages>
-  <o:Words>6101</o:Words>
-  <o:Characters>34780</o:Characters>
-  <o:Company>Research In Motion Limited</o:Company>
-  <o:Lines>289</o:Lines>
-  <o:Paragraphs>81</o:Paragraphs>
-  <o:CharactersWithSpaces>40800</o:CharactersWithSpaces>
-  <o:Version>14.00</o:Version>
- </o:DocumentProperties>
- <o:OfficeDocumentSettings>
-  <o:AllowPNG/>
- </o:OfficeDocumentSettings>
-</xml><![endif]-->
-<link rel=dataStoreItem href="sample03-character_files/item0027.xml"
-target="sample03-character_files/props028.xml">
-<link rel=themeData href="sample03-character_files/themedata.thmx">
-<link rel=colorSchemeMapping
-href="sample03-character_files/colorschememapping.xml">
-<!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:SpellingState>Clean</w:SpellingState>
-  <w:GrammarState>Clean</w:GrammarState>
-  <w:TrackMoves>false</w:TrackMoves>
-  <w:TrackFormatting/>
-  <w:PunctuationKerning/>
-  <w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
-  <w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
-  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
-  <w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
-  <w:UseMarginsForDrawingGridOrigin/>
-  <w:ValidateAgainstSchemas>false</w:ValidateAgainstSchemas>
-  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
-  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
-  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
-  <w:DoNotUnderlineInvalidXML/>
-  <w:DoNotPromoteQF/>
-  <w:LidThemeOther>EN-US</w:LidThemeOther>
-  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
-  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
-  <w:DoNotShadeFormData/>
-  <w:Compatibility>
-   <w:SpaceForUL/>
-   <w:BalanceSingleByteDoubleByteWidth/>
-   <w:DoNotLeaveBackslashAlone/>
-   <w:ULTrailSpace/>
-   <w:DoNotExpandShiftReturn/>
-   <w:FootnoteLayoutLikeWW8/>
-   <w:ShapeLayoutLikeWW8/>
-   <w:AlignTablesRowByRow/>
-   <w:ForgetLastTabAlignment/>
-   <w:AdjustLineHeightInTable/>
-   <w:LayoutRawTableWidth/>
-   <w:LayoutTableRowsApart/>
-   <w:UseWord97LineBreakingRules/>
-   <w:SelectEntireFieldWithStartOrEnd/>
-   <w:UseWord2002TableStyleRules/>
-   <w:DontUseIndentAsNumberingTabStop/>
-   <w:FELineBreak11/>
-   <w:WW11IndentRules/>
-   <w:DontAutofitConstrainedTables/>
-   <w:AutofitLikeWW11/>
-   <w:UnderlineTabInNumList/>
-   <w:HangulWidthLikeWW11/>
-   <w:UseNormalStyleForList/>
-   <w:DontVertAlignCellWithSp/>
-   <w:DontBreakConstrainedForcedTables/>
-   <w:DontVertAlignInTxbx/>
-   <w:Word11KerningPairs/>
-   <w:CachedColBalance/>
-   <w:UseFELayout/>
-  </w:Compatibility>
-  <m:mathPr>
-   <m:mathFont m:val="Cambria Math"/>
-   <m:brkBin m:val="before"/>
-   <m:brkBinSub m:val="&#45;-"/>
-   <m:smallFrac m:val="off"/>
-   <m:dispDef/>
-   <m:lMargin m:val="0"/>
-   <m:rMargin m:val="0"/>
-   <m:defJc m:val="centerGroup"/>
-   <m:wrapIndent m:val="1440"/>
-   <m:intLim m:val="subSup"/>
-   <m:naryLim m:val="undOvr"/>
-  </m:mathPr></w:WordDocument>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
-  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
-  LatentStyleCount="267">
-  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 1"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 2"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 3"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 4"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 5"/>
-  <w:LsdException Locked="false" SemiHidden="false" UnhideWhenUsed="false"
-   QFormat="true" Name="heading 6"/>
-  <w:LsdException Locked="false" Priority="9" Name="heading 7"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
-  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
-  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
-  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
-  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
-  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
-  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
-  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
-  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
-  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Table Grid"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
-  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 1"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
-  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
-  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
-  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
-  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 2"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 3"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 4"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 5"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
-  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light List Accent 6"/>
-  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
-  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
-  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
-  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
-  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
-  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
-  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
-   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
-  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
-  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
-  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
-  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
-  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
-   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
-  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
-  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
- </w:LatentStyles>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:Calibri;
-	panose-1:2 15 5 2 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-520092929 1073786111 9 0 415 0;}
-@font-face
-	{font-family:"Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:"\@Malgun Gothic";
-	panose-1:2 11 5 3 2 0 0 2 0 4;
-	mso-font-charset:129;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:-1879047505 165117179 18 0 524289 0;}
-@font-face
-	{font-family:Consolas;
-	panose-1:2 11 6 9 2 2 4 3 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:modern;
-	mso-font-pitch:fixed;
-	mso-font-signature:-520092929 1073806591 9 0 415 0;}
-@font-face
-	{font-family:"Trade Gothic Next LT Pro Lt";
-	panose-1:0 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-format:other;
-	mso-font-pitch:variable;
-	mso-font-signature:3 0 0 0 1 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:"Times New Roman";}
-h1
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 1 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:24.0pt;
-	font-family:"Arial","sans-serif";
-	mso-font-kerning:0pt;}
-h2
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-parent:Subtitle;
-	mso-style-link:"Heading 2 Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:12.0pt;
-	margin-left:0in;
-	page-break-before:always;
-	mso-pagination:none;
-	mso-outline-level:2;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	color:#009ACD;
-	mso-bidi-font-weight:normal;}
-h3
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 3 Char";
-	mso-style-next:Normal;
-	margin-top:24.0pt;
-	margin-right:0in;
-	margin-bottom:6.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	page-break-after:avoid;
-	mso-outline-level:3;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:18.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:Arial;}
-h4
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 4 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:4;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:10.0pt;
-	font-family:"Arial","sans-serif";}
-h5
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 5 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:5;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:9.0pt;
-	font-family:"Arial","sans-serif";}
-h6
-	{mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Heading 6 Char";
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-outline-level:6;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:8.0pt;
-	font-family:"Arial","sans-serif";}
-p.MsoToc1, li.MsoToc1, div.MsoToc1
-	{mso-style-update:auto;
-	mso-style-priority:39;
-	mso-style-next:Normal;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:"Times New Roman";}
-p.MsoTitle, li.MsoTitle, div.MsoTitle
-	{mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Title Char";
-	mso-style-next:Normal;
-	margin-top:12.0pt;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:none;
-	mso-outline-level:1;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;}
-p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
-	{mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-qformat:yes;
-	mso-style-link:"Subtitle Char";
-	mso-style-next:Normal;
-	margin-top:0in;
-	margin-right:0in;
-	margin-bottom:3.0pt;
-	margin-left:0in;
-	mso-pagination:none;
-	mso-outline-level:2;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:36.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-a:link, span.MsoHyperlink
-	{mso-style-priority:99;
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	color:blue;
-	mso-themecolor:hyperlink;
-	mso-style-textfill-fill-color:blue;
-	mso-style-textfill-fill-themecolor:hyperlink;
-	mso-style-textfill-fill-alpha:100.0%;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{mso-style-noshow:yes;
-	mso-style-priority:99;
-	color:purple;
-	mso-themecolor:followedhyperlink;
-	text-decoration:underline;
-	text-underline:single;}
-pre
-	{mso-style-priority:99;
-	mso-style-link:"HTML Preformatted Char";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Courier New";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;}
-span.Heading1Char
-	{mso-style-name:"Heading 1 Char";
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 1";
-	mso-ansi-font-size:16.0pt;
-	mso-bidi-font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:16.0pt;
-	font-weight:bold;}
-span.Heading2Char
-	{mso-style-name:"Heading 2 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 2";
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-ascii-font-family:Arial;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Arial;
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	mso-style-textfill-fill-color:#009ACD;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.Heading3Char
-	{mso-style-name:"Heading 3 Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 3";
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Malgun Gothic";
-	mso-bidi-font-family:Arial;
-	font-weight:bold;}
-span.Heading4Char
-	{mso-style-name:"Heading 4 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 4";
-	mso-ansi-font-size:14.0pt;
-	mso-bidi-font-size:14.0pt;
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;}
-span.Heading5Char
-	{mso-style-name:"Heading 5 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 5";
-	mso-ansi-font-size:13.0pt;
-	mso-bidi-font-size:13.0pt;
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;
-	font-style:italic;}
-span.Heading6Char
-	{mso-style-name:"Heading 6 Char";
-	mso-style-noshow:yes;
-	mso-style-priority:9;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"Heading 6";
-	font-family:"Times New Roman","serif";
-	mso-bidi-font-family:"Times New Roman";
-	font-weight:bold;}
-p.tableheader, li.tableheader, div.tableheader
-	{mso-style-name:"table header";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	font-weight:bold;}
-p.link, li.link, div.link
-	{mso-style-name:link;
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-bidi-font-family:"Times New Roman";}
-p.tabletitle, li.tabletitle, div.tabletitle
-	{mso-style-name:"table title";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:none;
-	mso-layout-grid-align:none;
-	text-autospace:none;
-	font-size:12.0pt;
-	font-family:"Arial","sans-serif";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	font-weight:bold;}
-span.SubtitleChar
-	{mso-style-name:"Subtitle Char";
-	mso-style-priority:11;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Subtitle;
-	mso-ansi-font-size:12.0pt;
-	mso-bidi-font-size:12.0pt;
-	font-family:"Malgun Gothic","sans-serif";
-	mso-ascii-font-family:"Malgun Gothic";
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:"Malgun Gothic";
-	mso-bidi-font-family:"Times New Roman";
-	color:#009ACD;
-	mso-style-textfill-fill-color:#009ACD;
-	mso-style-textfill-fill-alpha:100.0%;
-	font-weight:bold;
-	mso-bidi-font-weight:normal;}
-span.TitleChar
-	{mso-style-name:"Title Char";
-	mso-style-priority:10;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:Title;
-	mso-ansi-font-size:16.0pt;
-	mso-bidi-font-size:16.0pt;
-	font-family:"Cambria","serif";
-	mso-ascii-font-family:Cambria;
-	mso-ascii-theme-font:major-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:major-fareast;
-	mso-hansi-font-family:Cambria;
-	mso-hansi-theme-font:major-latin;
-	mso-bidi-font-family:"Times New Roman";
-	mso-font-kerning:14.0pt;
-	font-weight:bold;}
-span.HTMLPreformattedChar
-	{mso-style-name:"HTML Preformatted Char";
-	mso-style-priority:99;
-	mso-style-unhide:no;
-	mso-style-locked:yes;
-	mso-style-link:"HTML Preformatted";
-	mso-ansi-font-size:10.0pt;
-	mso-bidi-font-size:10.0pt;
-	font-family:"Courier New";
-	mso-ascii-font-family:"Courier New";
-	mso-hansi-font-family:"Courier New";
-	mso-bidi-font-family:"Courier New";}
-span.SpellE
-	{mso-style-name:"";
-	mso-spl-e:yes;}
-span.GramE
-	{mso-style-name:"";
-	mso-gram-e:yes;}
-.MsoChpDefault
-	{mso-style-type:export-only;
-	mso-default-props:yes;
-	font-size:11.0pt;
-	mso-ansi-font-size:11.0pt;
-	mso-bidi-font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-ascii-font-family:Calibri;
-	mso-ascii-theme-font:minor-latin;
-	mso-fareast-font-family:"Times New Roman";
-	mso-fareast-theme-font:minor-fareast;
-	mso-hansi-font-family:Calibri;
-	mso-hansi-theme-font:minor-latin;}
-.MsoPapDefault
-	{mso-style-type:export-only;
-	margin-bottom:10.0pt;
-	line-height:115%;}
- /* Page Definitions */
- @page
-	{mso-page-border-surround-header:no;
-	mso-page-border-surround-footer:no;}
-@page WordSection1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.0in 1.0in 1.0in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.WordSection1
-	{page:WordSection1;}
- /* List Definitions */
- @list l0
-	{mso-list-id:123;
-	mso-list-type:hybrid;
-	mso-list-template-ids:112 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l0:level1
-	{mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%2\)";
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:right;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level4
-	{mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%5\)";
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:right;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level7
-	{mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%8\)";
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l0:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:right;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1
-	{mso-list-id:124;
-	mso-list-type:hybrid;
-	mso-list-template-ids:113 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l1:level1
-	{mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%2\)";
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:right;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level4
-	{mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%5\)";
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:right;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level7
-	{mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%8\)";
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l1:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:right;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2
-	{mso-list-id:126;
-	mso-list-template-ids:67698717;}
-@list l2:level1
-	{mso-level-text:"%1\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%2\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.5in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-text:"%3\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.75in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level4
-	{mso-level-text:"\(%4\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.0in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"\(%5\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-text:"\(%6\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.5in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level7
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:2.0in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l2:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:2.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3
-	{mso-list-id:127;
-	mso-list-template-ids:67698717;}
-@list l3:level1
-	{mso-level-text:"%1\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%2\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.5in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-text:"%3\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.75in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level4
-	{mso-level-text:"\(%4\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.0in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"\(%5\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-text:"\(%6\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.5in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level7
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:2.0in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l3:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:2.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4
-	{mso-list-id:128;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-1933950312 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l4:level1
-	{mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%2\)";
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:right;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level4
-	{mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%5\)";
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:right;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level7
-	{mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%8\)";
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l4:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:right;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l5
-	{mso-list-id:134;
-	mso-list-type:hybrid;
-	mso-list-template-ids:221 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l5:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:left;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l5:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:left;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6
-	{mso-list-id:137;
-	mso-list-type:hybrid;
-	mso-list-template-ids:224 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l6:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:left;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l6:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:left;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7
-	{mso-list-id:141;
-	mso-list-type:hybrid;
-	mso-list-template-ids:228 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l7:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:left;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l7:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:left;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8
-	{mso-list-id:142;
-	mso-list-type:hybrid;
-	mso-list-template-ids:229 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l8:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:left;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l8:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:left;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9
-	{mso-list-id:143;
-	mso-list-type:hybrid;
-	mso-list-template-ids:230 -1 -1 -1 -1 -1 -1 -1 -1 -1;}
-@list l9:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:21.0pt;
-	mso-level-number-position:left;
-	margin-left:21.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:42.0pt;
-	mso-level-number-position:left;
-	margin-left:42.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:63.0pt;
-	mso-level-number-position:left;
-	margin-left:63.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:84.0pt;
-	mso-level-number-position:left;
-	margin-left:84.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:105.0pt;
-	mso-level-number-position:left;
-	margin-left:105.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:1.75in;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06C;
-	mso-level-tab-stop:147.0pt;
-	mso-level-number-position:left;
-	margin-left:147.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:\F06E;
-	mso-level-tab-stop:168.0pt;
-	mso-level-number-position:left;
-	margin-left:168.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l9:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F075;
-	mso-level-tab-stop:189.0pt;
-	mso-level-number-position:left;
-	margin-left:189.0pt;
-	text-indent:-21.0pt;
-	font-family:Wingdings;}
-@list l10
-	{mso-list-id:24793078;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-1743465768 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l10:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l10:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l10:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l10:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l10:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l10:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l10:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l10:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l10:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l11
-	{mso-list-id:401291200;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-114894808 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l11:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l11:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l11:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l11:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l11:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l11:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l11:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l11:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l11:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l12
-	{mso-list-id:465240287;
-	mso-list-type:hybrid;
-	mso-list-template-ids:1005640290 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l12:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level4
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level7
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l12:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l13
-	{mso-list-id:582841341;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-263444700 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l13:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l13:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l13:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l13:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l13:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l13:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l13:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l13:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l13:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l14
-	{mso-list-id:745227459;
-	mso-list-template-ids:67698717;}
-@list l14:level1
-	{mso-level-text:"%1\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"%2\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.5in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-text:"%3\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:.75in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level4
-	{mso-level-text:"\(%4\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.0in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-text:"\(%5\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-text:"\(%6\)";
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.5in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level7
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:1.75in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:2.0in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l14:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	margin-left:2.25in;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15
-	{mso-list-id:1163861170;
-	mso-list-type:hybrid;
-	mso-list-template-ids:133461996 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
-@list l15:level1
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level2
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level3
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level4
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level5
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level6
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level7
-	{mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level8
-	{mso-level-number-format:alpha-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-bidi-font-family:"Times New Roman";}
-@list l15:level9
-	{mso-level-number-format:roman-lower;
-	mso-level-tab-stop:none;
-	mso-level-number-position:right;
-	text-indent:-9.0pt;
-	mso-bidi-font-family:"Times New Roman";}
-@list l16
-	{mso-list-id:1226407379;
-	mso-list-type:hybrid;
-	mso-list-template-ids:-1705072292 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l16:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l16:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l16:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l16:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l16:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l16:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l16:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l16:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l16:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l17
-	{mso-list-id:1489708165;
-	mso-list-type:hybrid;
-	mso-list-template-ids:2044479960 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
-@list l17:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l17:level2
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l17:level3
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l17:level4
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l17:level5
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l17:level6
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-@list l17:level7
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Symbol;}
-@list l17:level8
-	{mso-level-number-format:bullet;
-	mso-level-text:o;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:"Courier New";
-	mso-bidi-font-family:"Times New Roman";}
-@list l17:level9
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0A7;
-	mso-level-tab-stop:none;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	font-family:Wingdings;}
-ol
-	{margin-bottom:0in;}
-ul
-	{margin-bottom:0in;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-priority:99;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin-top:0in;
-	mso-para-margin-right:0in;
-	mso-para-margin-bottom:10.0pt;
-	mso-para-margin-left:0in;
-	line-height:115%;
-	mso-pagination:widow-orphan;
-	font-size:11.0pt;
-	font-family:"Calibri","sans-serif";
-	mso-ascii-font-family:Calibri;
-	mso-ascii-theme-font:minor-latin;
-	mso-hansi-font-family:Calibri;
-	mso-hansi-theme-font:minor-latin;
-	mso-bidi-font-family:"Times New Roman";}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="1034"/>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
-  <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in;text-justify-trim:
-punctuation'>
-
-<div class=WordSection1>
-
-<p class=MsoNormal><a name="d1e3_id"></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
- o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
- stroked="f">
- <v:stroke joinstyle="miter"/>
- <v:formulas>
-  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
-  <v:f eqn="sum @0 1 0"/>
-  <v:f eqn="sum 0 0 @1"/>
-  <v:f eqn="prod @2 1 2"/>
-  <v:f eqn="prod @3 21600 pixelWidth"/>
-  <v:f eqn="prod @3 21600 pixelHeight"/>
-  <v:f eqn="sum @0 0 1"/>
-  <v:f eqn="prod @6 1 2"/>
-  <v:f eqn="prod @7 21600 pixelWidth"/>
-  <v:f eqn="sum @8 21600 0"/>
-  <v:f eqn="prod @7 21600 pixelHeight"/>
-  <v:f eqn="sum @10 21600 0"/>
- </v:formulas>
- <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
- <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:460.5pt;
- height:91.5pt'>
- <v:imagedata src="sample03-character_files/image001.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img width=614 height=122
-src="sample03-character_files/image002.png" v:shapes="_x0000_i1025"><![endif]></p>
-
-<p class=MsoSubtitle><span style='mso-bidi-font-size:28.0pt'>Tutorial: </span><span
-style='mso-bidi-font-size:28.0pt;font-weight:normal'>Character</span><br
-clear=all style='page-break-before:always'>
-<span style='font-size:26.0pt;mso-bidi-font-size:12.0pt'>Contents </span><!--[if supportFields]><span
-style='mso-element:field-begin'></span>\TOC \f \h<![endif]--><!--[if supportFields]><span
-style='mso-element:field-end'></span><![endif]--><span
-style='mso-spacerun:yes'>     </span><span style='mso-bidi-font-size:28.0pt;
-font-weight:normal'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif";
-color:#009ACD'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><!--[if supportFields]><span
-style='color:#009ACD'><span style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>TOC \o &quot;1-1&quot; \h \z \u <span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='color:#009ACD'><span class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322426774"><span style='font-family:
-"Trade Gothic Next LT Pro Lt","sans-serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>Create
-game assets</span></span><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'> PAGEREF _Toc322426774 \h </span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>4</span></span><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003400320036003700370034000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#009ACD;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322426775"><span style='font-family:
-"Trade Gothic Next LT Pro Lt","sans-serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>Export
-and encode your asset</span></span><span style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><span style='color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'>s</span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'> PAGEREF _Toc322426775 \h </span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>14</span></span><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003400320036003700370035000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#009ACD;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322426776"><span style='font-family:
-"Trade Gothic Next LT Pro Lt","sans-serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>Loading</span></span><span
-style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif";color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'> </span></span><span style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif";
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><span style='color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'>game</span></span><span style='font-family:
-"Trade Gothic Next LT Pro Lt","sans-serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>
-content</span></span><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'> PAGEREF _Toc322426776 \h </span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>22</span></span><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003400320036003700370036000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#009ACD;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><o:p><span style='text-decoration:none'>&nbsp;</span></o:p></span></span></p>
-
-<p class=MsoToc1 style='tab-stops:right dotted 467.5pt'><span
-class=MsoHyperlink><span style='font-family:"Malgun Gothic","sans-serif";
-mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
-color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;mso-no-proof:yes'><a href="#_Toc322426777"><span style='font-family:
-"Trade Gothic Next LT Pro Lt","sans-serif";color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>L</span></span><span
-style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif";color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>icense</span></span><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-begin'></span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'> PAGEREF _Toc322426777 \h </span></span><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>30</span></span><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;display:none;mso-hide:screen;
-text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300320032003400320036003700370037000000</w:data>
-</xml><![endif]--></span><!--[if supportFields]><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%;
-display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
-style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
-style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font:
-minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
-color:#009ACD;mso-no-proof:yes'><o:p></o:p></span></p>
-
-<p class=link><!--[if supportFields]><span style='color:#009ACD'><span
-style='mso-element:field-end'></span></span><![endif]--><span style='color:
-#009ACD'><span style='mso-tab-count:3'>                        </span><span
-style='mso-spacerun:yes'> </span><span style='mso-tab-count:4'>                               </span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='mso-spacerun:yes'> </span></p>
-
-<h2>Controlling a character!</h2>
-
-<p class=MsoNormal><a name="d1e10_id"></a>Object models are the building blocks
-of any game. They define how the game looks, and they're also fun to create. Sometimes
-though, you want to take your game to the next level. Adding animations and
-physics will allow you to put objects into your game that move realistically,
-adding depth and character to your game.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75"
- style='width:468pt;height:249.75pt'>
- <v:imagedata src="sample03-character_files/image003.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img width=624 height=333
-src="sample03-character_files/image003.png" v:shapes="_x0000_i1026"><![endif]></p>
-
-<p class=MsoNormal>This tutorial will show you how to create, animate, and
-control a character in a game. It will look at the key steps of the modeling
-pipeline, from creating a model in a design tool, animating it, and importing
-it into an application using the gameplay library (<u><span style='color:blue'><a
-href="https://github.com/blackberry/GamePlay"><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>https://github.com/blackberry/gameplay</span></span></a></span></u>).
-Gameplay provides tools and APIs that make the process of importing and
-controlling your fully realized model easy and effective. It is recommended
-that you read the gameplay Development Guide before following this tutorial.<a
-name="d1e24_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<h3>You will learn to</h3>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l10 level1 lfo14'><a name="d1e27_id"></a><a
-     name="d1e28_id"></a>Create game assets<a name="d1e30_id"></a></li>
- <li class=MsoNormal style='mso-list:l10 level1 lfo14'>Export assets into
-     commonly used formats<a name="d1e32_id"></a></li>
- <li class=MsoNormal style='mso-list:l10 level1 lfo14'>Encode assets for use in
-     your game<a name="d1e34_id"></a></li>
- <li class=MsoNormal style='mso-list:l10 level1 lfo14'>Create the game!</li>
-</ul>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-9.0pt'><span
-style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>This tutorial also explains how the relevant pieces of the
-gameplay library work. It is suggested that readers follow along with the <u><span
-style='color:blue'><a
-href="https://github.com/blackberry/GamePlay/tree/master/gameplay-samples/sample03-character"><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><span style='color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'>sample03-character</span></span></a></span></u>
-sample available on <span class=SpellE>GitHub</span>.</p>
-
-<p class=link><span style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>This tutorial is presented using the Autodesk Maya (<u><span
-style='color:blue'><a href="http://usa.autodesk.com/maya/"><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><span style='color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'>http://usa.autodesk.com/maya/</span></span></a></span></u>)
-tool, however many other tools can be utilized to create for your game.<a
-name="d2e3_id"></a></p>
-
-<h3><a name="_Toc322426774"></a><a name="_Toc322426620"><span style='mso-bookmark:
-_Toc322426774'>Create game assets</span></a></h3>
-
-<p class=MsoNormal><a name="d2e10_id"></a>A game isn't a game without cool
-visual elements that bring the player into the environment. One of the ways to
-keep a player interested in the game is to have a character that represents
-them, such as an avatar. To illustrate how you can create a character, we will
-take this funky guy here, named <span class=SpellE>StevieGee</span>, and bring
-him into a simple game:<a name="d2e16_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75"
- style='width:153pt;height:205.5pt'>
- <v:imagedata src="sample03-character_files/image004.png" o:href="http://www.krighton.com/gameplay/character.png"/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=204 height=274
-src="sample03-character_files/image005.png" v:shapes="_x0000_i1027"><![endif]></p>
-
-<p class=MsoNormal>The content creation process for bringing <span
-class=SpellE>StevieGee</span> into the game is as follows:<a name="d2e21_id"></a><a
-name="d2e23_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='mso-list:l12 level1 lfo11'>Create the game asset in
-     a modeling tool <a name="d2e26_id"></a></li>
- <li class=MsoNormal style='mso-list:l12 level1 lfo11'>Export the asset out of
-     the modeling tool <a name="d2e29_id"></a></li>
- <li class=MsoNormal style='mso-list:l12 level1 lfo11'>Encode the asset into a
-     format that your game framework understands <a name="d2e32_id"></a></li>
- <li class=MsoNormal style='mso-list:l12 level1 lfo11'>Import the asset into
-     your game </li>
-</ol>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-9.0pt'><span
-style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>We will discuss content creation steps in-depth, but first,
-we'll describe how to create your game asset. You can use any number of tools
-to create your model, but here we'll use Autodesk Maya to illustrate the character
-creation process. The process for creating a game asset involves four steps:<a
-name="d2e45_id"></a><a name="d2e47_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ol style='margin-top:0in' start=1 type=1>
- <li class=MsoNormal style='mso-list:l15 level1 lfo12'>Creating the mesh <a
-     name="d2e50_id"></a></li>
- <li class=MsoNormal style='mso-list:l15 level1 lfo12'>Binding the skeleton to
-     the mesh <a name="d2e53_id"></a></li>
- <li class=MsoNormal style='mso-list:l15 level1 lfo12'>Animating the character <a
-     name="d2e56_id"></a></li>
- <li class=MsoNormal style='mso-list:l15 level1 lfo12'>Lighting the character<a
-     name="d2e62_id"></a></li>
-</ol>
-
-<h3>Creating the mesh</h3>
-
-<p class=MsoNormal>The first step in building a model is to create the 3-D
-surfaces that represent your object in the scene. To do this, you need some
-idea of what the objects will look like, and how they will move in order to
-accurately create them in the modeling tool. This requires some degree of
-imagination and artistic skill, as well as a familiarity with how modeling
-tools work. We'll give a very brief description of the concepts here but you
-are encouraged to browse the web and play around with tools to learn more
-details about object modeling.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Typically, each surface on an object model is represented by
-a network of shapes that have three or more sides, these shapes are called <i>polygons</i>.
-Polygons are connected together to create an object model, or <i>mesh</i>, and
-the points where the polygons connect are called <i>vertices</i>.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s1026"
-  type="#_x0000_t75" style='position:absolute;margin-left:193.65pt;
-  margin-top:0;width:293.85pt;height:133.15pt;z-index:251662336'
-  o:allowoverlap="f">
-  <v:imagedata src="sample03-character_files/image006.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><v:shape id="_x0000_s1027" type="#_x0000_t75" style='position:absolute;
-  margin-left:0;margin-top:0;width:161.6pt;height:228.15pt;z-index:251664384;
-  mso-position-horizontal:left'>
-  <v:imagedata src="sample03-character_files/image007.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout'>
- <table cellpadding=0 cellspacing=0>
-  <tr>
-   <td width=0 height=0></td>
-   <td width=215></td>
-   <td width=43></td>
-   <td width=392></td>
-  </tr>
-  <tr>
-   <td height=178></td>
-   <td rowspan=2 align=left valign=top><img width=215 height=304
-   src="sample03-character_files/image008.jpg" v:shapes="_x0000_s1027"></td>
-   <td></td>
-   <td align=left valign=top><img width=392 height=178
-   src="sample03-character_files/image009.jpg" v:shapes="_x0000_s1026"></td>
-  </tr>
-  <tr>
-   <td height=126></td>
-  </tr>
- </table>
- </span><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d2e83_id"></a>The higher the amount of polygons, the more detailed you
-can make your objects. For this tutorial, we use the relatively simple <span
-class=SpellE>StevieGee</span> mesh.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><a name="d2e90_id"></a>Of course, there are more ingredients
-involved in making a mesh look good, such as applying textures, materials, and
-lighting to the polygons, but we'll talk about those later in the tutorial.
-While we haven't gone into a lot of detail about creating meshes here (that
-could take several tutorials!), you can search the web to find your own
-content. There are plenty of freely available models out there, so it's just a
-matter of finding what you want. For now, we need to make the <span
-class=SpellE>StevieGee</span> mesh </p>
-
-<p class=MsoNormal><span class=GramE>move</span>, so that the player can
-interact with him in the game.<a name="d2e97_id"></a></p>
-
-<h3><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s1028" type="#_x0000_t75"
-  style='position:absolute;margin-left:-1.7pt;margin-top:-14.2pt;width:492.45pt;
-  height:301.55pt;z-index:251668480'>
-  <v:imagedata src="sample03-character_files/image010.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
- relative;z-index:251668480;left:-2px;top:0px;width:657px;height:402px'><img
- width=657 height=402 src="sample03-character_files/image011.jpg" v:shapes="_x0000_s1028"></span><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-Binding the skeleton to the mesh</h3>
-
-<p class=MsoNormal>To make a mesh move, you need to give it a framework that
-defines which parts of the mesh are moveable and how those parts can be adjusted.
-A <i>skeleton</i> is used to define this framework. Just like a real human
-body, a mesh's skeleton has bones that define immovable sections and joints
-that define articulation points between bones. You set the position and
-rotation limits of joints on the skeleton so that they rotate in a convincing
-manner and, when they are animated in the game, you adjust these values to give
-the appearance of movement.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s1029"
-  type="#_x0000_t75" style='position:absolute;margin-left:0;margin-top:0;
-  width:188.85pt;height:273.05pt;z-index:251666432;mso-position-horizontal:left'>
-  <v:imagedata src="sample03-character_files/image012.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=252 height=364
- src="sample03-character_files/image013.jpg" v:shapes="_x0000_s1029"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d2e109_id"></a><u><span style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif";
-color:blue'><o:p></o:p></span></u></p>
-
-<p class=MsoNormal>You combine the character's mesh with the character's
-skeleton through a process called <i>binding</i>. Binding a skeleton to a mesh
-defines a controlling mechanism that is used to deform the mesh according to
-the bone and joint properties of the skeleton. This means that when <span
-class=SpellE>StevieGee's</span> arm moves, you'll get the vertices and sides of
-the polygons around his elbow stretching or contracting, giving the appearance
-of realism. Usually the modeling tool calculates the deformation as part of the
-animation process, but you can further tweak how it looks. One such adjustment
-is to switch between the techniques used for binding, such as rigid and smooth
-binding. Here we'll use smooth binding because it allows for more than one
-joint in the skeleton to influence each vertex in the mesh, giving you a more
-realistic mesh deformation.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>In Maya, the options used to smooth bind the skeleton to the
-mesh are located under the <b>Animation</b> view. Once in the <b>Animation</b>
-view, select both the model's mesh and skeleton. Then from the menu bar select <b>Skin</b>
-&gt; <b>Bind Skin</b> &gt; <b>Smooth Bind</b> and click the box next to <b>Smooth
-Bind</b> to bring up the <b>Smooth Bind Options</b>. To apply the bind, click
-the <b>Bind Skin</b> button in the <b>Smooth Bind Options</b> window.<a
-name="d2e152_id"></a></p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s1030"
-  type="#_x0000_t75" style='position:absolute;margin-left:0;margin-top:0;
-  width:432.6pt;height:298.75pt;z-index:251670528;mso-position-horizontal:left'>
-  <v:imagedata src="sample03-character_files/image014.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=577 height=398
- src="sample03-character_files/image015.jpg" v:shapes="_x0000_s1030"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d2e156_id"></a><u><span style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif";
-color:blue'><o:p></o:p></span></u></p>
-
-<p class=MsoNormal>Note: Our GPU <span class=SpellE>shader</span> programs only
-support a maximum of four weighted influences per joint.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For more information on these properties, please visit the Smooth
-Bind section in the Maya <a
-href="http://download.autodesk.com/global/docs/maya2012/en_us/index.html?url=files/Skin__Bind_Skin__Smooth_Bind.htm,topicNumber=d28e288571http://download.autodesk.com/global/docs/maya2012/en_us/index.html?url=files/Skin__Bind_Skin__Smooth_Bind.htm,topicNumber=d28e288571"><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;text-decoration:none;text-underline:none'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>User
-Guide</span></span></a>.</p>
-
-<p class=link><span style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>Now, you have bound the skeleton to the mesh, but when you
-move the joints, the mesh might not deform in a realistic manner. This is where
-<i>influence objects</i> come into play. Influence objects are customized
-shapes you add to the skeleton to define deformation points beyond the joints.
-For example, you can position a spherical influence object near <span
-class=SpellE>StevieGee's</span> elbow so that the mesh bulges out as you move
-the joint. This can take a lot of fine-tuning and experimenting, but you'll see
-the results can add a lot to the overall impression of the model.<a
-name="d2e175_id"></a></p>
-
-<h3>Animating the character</h3>
-
-<p class=MsoNormal>Now that <span class=SpellE>StevieGee</span> looks good, and
-has a backbone, it's time to get him moving. The act of animating a mesh is
-essentially defining a path that each joint in the mesh's skeleton can take for
-a particular movement. &quot;Snapshots&quot; are taken along that path to store
-as the skeleton's different states, and these can be played back to re-create
-the movement. Each snapshot is referred to as a <i>frame</i> and when a set of
-frames is played in sequence, you get an animation.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The <span class=GramE>rate</span> at which frames are played
-back define how the animation looks and it is highly dependent on the medium
-where the animation is being played (television, film, video game, etc.).
-Typical frame rates are 24 or 30 frames per second (fps). The higher the frame
-rate, the more intensive the resource usage is. Because of this, it is typical
-for an animation to define <span class=SpellE><i>keyframes</i></span>. <span
-class=SpellE>Keyframes</span> are a subset of an animation's total amount of
-frames and specify the mesh's attributes at specific points in time. The
-application that does the rendering will generate the intermediate values
-between <span class=SpellE>keyframes</span> so the object moves smoothly and
-consistently. The more <span class=SpellE>keyframes</span> you have, the more
-you are directing the renderer along a specific path, so it takes a bit of
-experimentation to find the right balance between <span class=SpellE>keyframes</span>
-and performance. <span class=SpellE>Keyframe</span> animation is more
-traditional than some newer methods, like inverse kinematics, but it works for
-our purposes.</p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s1031"
-  type="#_x0000_t75" style='position:absolute;margin-left:0;margin-top:0;
-  width:494.5pt;height:302.05pt;z-index:251672576;mso-position-horizontal:left'>
-  <v:imagedata src="sample03-character_files/image016.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><img width=659 height=403
- src="sample03-character_files/image017.jpg" v:shapes="_x0000_s1031"><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d2e193_id"></a></p>
-
-<p class=MsoNormal>For <span class=SpellE>StevieGee</span>, we have defined
-five animation clips corresponding to his joints:<a name="d2e198_id"></a><a
-name="d2e200_id"></a></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l11 level1 lfo13'>Idle <a name="d2e203_id"></a></li>
- <li class=MsoNormal style='mso-list:l11 level1 lfo13'>Walk <a name="d2e206_id"></a></li>
- <li class=MsoNormal style='mso-list:l11 level1 lfo13'>Run <a name="d2e209_id"></a></li>
- <li class=MsoNormal style='mso-list:l11 level1 lfo13'>Jump <a name="d2e212_id"></a></li>
-</ul>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-9.0pt'><span
-style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal>It is essential to create your animations in place. This
-makes it easier to bring your animations into your game. To do this, ensure
-that you've selected the root or hip joints. Typically, you create the complete
-set of animations for your mesh sequentially along one timeline. The animations
-can then be indexed by frame and broken up into multiple animation <i>clips</i>.
-For example, we have set up <span class=SpellE>StevieGee's</span> animation so
-his idle pose is at frame 29 and his walk animation is from frame 42 to 66.
-Once you have defined these clips in your modeling tool, you can export them to
-an .animation file for use by your application. You can see these definitions
-in the <span class=SpellE>boy.animation</span> file located in the /res project
-directory. More information will be provided on the .animation file later in
-this document.<a name="d2e224_id"></a></p>
-
-<h3>Lighting the character</h3>
-
-<p class=MsoNormal>You use light in a game to create variations in shading,
-giving added depth to the models in the scene. There are two parts to lighting
-a model inside a game - one is to define the location and properties of light
-sources in the environment, and the other is to define how the model itself
-reacts to light. Defining how the model reacts is accomplished by the
-properties of the <i>material</i> that is applied to the mesh. You can apply
-these properties either programmatically in the game, or by creating a
-materials file that can be loaded in at runtime. Either way, these properties
-are needed for the game to render the appearance of the model appropriately.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For <span class=SpellE>StevieGee</span>, we have decided to
-use material files that contain the information required to light the model,
-and the dance floor, correctly in the scene. The portion of the material file
-for the character looks like:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family:
-Consolas'>material</span></span><span style='font-size:10.0pt;font-family:Consolas'>
-boy : <span class=SpellE>texturedTransparent</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>technique</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>pass</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span><span class=GramE>defines</span> =
-SKINNING;SKINNING_JOINT_COUNT 31;MODULATE_ALPHA<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span><span class=SpellE>u_matrixPalette</span>
-= MATRIX_PALETTE<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span><span class=SpellE>u_modulateAlpha</span>
-= 1.0<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span><span class=GramE>sampler</span> <span
-class=SpellE>u_diffuseTexture</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>                </span><span class=GramE>path</span> =
-res/character.png<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family:
-Consolas'>material</span></span><span style='font-size:10.0pt;font-family:Consolas'>
-<span class=SpellE>boyShadow</span> : <span class=SpellE>texturedTransparent</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>technique</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>pass</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span><span class=GramE>sampler</span> <span
-class=SpellE>u_diffuseTexture</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>                </span><span class=GramE>path</span> =
-res/shadow.png<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>            </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>}</span><span
-style='font-size:11.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For more information on the properties contained within a
-.material file, please consult the Materials and <span class=SpellE>shaders</span>
-section of the gameplay Development Guide.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Using the gameplay library, your game can load these
-material files dynamically at runtime, like this: </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='mso-pagination:widow-orphan;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
-background:white;mso-layout-grid-align:auto;text-autospace:ideograph-numeric ideograph-other'><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>Material*&nbsp;meshMaterial&nbsp;=&nbsp;model-&gt;<span
-class=GramE>setMaterial(</span></span><span style='font-size:10.0pt;font-family:
-Consolas;color:#A31515'>&quot;res&nbsp;/scene.material&quot;</span><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>);<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
-
-<h2><a name="_Toc322426775"></a><a name="_Toc322426621"></a><a name="d3e3_id"></a><span
-style='mso-bookmark:_Toc322426775'><span style='mso-bookmark:_Toc322426621'>Export
-and encode your asset</span></span>s</h2>
-
-<p class=MsoNormal><a name="d3e10_id"></a>Once you have completed your model,
-it needs to be taken out of the modeling tool so that you can bring it into
-your game. The method of exporting models varies from tool to tool, but it's
-always a good idea to export it into a commonly used format. This way, you have
-the most flexibility in terms of using the object.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Two commonly used exchange formats for digital assets are <a
-href="http://usa.autodesk.com/adsk/servlet/pc/index?id=6837478&amp;siteID=123112"><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%;text-decoration:none;text-underline:none'><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'>FBX</span></span></a>
-and <a href="http://www.collada.org/"><span style='color:black;mso-style-textfill-fill-color:
-black;mso-style-textfill-fill-alpha:100.0%;text-decoration:none;text-underline:
-none'><span style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>COLLADA</span></span></a>. FBX is the interchange format between
-popular Autodesk tools like Maya and 3ds Max. COLLADA is a free, open source interchange
-format that is popular within the interactive gaming industry. Using Maya an
-example tool, we'll show you how to export <span class=SpellE>StevieGee</span>
-into both formats.<a name="d3e31_id"></a></p>
-
-<h3>FBX<a name="d3e34_id"></a><a name="d3e35_id"></a> Export</h3>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo6'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>If you don't already have the latest FBX plug-in
-for Maya, you will need to download and install it in order to export to FBX.
-Please go to <u><span style='color:blue'><a
-href="http://www.autodesk.com/fbx-downloads"><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>http://ww<span style='color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'>w.autodesk.com/fbx-downloads</span></span></span></a>
-</span></u>to download and install it.<a name="d3e43_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo6'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>To export your scene to .<span class=SpellE>fbx</span>,
-click <b>File &gt; Export All</b><a name="d3e48_id"></a> or <b
-style='mso-bidi-font-weight:normal'>Export Selection</b></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo6'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>Change the Files of type: to FBX export. <a
-name="d3e50_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo6'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>Ensure the following additional options are
-checked off:<a name="d3e52_id"></a><a name="d3e53_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level2 lfo6'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>a)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>Geometry &gt; Triangulate<a name="d3e55_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level2 lfo6'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>b)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
-</span></span></span><![endif]>Geometry &gt; Tangents and <span class=SpellE>Binormals</span><a
-name="d3e58_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo6'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>Name your file, and click <b>Export All</b>.</p>
-
-<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s1032"
-  type="#_x0000_t75" style='position:absolute;margin-left:-30.6pt;margin-top:-4.95pt;
-  width:507.3pt;height:407.45pt;z-index:251674624'>
-  <v:imagedata src="sample03-character_files/image018.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
- relative;z-index:251674624;left:-41px;top:0px;width:676px;height:543px'><img
- width=676 height=543 src="sample03-character_files/image019.jpg" v:shapes="_x0000_s1032"></span><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-<a name="d3e64_id"></a></p>
-
-<h3>Export to COLLADA</h3>
-
-<p class=MsoNormal>Using Maya 2012 or newer you can export using the native
-DAE_FBX Export. </p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l11 level1 lfo13'><b style='mso-bidi-font-weight:
-     normal'><i style='mso-bidi-font-style:normal'>Note</i></b>: There is
-     currently a limitation using this exporter due to a bug in the exporter
-     where it does export more than one material on a single mesh (<span
-     class=SpellE>MeshParts</span>). However this usually not recommended
-     anyhow and causes impact on performance.</li>
-</ul>
-
-<p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Using Maya 2011 or earlier you can use the <span
-class=SpellE>OpenCOLLADA</span> plug-in for Maya.</p>
-
-<p class=MsoNormal><a name="d3e81_id"></a><a name="d3e82_id"></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l14 level1 lfo18'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>If you don't have the <span class=SpellE>OpenCOLLADA</span>
-plug-in for Maya, please go to <u><span style='color:blue'><a
-href="http://opencollada.com/download.html"><span style='color:black;
-mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:100.0%'><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'>http://opencollada.com/download.html</span></span></a> </span></u>and
-download and install the latest version of the plugin. To enable the plugin in
-Maya:<a name="d3e87_id"></a><a name="d3e88_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level2 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>a)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>On the Window menu, click Settings/Preferences
-&gt; Plug-in Manager.<a name="d3e96_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level2 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>b)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
-</span></span></span><![endif]>Ensure the checkboxes for <b>Loaded</b> and <b>Auto
-load</b> are selected beside <span class=SpellE><b>COLLADAMaya.mll</b></span><a
-name="d3e107_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l3 level1 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>On the <b>File</b> menu, click <b>Export All</b><a
-name="d3e115_id"></a> <span style='mso-bidi-font-weight:bold'>or<b> Export
-Selection</b></span>.</p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l3 level1 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>In the <b>Files of type</b> section, choose <span
-class=SpellE><b>OpenCOLLADA</b></span>.<a name="d3e123_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l3 level1 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>In the options section, make sure the following
-options are selected:<a name="d3e125_id"></a><a name="d3e126_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level2 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>a)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>Bake transforms<a name="d3e128_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level2 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>b)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
-</span></span></span><![endif]>Triangulate<a name="d3e130_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level2 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>c)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>Polygon meshes<a name="d3e132_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level2 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>d)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
-</span></span></span><![endif]>Joints and skin<a name="d3e134_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level2 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>e)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]>Animations<a name="d3e136_id"></a></p>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-.25in;mso-list:l3 level1 lfo5'><![if !supportLists]><span
-style='mso-fareast-font-family:"Malgun Gothic";mso-bidi-font-family:"Malgun Gothic"'><span
-style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s1033"
-  type="#_x0000_t75" style='position:absolute;left:0;text-align:left;
-  margin-left:-2.2pt;margin-top:0;width:383.7pt;height:307.75pt;z-index:251676672'>
-  <v:imagedata src="sample03-character_files/image020.png" o:title=""/>
-  <w:wrap type="topAndBottom"/>
- </v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
- relative;z-index:251676672;left:-3px;top:0px;width:512px;height:410px'><img
- width=512 height=410 src="sample03-character_files/image021.jpg" v:shapes="_x0000_s1033"></span><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><br
-style='mso-ignore:vglayout' clear=ALL>
-Name your scene and click <b>Export All </b><span style='mso-bidi-font-weight:
-bold'>or<b> Export Selection</b></span>.<a name="d3e142_id"></a></p>
-
-<h3>Encode your asset to .GPB</h3>
-
-<p class=MsoNormal>Now that your model has been exported to a known format,
-there is one more step to complete in order to get it ready for use. Your model
-needs to be converted from the exported interchange format .FBX or .DAE into an
-efficient binary bundle format that the gameplay framework can use. <span
-class=GramE>To do this run gameplay-encoder with the required parameters.</span></p>
-
-<h3>Encoding from COLLADA (.DAE)</h3>
-
-<p class=MsoNormal>To encode your COLLADA scene <span class=GramE>file(</span>.<span
-class=SpellE>dae</span>) into the gameplay binary format (.<span class=SpellE>gpb</span>),
-run the following command:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family:
-Consolas'>gameplay-encoder</span></span><span style='font-size:10.0pt;
-font-family:Consolas'> –g <span class=SpellE>HIKCharacterNode_boy_Reference</span>
-animations &quot;../../gameplay-samples/sample03-character/res/<span
-class=SpellE>boy.dae</span><a name="d3e225_id"></a>&quot;<o:p></o:p></span></p>
-
-<h3>Encoding from FBX (.FBX)</h3>
-
-<p class=MsoNormal>To encode your FBX scene <span class=GramE>file(</span>.<span
-class=SpellE>dae</span>) into the gameplay binary format (.<span class=SpellE>gpb</span>),
-run the following command:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family:
-Consolas'>gameplay-encoder</span></span><span style='font-size:10.0pt;
-font-family:Consolas'> -g <span class=SpellE>HIKCharacterNode_boy_Reference</span>
-animations &quot;../../gameplay-samples/sample03-character/res/<span
-class=SpellE>boy.fbx</span>&quot;<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Encoding your FBX file is quite similar to encoding your DAE
-file. Let's take a look at some of the extra parameters passed into the
-encoder.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The <span style='font-family:"Courier New"'>-g</span>
-parameter says that you want to group all animations on <span class=SpellE><span
-style='mso-bidi-font-family:"Courier New"'>HIKCharacterNode_boy_reference</span></span>,
-and its children node into an animation called ‘animations’.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This encoding is necessary because the COLLADA, FBX, or, in
-the case of fonts, TrueType files are really just interchange formats, and are
-huge <span class=SpellE>ascii</span> files that are not recommended for runtime
-format. Encoding them <a name="d3e253_id"></a>packs them into a more efficient
-binary bundle and only takes the data that is needed by the gameplay framework.</p>
-
-<h3>.scene File</h3>
-
-<p class=MsoNormal>The <span style='font-family:"Courier New"'>.scene </span>file
-is used to specify the characteristics of the scene. The <span
-style='font-family:"Courier New"'>.scene</span> file must include the path to
-the .GPB file that the scene's content is loaded from. Additionally, the <span
-style='font-family:"Courier New"'>.scene</span> file can include information
-about the active camera, physics properties, such as collision objects and
-constraints, animations, and various node attachments, such as particle
-emitters, audio sources. Also materials are not transferred from the exported
-data into the encoded file. This is since the materials used in the 3-D tools
-like Maya are not in a format that is useable in GLSL and cross-platform.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Here is the <span style='font-family:"Courier New"'>.scene</span>
-file for our sample:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family:
-Consolas'>scene</span></span><span style='font-size:10.0pt;font-family:Consolas'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>path</span> = res/<span
-class=SpellE>scene.gpb</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>node</span> <span
-class=SpellE>boycharacter</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=SpellE><span class=GramE>collisionObject</span></span>
-= res/<span class=SpellE>scene.physics#boy</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>node</span> <span
-class=SpellE>boymesh</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>material</span> =
-res/<span class=SpellE>scene.material#boy</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>dynamic</span> = true<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>node</span> <span
-class=SpellE>boyshadow</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>material</span> =
-res/<span class=SpellE>scene.material#boyshadow</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>transparent</span> =
-true<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>dynamic</span> = true<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>node</span> camera<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=SpellE><span class=GramE>collisionObject</span></span>
-= res/<span class=SpellE>scene.physics#camera</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>...<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>   </span><span style='mso-spacerun:yes'> </span><span
-class=GramE>physics</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>gravity</span> = 0.0,
--9.8, 0.0<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>(For the full sample please refer to res/<span class=SpellE>scene.scene</span>)</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>As you can see, we make use of node attachments like
-materials and rigid bodies. We also specify the global gravity constant to be
-applied within the scene. You can also define your physics constraints between
-rigid bodies here. The gameplay framework supports hinge, fixed, socket,
-spring, and generic six-degree-of-freedom type constraints.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Another thing to point out is the wildcard character (*).
-This is used as a convenience to apply the same settings on all nodes with IDs
-starting with the string provided in front of the wildcard. This saves you from
-having to define several nodes that will all have the same properties.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For more information on this, please consult the gameplay
-Development Guide.<a name="d3e274_id"></a></p>
-
-<h3>.material File</h3>
-
-<p class=MsoNormal>The <span style='font-family:"Courier New"'>.material</span>
-file is used to specify the techniques used to render the various materials
-within your scene. As you can see in the <span style='font-family:"Courier New"'>.scene</span>
-file, the <span style='font-family:"Courier New"'>.material</span> file is
-referenced in various nodes followed with a hash-tag. This simply states that
-the material for the node should utilize the technique with the specified namespace
-defined in the <span style='font-family:"Courier New"'>.material</span> file.
-For more information on the .material file please consult the gameplay
-Development Guide.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For the reference sample please refer to res/<span
-class=SpellE>scene.material</span>.<a name="d3e287_id"></a></p>
-
-<h3>.physics File</h3>
-
-<p class=MsoNormal>The <span style='font-family:"Courier New"'>.physics</span>
-file is used to define the rigid body objects within the scene. Collision
-objects are used to represent the geometry of the objects within your scene in
-the physics world. They serve as a definition of how each object interacts with
-other objects in the world. The physics system in gameplay supports rigid
-bodies, ghost objects and characters. The can be represented with shapes such
-as collision objects of type box, sphere, capsule, mesh and terrain height
-field. All complex rigid bodies should be defined in the .physics file. For
-more information on the .physics file please consult the gameplay Development
-Guide.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For the reference sample please refer to res/<span
-class=SpellE>scene.physics</span>.<a name="d3e300_id"></a></p>
-
-<h3>.animation File</h3>
-
-<p class=MsoNormal>The <span style='font-family:"Courier New"'>.animation</span>
-file is used to define how you break up the animations of your scene into
-separate animation clips. We identify the animation by its ID and then
-namespace the clips we're going to define for the animation. At the very least
-for each clip definition you must include the ‘begin’ and the ‘end’ frame. Here
-we have also included the <span class=SpellE><span style='font-family:"Courier New"'>repeatCount</span></span>
-property to specify how many times the animation clip should repeat. We have
-used the <span style='font-family:"Courier New"'>INDEFINITE</span> flag for
-cycle animations like walk, and run, and a repeat once for one-off animations
-like jump. Additionally, you could define properties on the clip, such as <span
-style='font-family:"Courier New"'>speed</span>.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family:
-Consolas'>animation</span></span><span style='font-size:10.0pt;font-family:
-Consolas'> <span class=SpellE>boyAnimation</span><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=SpellE><span class=GramE>frameCount</span></span>
-= 1100<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>clip</span> idle<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>begin</span> = 27<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>end</span> = 167<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=SpellE><span class=GramE>repeatCount</span></span>
-= INDEFINITE<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>clip</span> walking<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>begin</span> = 274<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>end</span> = 298<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=SpellE><span class=GramE>repeatCount</span></span>
-= INDEFINITE<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>clip</span> running<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>begin</span> = 331<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>end</span> = 346<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=SpellE><span class=GramE>repeatCount</span></span>
-= INDEFINITE<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span><span class=GramE>clip</span> jump<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>   </span><span style='mso-spacerun:yes'> </span>{<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>begin</span> = 473<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>end</span> = 486<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=SpellE><span class=GramE>repeatCount</span></span>
-= 1<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>        </span><span class=GramE>speed</span> = 0.4<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'><span
-style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>}<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>For the full sample please refer to res/<span class=SpellE>boy.animation</span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Finally, you can bring you can bring your animation clips
-into your game as follows:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>_animation-&gt;<span
-class=SpellE><span class=GramE>createClips</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/<span class=SpellE>boy.animation</span>&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><span style='mso-tab-count:1'>        </span></p>
-
-<p class=MsoNormal>For more information on the .animation file please consult
-the gameplay Development Guide.<a name="d4e3_id"></a></p>
-
-<h2><a name="_Toc322426776"></a><a name="_Toc322426622"><span style='mso-bookmark:
-_Toc322426776'>Loading game </span></a>content<a name="d4e10_id"></a></h2>
-
-<p class=MsoNormal>Before we get into the actual code of the game, let's look
-at what we're trying to accomplish:<a name="d4e13_id"></a><a name="d4e14_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l13 level1 lfo17'>Bring <span
-     class=SpellE>StevieGee</span> into a scene<a name="d4e16_id"></a></li>
- <li class=MsoNormal style='mso-list:l13 level1 lfo17'>Control <span
-     class=SpellE>StevieGee's</span> movements using touch inputs</li>
-</ul>
-
-<p class=MsoNormal style='margin-left:.25in;text-indent:-9.0pt'><span
-style='font-family:"Trade Gothic Next LT Pro Lt","sans-serif"'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span class=GramE>Pretty simple, right?</span> To create the
-game, we'll follow the standard lifecycle used for any game: initialize,
-update, render and finalize. The gameplay library provides the underlying
-framework for your application, so all you need to worry about at runtime is
-overriding the appropriate functions and callbacks to handle inputs. These
-methods are called automatically by the gameplay library at the application's
-frame rate. This allows you, as the game developer, to cleanly separate code
-for both handling updates to your game state and to render/draw your games
-visuals using a variety of built-in graphics classes.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The first thing you should do is subclass <span
-style='font-family:"Courier New"'>Game</span> in <span class=SpellE><span
-class=GramE><span style='font-family:"Courier New"'>CharacterGame.h</span></span></span><span
-class=GramE> :</span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>class</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>CharacterGame</span>:&nbsp;</span><span style='font-family:Consolas;
-color:blue'>public</span><span style='font-family:Consolas;color:black'>&nbsp;Game,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>public</span><span style='font-family:
-Consolas;color:black'>&nbsp;<span class=SpellE>AnimationClip</span>::Listener<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>    </span>...<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>void</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;initialize();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>void</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;finalize();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>void</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;update(</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;elapsedTime);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>void</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;render(</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>&nbsp;elapsedTime);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>    </span>...<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}</span><a
-name="d4e25_id"></a></pre>
-
-<p class=MsoNormal><span style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
-
-<h3>Initializing the game</h3>
-
-<p class=MsoNormal>For the main program, we need to bring the visual elements
-we've created into the game. This is done in <span class=SpellE><span
-style='font-family:"Courier New"'>CharacterGame</span></span><span
-style='font-family:"Courier New"'>::<span class=GramE>initialize(</span>)</span>
-function.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>CharacterGame</span>::initialize()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>    </span>...<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Load&nbsp;scene.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_scene&nbsp;=&nbsp;Scene::<span
-class=GramE>load(</span></span><span style='font-family:Consolas;color:#A31515'>&quot;res/<span
-class=SpellE>scene.scene</span>&quot;</span><span style='font-family:Consolas;
-color:black'>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Update&nbsp;the&nbsp;aspect&nbsp;ratio&nbsp;for&nbsp;our&nbsp;scene's&nbsp;camera&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// to&nbsp;match&nbsp;the&nbsp;current&nbsp;device&nbsp;resolution.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_scene-&gt;<span
-class=GramE>getActiveCamera(</span>)-&gt;setAspectRatio((</span><span
-style='font-family:Consolas;color:blue'>float</span><span style='font-family:
-Consolas;color:black'>)getWidth()&nbsp;/&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                              </span>(</span><span
-style='font-family:Consolas;color:blue'>float</span><span class=GramE><span
-style='font-family:Consolas;color:black'>)<span class=SpellE>getHeight</span></span></span><span
-style='font-family:Consolas;color:black'>());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Initialize&nbsp;the&nbsp;physics&nbsp;character.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>initializeCharacter</span></span><span
-class=GramE>(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Initialize&nbsp;the&nbsp;gamepad.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;...<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>In this method, the first thing we do is load the .scene
-into the application using the <span style='font-family:"Courier New"'>Scene::<span
-class=GramE>load(</span><span class=SpellE>const</span> char*)</span> function.
-As stated earlier, the scene file contains the references to the gameplay
-binary to load, as well as the active camera, animations, material definitions,
-physics properties and various node attachments.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas;
-color:black'>_scene&nbsp;=&nbsp;Scene::<span class=GramE>load(</span></span><span
-style='font-size:10.0pt;font-family:Consolas;color:#A31515'>&quot;res/<span
-class=SpellE>scene.scene</span>&quot;</span><span style='font-size:10.0pt;
-font-family:Consolas;color:black'>);<o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>In order for the player to have a viewport into the scene,
-we need to define a camera. Here, we take the existing camera defined in the
-model file. We have defined a perspective camera that makes objects in the distance
-appear smaller than objects closer by. This camera is defined to have an aspect
-ratio set by the game window's width and height.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas;
-color:black'>_scene-&gt;<span class=GramE>getActiveCamera(</span>)-&gt;setAspectRatio((</span><span
-style='font-size:10.0pt;font-family:Consolas;color:blue'>float</span><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>)getWidth()&nbsp;/&nbsp;(</span><span
-style='font-size:10.0pt;font-family:Consolas;color:blue'>float</span><span
-style='font-size:10.0pt;font-family:Consolas;color:black'>)getHeight());</span><span
-style='font-size:10.0pt'><o:p></o:p></span></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Next, we call <span class=SpellE><span style='font-family:
-"Courier New"'>CharacterGame</span></span><span style='font-family:"Courier New"'>::<span
-class=SpellE>initializeCharacter</span></span> (), where we obtain the <span
-class=SpellE><span style='font-family:"Courier New"'>PhysicsCharacter</span></span>
-object for <span class=SpellE>StevieGee</span> along with the nodes for his
-mesh and his shadow. Then we store alpha parameter from <span class=SpellE>StevieGee’s</span>
-material to allow us to draw him partially transparent when the camera is close
-up. Following that, we get the clips defined in <span class=SpellE><span
-style='font-family:"Courier New"'>boy.animation</span></span> and load them
-into the <span style='font-family:"Courier New"'>_animation</span> class
-variable. The last thing this method does is set the default animation to that
-defined by idle and sets it to play in an indefinite loop.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>CharacterGame</span>::<span class=SpellE>initializeCharacter</span>()<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Node*&nbsp;node&nbsp;=&nbsp;_scene-&gt;<span
-class=SpellE><span class=GramE>findNode</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;<span class=SpellE>boycharacter</span>&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Store&nbsp;the&nbsp;physics&nbsp;character&nbsp;object.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_character&nbsp;=&nbsp;</span><span
-style='font-family:Consolas;color:blue'>static_cast</span><span
-style='font-family:Consolas;color:black'>&lt;PhysicsCharacter*<span
-class=GramE>&gt;(</span>node-&gt;getCollisionObject());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Store&nbsp;character&nbsp;nodes.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>characterMeshNode</span>&nbsp;=&nbsp;node-&gt;<span class=SpellE><span
-class=GramE>findNode</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;<span class=SpellE>boymesh</span>&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>characterShadowNode</span>&nbsp;=&nbsp;_scene-&gt;<span
-class=SpellE><span class=GramE>findNode</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;<span class=SpellE>boyshadow</span>&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Store&nbsp;the&nbsp;alpha&nbsp;material&nbsp;parameter&nbsp;from&nbsp;the&nbsp;character's&nbsp;model.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_materialParameterAlpha&nbsp;=&nbsp;_characterMeshNode-&gt;<span
-class=GramE>getModel(</span>)-&gt;getMaterial()-&gt;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                              </span><span
-class=SpellE><span class=GramE>getTechnique</span></span><span class=GramE>(</span>(</span><span
-style='font-family:Consolas;color:blue'>unsigned</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span class=SpellE><span style='font-family:
-Consolas;color:blue'>int</span></span><span style='font-family:Consolas;
-color:black'>)0)-&gt;<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                              </span><span
-class=SpellE><span class=GramE>getPass</span></span><span class=GramE>(</span>(</span><span
-style='font-family:Consolas;color:blue'>unsigned</span><span style='font-family:
-Consolas;color:black'>&nbsp;</span><span class=SpellE><span style='font-family:
-Consolas;color:blue'>int</span></span><span style='font-family:Consolas;
-color:black'>)0)-&gt;<span style='mso-spacerun:yes'>            </span><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                   </span><span style='mso-spacerun:yes'>                           </span><span
-class=SpellE><span class=GramE>getParameter</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;<span class=SpellE>u_modulatelAlpha</span>&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Load&nbsp;character&nbsp;animations.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_animation&nbsp;=&nbsp;node-&gt;<span
-class=SpellE><span class=GramE>getAnimation</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;animations&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_animation-&gt;<span
-class=SpellE><span class=GramE>createClips</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;res/<span class=SpellE>boy.animation</span>&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>jumpClip</span>&nbsp;=&nbsp;_animation-&gt;<span class=SpellE><span
-class=GramE>getClip</span></span><span class=GramE>(</span></span><span
-style='font-family:Consolas;color:#A31515'>&quot;jump&quot;</span><span
-style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_jumpClip-&gt;<span
-class=GramE>addListener(</span></span><span style='font-family:Consolas;
-color:blue'>this</span><span style='font-family:Consolas;color:black'>,&nbsp;_jumpClip-&gt;getDuration()&nbsp;-&nbsp;250);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Start&nbsp;playing&nbsp;the&nbsp;idle&nbsp;animation&nbsp;when&nbsp;we&nbsp;load.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>play(</span></span><span style='font-family:Consolas;color:#A31515'>&quot;idle&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;</span><span style='font-family:
-Consolas;color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}</span> </pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The <span class=SpellE><span style='font-family:"Courier New"'>PhysicsCharacter</span></span>
-class is a convenience class that is used to control the movement and
-collisions of a character model within a game. It interacts with the physics
-system to handle gravity or any collisions, as well as controlling the
-character's movements. For additional information on <span class=SpellE><span
-style='font-family:"Courier New"'>PhysicsCharacter</span></span> please consult
-the gameplay Development Guide.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Using the <span class=SpellE><span style='font-family:"Courier New"'>scene.scene</span></span>
-file (see previous snippet) and the <span class=SpellE><span style='font-family:
-"Courier New"'>scene.physics</span></span> file, we also define a collision
-object for the camera node. This will help position the camera so that it does
-not become occluded by a wall or some other object in the scene.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span style='font-family:Consolas;color:black'>...<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span class=SpellE><span class=GramE><span
-style='font-family:Consolas;color:black'>collisionObject</span></span></span><span
-style='font-family:Consolas;color:black'>&nbsp;camera<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>    </span><span
-class=GramE>type</span> = GHOST_OBJECT<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>shape</span>&nbsp;=&nbsp;SPHERE<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>radius</span>&nbsp;=&nbsp;0.5<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>...<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The last thing we do is create a Gamepad object and position
-its joystick and buttons on the screen. This <span style='mso-bidi-font-family:
-"Courier New"'>Gamepad</span> implementation will be used to control our
-character's walk, run and jump animations. For more information on the <span
-style='mso-bidi-font-family:"Courier New"'>Gamepad</span>, please consult the
-gameplay Development Guide.<a name="d4e103_id"></a></p>
-
-<h3>Updating the game state</h3>
-
-<p class=MsoNormal>The <span class=GramE><span style='font-family:"Courier New"'>update(</span></span><span
-style='font-family:"Courier New"'>)</span> method is utilized to apply your
-game logic, such as controlling your character. Here is the implementation of <span
-class=GramE><span style='font-family:"Courier New"'>update(</span></span><span
-style='font-family:"Courier New"'>) </span>method for the game:</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>CharacterGame</span>::update(</span><span style='font-family:Consolas;
-color:blue'>float</span><span style='font-family:Consolas;color:black'>&nbsp;elapsedTime)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Vector2&nbsp;direction;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;(_gamepad-&gt;<span
-class=SpellE>getButtonState</span>(0)&nbsp;==&nbsp;Gamepad::BUTTON_PRESSED)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Jump&nbsp;while&nbsp;the&nbsp;gamepad&nbsp;button&nbsp;is&nbsp;being&nbsp;pressed</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>jump(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>else</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;</span><span style='font-family:
-Consolas;color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;(_gamepad-&gt;<span
-class=SpellE>isJoystickActive</span>(0))<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Get&nbsp;joystick&nbsp;direction</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>direction</span>&nbsp;=&nbsp;_gamepad-&gt;<span class=SpellE>getJoystickState</span>(0);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>else</span></span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Construct&nbsp;direction&nbsp;vector&nbsp;from&nbsp;keyboard&nbsp;input</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;(_<span class=SpellE>keyFlags</span>&nbsp;&amp;&nbsp;NORTH)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE>direction.y</span>&nbsp;=&nbsp;1;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>else</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;</span><span style='font-family:
-Consolas;color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;(_<span
-class=SpellE>keyFlags</span>&nbsp;&amp;&nbsp;SOUTH)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE>direction.y</span>&nbsp;=&nbsp;-1;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;(_<span class=SpellE>keyFlags</span>&nbsp;&amp;&nbsp;EAST)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE>direction.x</span>&nbsp;=&nbsp;1;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>else</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;</span><span style='font-family:
-Consolas;color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;(_<span
-class=SpellE>keyFlags</span>&nbsp;&amp;&nbsp;WEST)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE>direction.x</span>&nbsp;=&nbsp;-1;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>direction.normalize</span></span><span
-class=GramE>(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;((_<span class=SpellE>keyFlags</span>&nbsp;&amp;&nbsp;RUNNING)&nbsp;==&nbsp;0)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>direction</span>&nbsp;*=&nbsp;0.5f;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Update&nbsp;character&nbsp;animation&nbsp;and&nbsp;velocity</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;(<span class=SpellE>direction.isZero</span>())<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>play(</span></span><span style='font-family:Consolas;color:#A31515'>&quot;idle&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;</span><span style='font-family:
-Consolas;color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_character-&gt;<span
-class=SpellE><span class=GramE>setVelocity</span></span><span class=GramE>(</span>Vector3::zero());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>else</span></span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=SpellE><span class=GramE><span style='font-family:Consolas;color:blue'>bool</span></span></span><span
-style='font-family:Consolas;color:black'>&nbsp;running&nbsp;=&nbsp;(<span
-class=SpellE>direction.lengthSquared</span>()&nbsp;&gt;&nbsp;0.75f);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>float</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;speed&nbsp;=&nbsp;running&nbsp;?&nbsp;RUN_<span
-class=GramE>SPEED&nbsp;:</span>&nbsp;WALK_SPEED;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>play(</span>running&nbsp;?&nbsp;</span><span style='font-family:
-Consolas;color:#A31515'>&quot;running<span class=GramE>&quot;<span
-style='color:black'>&nbsp;:</span></span></span><span style='font-family:Consolas;
-color:black'>&nbsp;</span><span style='font-family:Consolas;color:#A31515'>&quot;walking&quot;</span><span
-style='font-family:Consolas;color:black'>,&nbsp;</span><span style='font-family:
-Consolas;color:blue'>true</span><span style='font-family:Consolas;color:black'>,&nbsp;1.0f);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Orient&nbsp;the&nbsp;character&nbsp;relative&nbsp;to&nbsp;the&nbsp;camera<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>        </span>//&nbsp;so&nbsp;he&nbsp;faces&nbsp;the&nbsp;direction&nbsp;we&nbsp;want&nbsp;to&nbsp;move.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>const</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;Matrix&amp;&nbsp;cameraMatrix&nbsp;=&nbsp;_scene-&gt;getActiveCamera()-&gt;getNode()-&gt;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                                </span><span
-class=SpellE><span class=GramE>getWorldMatrix</span></span><span class=GramE>(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;<span
-class=SpellE>cameraRight</span>,&nbsp;<span class=SpellE>cameraForward</span>;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>cameraMatrix.getRightVector</span></span><span
-class=GramE>(</span>&amp;<span class=SpellE>cameraRight</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>cameraMatrix.getForwardVector</span></span><span
-class=GramE>(</span>&amp;<span class=SpellE>cameraForward</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Get&nbsp;the&nbsp;current&nbsp;forward&nbsp;vector&nbsp;for&nbsp;the&nbsp;mesh&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>        </span>// node&nbsp;(negate&nbsp;it&nbsp;since&nbsp;the&nbsp;character&nbsp;was&nbsp;<span
-class=SpellE>modelled</span>&nbsp;facing&nbsp;+z)</span><span style='font-family:
-Consolas;color:black'><o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;<span
-class=GramE>currentHeading(</span>-_characterMeshNode-&gt;getForwardVectorWorld());<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Construct&nbsp;a&nbsp;new&nbsp;forward&nbsp;vector&nbsp;for&nbsp;the&nbsp;mesh&nbsp;node</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;<span
-class=GramE>newHeading(</span>cameraForward&nbsp;*&nbsp;direction.y&nbsp;+&nbsp;cameraRight&nbsp;*&nbsp;direction.x);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Compute&nbsp;the&nbsp;rotation&nbsp;amount&nbsp;based&nbsp;on&nbsp;the&nbsp;difference<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>        </span>//&nbsp;between&nbsp;the&nbsp;current&nbsp;and&nbsp;new&nbsp;vectors</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>float</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;angle&nbsp;=&nbsp;atan2f(<span
-class=SpellE>newHeading.x</span>,&nbsp;<span class=SpellE>newHeading.z</span>)&nbsp;–&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                      </span><span
-class=GramE>atan2f(</span><span class=SpellE>currentHeading.x</span>,&nbsp;<span
-class=SpellE>currentHeading.z</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;(angle&nbsp;&gt;&nbsp;MATH_PI)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>angle</span>&nbsp;-=&nbsp;MATH_PIX2;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>else</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;</span><span style='font-family:
-Consolas;color:blue'>if</span><span style='font-family:Consolas;color:black'>&nbsp;(angle&nbsp;&lt;&nbsp;-MATH_PI)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>angle</span>&nbsp;+=&nbsp;MATH_PIX2;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><o:p>&nbsp;</o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>angle</span>&nbsp;*=&nbsp;(</span><span style='font-family:Consolas;
-color:blue'>float</span><span style='font-family:Consolas;color:black'>)elapsedTime&nbsp;*&nbsp;0.001f&nbsp;*&nbsp;MATH_PIX2;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_<span
-class=SpellE>characterMeshNode</span>-&gt;<span class=GramE>rotate(</span>Vector3::<span
-class=SpellE>unitY</span>(),&nbsp;angle);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Update&nbsp;the&nbsp;character's&nbsp;velocity</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;velocity&nbsp;=&nbsp;-_characterMeshNode-&gt;<span
-class=GramE>getForwardVectorWorld(</span>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>velocity.normalize</span></span><span
-class=GramE>(</span>);<o:p></o:p></span></pre><pre style='background:white'><span
-style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>velocity</span>&nbsp;*=&nbsp;speed;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_character-&gt;<span
-class=SpellE><span class=GramE>setVelocity</span></span><span class=GramE>(</span>velocity);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;<span class=GramE>Adjust</span>&nbsp;camera&nbsp;to&nbsp;avoid&nbsp;it&nbsp;from&nbsp;being&nbsp;obstructed<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:green'><span style='mso-spacerun:yes'>    </span>// by&nbsp;walls&nbsp;and&nbsp;objects&nbsp;in&nbsp;the&nbsp;scene.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE><span class=GramE>adjustCamera</span></span><span class=GramE>(</span>elapsedTime);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Project&nbsp;the&nbsp;character's&nbsp;shadow&nbsp;node&nbsp;onto&nbsp;the&nbsp;surface&nbsp;directly&nbsp;below&nbsp;him.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=SpellE>PhysicsController</span>::<span class=SpellE>HitResult</span>&nbsp;<span
-class=SpellE>hitResult</span>;<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;v&nbsp;=&nbsp;_character-&gt;<span
-class=SpellE><span class=GramE>getNode</span></span><span class=GramE>(</span>)-&gt;<span
-class=SpellE>getTranslationWorld</span>();<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-class=GramE><span style='font-family:Consolas;color:blue'>if</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;(getPhysicsController()-&gt;rayTest(Ray(Vector3(v.x,&nbsp;v.y&nbsp;+&nbsp;1.0f,&nbsp;v.z),<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                           </span>&nbsp;<span
-class=GramE>Vector3(</span>0,&nbsp;-1,&nbsp;0)),&nbsp;100.0f,&nbsp;&amp;<span
-class=SpellE>hitResult</span>))<o:p></o:p></span></pre><pre style='background:
-white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>    </span>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_characterShadowNode-&gt;<span
-class=GramE>setTranslation(</span>Vector3(hitResult.point.x,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>            </span><span style='mso-spacerun:yes'>                                        </span>&nbsp;<span
-class=SpellE>hitResult.point.y</span>&nbsp;+&nbsp;0.1f,<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                                                     </span><span
-class=SpellE>hitResult.point.z</span>));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>In this method, we determine what animation our character <span
-class=SpellE>StevieGee</span> should currently be playing, as well as his
-directional movement. We do this by polling the state of the <span
-style='mso-bidi-font-family:"Courier New"'>gamepad</span>'s controls. Here
-we've defined the joystick to control the character's movement around the
-scene, and the <span style='mso-bidi-font-family:"Courier New"'>gamepad</span>'s
-button to make the character jump.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The last thing we do is call <span class=SpellE><span
-class=GramE><span style='font-family:"Courier New"'>adjustCamera</span></span></span><span
-class=GramE><span style='font-family:"Courier New"'>(</span></span><span
-style='font-family:"Courier New"'>elapsedTime)</span>. This method will
-position our camera so it is not occluded by another object within the scene.<a
-name="d4e127_id"></a></p>
-
-<h3>Rendering the Scene</h3>
-
-<p class=MsoNormal>The <span class=GramE><span style='font-family:"Courier New"'>render(</span></span><span
-style='font-family:"Courier New"'>)</span> method is simply used to draw your
-scene.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;<span
-class=SpellE>CharacterGame</span>::render(</span><span style='font-family:Consolas;
-color:blue'>float</span><span style='font-family:Consolas;color:black'>&nbsp;elapsedTime)<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>{<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Clear&nbsp;the&nbsp;color&nbsp;and&nbsp;depth&nbsp;buffers.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;<span
-class=GramE>clear(</span>CLEAR_COLOR_DEPTH,&nbsp;Vector4(0.41f,&nbsp;0.48f,&nbsp;0.54f,&nbsp;1.0f),&nbsp;1.0f,&nbsp;0);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Draw&nbsp;our&nbsp;scene,&nbsp;with&nbsp;separate&nbsp;passes&nbsp;for&nbsp;opaque&nbsp;and&nbsp;transparent&nbsp;objects.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_scene-&gt;<span
-class=GramE>visit(</span></span><span style='font-family:Consolas;color:blue'>this</span><span
-style='font-family:Consolas;color:black'>,&nbsp;&amp;<span class=SpellE>CharacterGame</span>::<span
-class=SpellE>drawScene</span>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>false</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_scene-&gt;<span
-class=GramE>visit(</span></span><span style='font-family:Consolas;color:blue'>this</span><span
-style='font-family:Consolas;color:black'>,&nbsp;&amp;<span class=SpellE>CharacterGame</span>::<span
-class=SpellE>drawScene</span>,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>true</span><span style='font-family:Consolas;color:black'>);<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;... <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;</span><span
-style='font-family:Consolas;color:green'>//&nbsp;Draw&nbsp;gamepad&nbsp;for&nbsp;touch&nbsp;devices.</span><span
-style='font-family:Consolas;color:black'><o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;_gamepad-&gt;<span
-class=GramE>draw(</span>Vector4(1.0f,&nbsp;1.0f,&nbsp;1.0f,&nbsp;0.7f));<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'> <o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;...<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'>}<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The first thing we do is clear the color and depth buffers
-so we can start with a clean buffer to draw into, then we draw the scene by
-calling <span class=GramE><span style='font-family:"Courier New"'>visit(</span></span><span
-style='font-family:"Courier New"'>)</span> on the scene object. This will
-traverse the scenes hierarchy, and for each node in the scene callback on the
-user specified method. Here we get it to call back on the <span class=SpellE><span
-class=GramE><span style='font-family:"Courier New"'>drawScene</span></span></span><span
-class=GramE><span style='font-family:"Courier New"'>(</span></span><span
-style='font-family:"Courier New"'>)</span> function, which checks to see if the
-node it is passed has a model, and if it has, draws it.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><a name="d4e151_id"></a><span class=SpellE><span
-class=GramE><span style='font-family:Consolas;color:blue'>bool</span></span></span><span
-style='font-family:Consolas;color:black'>&nbsp;<span class=SpellE>CharacterGame</span>::<span
-class=SpellE>drawScene</span>(Node*&nbsp;node,&nbsp;</span><span class=SpellE><span
-style='font-family:Consolas;color:blue'>bool</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;transparent)<o:p></o:p></span></pre>
-
-<h3>Touch</h3>
-
-<p class=MsoNormal>This game is touch input only, so we will override the <span
-style='font-family:"Courier New"'>Game::<span class=SpellE><span class=GramE>touchEvent</span></span><span
-class=GramE>(</span>)</span> method to process the different types of touch
-inputs.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<pre style='background:white'><span class=GramE><span style='font-family:Consolas;
-color:blue'>void</span></span><span style='font-family:Consolas;color:black'>&nbsp;CharacterGame::touchEvent(Touch::TouchEvent&nbsp;evt,&nbsp;</span><span
-style='font-family:Consolas;color:blue'>int</span><span style='font-family:
-Consolas;color:black'>&nbsp;x,&nbsp;</span><span style='font-family:Consolas;
-color:blue'>int</span><span style='font-family:Consolas;color:black'>&nbsp;y,&nbsp;<o:p></o:p></span></pre><pre
-style='background:white'><span style='font-family:Consolas;color:black'><span style='mso-spacerun:yes'>                               </span></span><span
-class=GramE><span style='font-family:Consolas;color:blue'>unsigned</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;</span><span class=SpellE><span
-style='font-family:Consolas;color:blue'>int</span></span><span
-style='font-family:Consolas;color:black'>&nbsp;<span class=SpellE>contactIndex</span>);<o:p></o:p></span></pre>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The <span class=SpellE><span class=GramE><span
-style='font-family:"Courier New"'>touchEvent</span></span></span><span
-class=GramE><span style='font-family:"Courier New"'>(</span></span><span
-style='font-family:"Courier New"'>)</span> function is able to handle three
-types of <span class=SpellE><span style='font-family:"Courier New"'>TouchEvent</span></span>:<a
-name="d4e170_id"></a><a name="d4e171_id"></a></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l17 level1 lfo16'><span style='font-family:
-     "Courier New"'>TOUCH_PRESS</span> - This represents the initial contact of
-     a finger to the screen.<a name="d4e176_id"></a></li>
- <li class=MsoNormal style='mso-list:l17 level1 lfo16'><span style='font-family:
-     "Courier New"'>TOUCH_RELEASE</span> - This represents the end of a contact
-     of a finger to the screen.<a name="d4e181_id"></a></li>
- <li class=MsoNormal style='mso-list:l17 level1 lfo16'><span style='font-family:
-     "Courier New"'>TOUCH_MOVE</span> - This handles any gestures on the
-     screen. Here we rotate <span class=SpellE>StevieGee</span> by figuring out
-     where on the screen the move event occurred (using the x input parameter),
-     calculating the delta between that and <span class=SpellE>StevieGee's</span>
-     current rotation, and calling the <span style='font-family:"Courier New"'>_<span
-     class=SpellE>modelNode</span>-&gt;<span class=SpellE>rotateY</span>() </span>method
-     to perform the rotation by the new delta</li>
-</ul>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Conveniently, we have chosen to use the <span
-style='font-family:"Courier New"'>Gamepad</span> implementation to handle the
-touch inputs for our game. So in here we simply call<span style='mso-bidi-font-family:
-"Courier New"'> </span><span style='font-family:"Courier New"'>_gamepad-&gt;<span
-class=SpellE><span class=GramE>touchEvent</span></span><span class=GramE>(</span>)</span><span
-style='mso-bidi-font-family:"Courier New"'> </span>with the provided parameters.
-The joystick will allow the user to move <span class=SpellE>StevieGee</span>
-around the scene. Buttons will make him jump and we rotate him about his Y-axis
-so you can appreciate his moves from all angles.<a name="d4e198_id"></a></p>
-
-<h3>Try it <span style='mso-bidi-font-size:18.0pt'>yourself</span></h3>
-
-<p class=MsoNormal>That's it, that's the full game that you can now build, deploy,
-and try out for yourself! </p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Run the game a few times, try changing the code and see what
-you can come up with. Some suggestions are:<a name="d4e205_id"></a><a
-name="d4e206_id"></a></p>
-
-<ul style='margin-top:0in' type=disc>
- <li class=MsoNormal style='mso-list:l16 level1 lfo15'>Create different
-     animations for <span class=SpellE>StevieGee</span>, like making him wave
-     or point<a name="d4e208_id"></a>.</li>
- <li class=MsoNormal style='mso-list:l16 level1 lfo15'>Add audio to the game
-     for some atmospheric effects.</li>
-</ul>
-
-<p class=MsoNormal>Once you're comfortable with this, try finding new meshes on
-the web (or even create your own from scratch) and load them into the game. See
-what gameplay can do!<a name="d5e3_id"></a></p>
-
-<h2><a name="_Toc322426777"></a><a name="_Toc322426623"><span style='mso-bookmark:
-_Toc322426777'>License</span></a></h2>
-
-<p class=MsoNormal>The project is open sourced under the Apache 2.0 license.</p>
-
-<h3>Disclaimer</h3>
-
-<p class=MsoNormal>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY
-OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
-EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
-OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>©2012 Research <span class=GramE>In</span> Motion Limited.
-All rights reserved. BlackBerry®, RIM®, Research In Motion®, and related
-trademarks, names, and logos are the property of Research In Motion Limited and
-are registered and/or used in the U.S. and countries around the world.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Android is a trademark of Google Inc. Apache is a trademark
-of The Apache Software Foundation. Apple, iPhone, iPad, Mac OS, TrueType, and <span
-class=SpellE>Xcode</span> are trademarks of Apple Inc. Bluetooth is a trademark
-of Bluetooth SIG. COLLADA and OpenGL are trademarks of <span class=SpellE>Khronos</span>
-Group Inc. Eclipse is a trademark of Eclipse Foundation, Inc. FBX and Maya are
-trademarks of Autodesk, Inc. <span class=SpellE>GitHub</span> is a trademark of
-<span class=SpellE>Github</span>, LLC. Linux is a trademark of Linus Torvalds.
-Microsoft, Windows, and Visual Studio are trademarks of Microsoft Corporation.
-QNX and Momentics are trademarks of QNX Software Systems Limited. All other
-trademarks are the property of their respective owners.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=link>This documentation including all documentation incorporated by
-reference herein such as documentation provided or made available at <u><span
-style='color:blue'><a href="http://www.blackberry.com/go/docs"><span
-style='color:black;mso-style-textfill-fill-color:black;mso-style-textfill-fill-alpha:
-100.0%'><span style='color:black;mso-style-textfill-fill-color:black;
-mso-style-textfill-fill-alpha:100.0%'>www.blackberry.com/go/docs</span></span></a></span></u>
-is provided or made accessible &quot;AS IS&quot; and &quot;AS AVAILABLE&quot;
-and without condition, endorsement, guarantee, representation, or warranty of
-any kind by Research In Motion Limited and its affiliated companies
-(&quot;RIM&quot;) and RIM assumes no responsibility for any typographical,
-technical, or other inaccuracies, errors, or omissions in this documentation.
-In order to protect RIM proprietary and confidential information and/or trade
-secrets, this documentation may describe some aspects of RIM technology in
-generalized terms. RIM reserves the right to periodically change information
-that is contained in this documentation; however, RIM makes no commitment to
-provide any such changes, updates, enhancements, or other additions to this
-documentation to you in a timely manner or at all.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>This documentation might contain references to third-party
-sources of information, hardware or software, products or services including
-components and content such as content protected by copyright and/or
-third-party web sites (collectively the &quot;Third Party Products and
-Services&quot;). RIM does not control, and is not responsible for, any Third
-Party Products and Services including, without limitation the content,
-accuracy, copyright compliance, compatibility, performance, trustworthiness,
-legality, decency, links, or any other aspect of Third Party Products and
-Services. The inclusion of a reference to Third Party Products and Services in
-this documentation does not imply endorsement by RIM of the Third Party
-Products and Services or the third party in any way.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>EXCEPT TO THE EXTENT SPECIFICALLY PROHIBITED BY APPLICABLE
-LAW IN YOUR JURISDICTION, ALL CONDITIONS, ENDORSEMENTS, GUARANTEES,
-REPRESENTATIONS, OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-WITHOUT LIMITATION, ANY CONDITIONS, ENDORSEMENTS, GUARANTEES, REPRESENTATIONS
-OR WARRANTIES OF DURABILITY, FITNESS FOR A PARTICULAR PURPOSE OR USE,
-MERCHANTABILITY, MERCHANTABLE QUALITY, NON-INFRINGEMENT, SATISFACTORY QUALITY,
-OR TITLE, OR ARISING FROM A STATUTE OR CUSTOM OR A COURSE OF DEALING OR USAGE
-OF TRADE, OR RELATED TO THE DOCUMENTATION OR ITS USE, OR PERFORMANCE OR
-NON-PERFORMANCE OF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS
-AND SERVICES REFERENCED HEREIN, ARE HEREBY EXCLUDED. YOU MAY ALSO HAVE OTHER
-RIGHTS THAT VARY BY STATE OR PROVINCE. SOME JURISDICTIONS MAY NOT ALLOW THE EXCLUSION
-OR LIMITATION OF IMPLIED WARRANTIES AND CONDITIONS. TO THE EXTENT PERMITTED BY
-LAW, ANY IMPLIED WARRANTIES OR CONDITIONS RELATING TO THE DOCUMENTATION TO THE
-EXTENT THEY CANNOT BE EXCLUDED AS SET OUT ABOVE, BUT CAN BE LIMITED, ARE HEREBY
-LIMITED TO NINETY (90) DAYS FROM THE DATE YOU FIRST ACQUIRED THE DOCUMENTATION
-OR THE ITEM THAT IS THE SUBJECT OF THE CLAIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, IN NO EVENT SHALL RIM BE LIABLE FOR ANY TYPE OF DAMAGES RELATED
-TO THIS DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCE OF ANY
-SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES
-REFERENCED HEREIN INCLUDING WITHOUT LIMITATION ANY OF THE FOLLOWING DAMAGES:
-DIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR
-AGGRAVATED DAMAGES, DAMAGES FOR LOSS OF PROFITS OR REVENUES, FAILURE TO REALIZE
-ANY EXPECTED SAVINGS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS
-OF BUSINESS OPPORTUNITY, OR CORRUPTION OR LOSS OF DATA, FAILURES TO TRANSMIT OR
-RECEIVE ANY DATA, PROBLEMS ASSOCIATED WITH ANY APPLICATIONS USED IN CONJUNCTION
-WITH RIM PRODUCTS OR SERVICES, DOWNTIME COSTS, LOSS OF THE USE OF RIM PRODUCTS
-OR SERVICES OR ANY PORTION THEREOF OR OF ANY AIRTIME SERVICES, COST OF SUBSTITUTE
-GOODS, COSTS OF COVER, FACILITIES OR SERVICES, COST OF CAPITAL, OR OTHER
-SIMILAR PECUNIARY LOSSES, WHETHER OR NOT SUCH DAMAGES WERE FORESEEN OR
-UNFORESEEN, AND EVEN IF RIM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR
-JURISDICTION, RIM SHALL HAVE NO OTHER OBLIGATION, DUTY, OR LIABILITY WHATSOEVER
-IN CONTRACT, TORT, OR OTHERWISE TO YOU INCLUDING ANY LIABILITY FOR NEGLIGENCE
-OR STRICT LIABILITY.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>THE LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS HEREIN SHALL
-APPLY: (A) IRRESPECTIVE OF THE NATURE OF THE CAUSE OF ACTION, DEMAND, OR ACTION
-BY YOU INCLUDING BUT NOT LIMITED TO BREACH OF CONTRACT, NEGLIGENCE, TORT,
-STRICT LIABILITY OR ANY OTHER LEGAL THEORY AND SHALL SURVIVE A FUNDAMENTAL
-BREACH OR BREACHES OR THE FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR
-OF ANY REMEDY CONTAINED HEREIN; AND (B) TO RIM AND ITS AFFILIATED COMPANIES,
-THEIR SUCCESSORS, ASSIGNS, AGENTS, SUPPLIERS (INCLUDING AIRTIME SERVICE
-PROVIDERS), AUTHORIZED RIM DISTRIBUTORS (ALSO INCLUDING AIRTIME SERVICE
-PROVIDERS) AND THEIR RESPECTIVE DIRECTORS, EMPLOYEES, AND INDEPENDENT
-CONTRACTORS.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><span style='mso-spacerun:yes'> </span>IN ADDITION TO THE
-LIMITATIONS AND EXCLUSIONS SET OUT ABOVE, IN NO EVENT SHALL ANY DIRECTOR,
-EMPLOYEE, AGENT, DISTRIBUTOR, SUPPLIER, INDEPENDENT CONTRACTOR OF RIM OR ANY
-AFFILIATES OF RIM HAVE ANY LIABILITY ARISING FROM OR RELATED TO THE
-DOCUMENTATION.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Prior to subscribing for, installing, or using any Third
-Party Products and Services, it is your responsibility to ensure that your airtime
-service provider has agreed to support all of their features. Some airtime
-service providers might not offer Internet browsing functionality with a
-subscription to the BlackBerry® Internet Service. Check with your service
-provider for availability, roaming arrangements, service plans and features.
-Installation or use of Third Party Products and Services with RIM's products
-and services may require one or more patent, trademark, copyright, or other
-licenses in order to avoid infringement or violation of third party rights. You
-are solely responsible for determining whether to use Third Party Products and
-Services and if any third party licenses are required to do so. If required you
-are responsible for acquiring them. You should not install or use Third Party
-Products and Services until all necessary licenses have been acquired. Any
-Third Party Products and Services that are provided with RIM's products and
-services are provided as a convenience to you and are provided &quot;AS
-IS&quot; with no express or implied conditions, endorsements, guarantees,
-representations, or warranties of any kind by RIM and RIM assumes no liability
-whatsoever, in relation thereto. Your use of Third Party Products and Services
-shall be governed by and subject to you agreeing to the terms of separate
-licenses and other agreements applicable thereto with third parties, except to
-the extent expressly covered by a license or other agreement with RIM.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Certain features outlined in this documentation require a
-minimum version of BlackBerry® Enterprise Server, BlackBerry® Desktop Software,
-and/or BlackBerry® Device Software.</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>The terms of use of any RIM product or service are set out
-in a separate license or other agreement with RIM applicable thereto. NOTHING
-IN THIS DOCUMENTATION IS INTENDED TO SUPERSEDE ANY EXPRESS WRITTEN AGREEMENTS
-OR WARRANTIES PROVIDED BY RIM FOR PORTIONS OF ANY RIM PRODUCT OR SERVICE OTHER
-THAN THIS DOCUMENTATION.</p>
-
-<p class=MsoNormal><a name=d20e152a1310></a><a name=d20e156a1310></a><a
-name=d20e159a1310></a><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Research <span class=GramE>In</span> Motion Limited</p>
-
-<p class=MsoNormal>295 Phillip Street</p>
-
-<p class=MsoNormal>Waterloo, ON N2L 3W8</p>
-
-<p class=MsoNormal>Canada</p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal>Published in Canada</p>
-
-</div>
-
-</body>
-
-</html>

BIN
docs/sample03-character.pdf


+ 0 - 2
docs/sample03-character_files/colorschememapping.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

+ 0 - 29
docs/sample03-character_files/filelist.xml

@@ -1,29 +0,0 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../sample03-character.html"/>
- <o:File HRef="item0027.xml"/>
- <o:File HRef="props028.xml"/>
- <o:File HRef="themedata.thmx"/>
- <o:File HRef="colorschememapping.xml"/>
- <o:File HRef="image001.png"/>
- <o:File HRef="image002.png"/>
- <o:File HRef="image003.png"/>
- <o:File HRef="image004.png"/>
- <o:File HRef="image005.png"/>
- <o:File HRef="image006.png"/>
- <o:File HRef="image007.png"/>
- <o:File HRef="image008.jpg"/>
- <o:File HRef="image009.jpg"/>
- <o:File HRef="image010.png"/>
- <o:File HRef="image011.jpg"/>
- <o:File HRef="image012.png"/>
- <o:File HRef="image013.jpg"/>
- <o:File HRef="image014.png"/>
- <o:File HRef="image015.jpg"/>
- <o:File HRef="image016.png"/>
- <o:File HRef="image017.jpg"/>
- <o:File HRef="image018.png"/>
- <o:File HRef="image019.jpg"/>
- <o:File HRef="image020.png"/>
- <o:File HRef="image021.jpg"/>
- <o:File HRef="filelist.xml"/>
-</xml>

BIN
docs/sample03-character_files/image001.png


BIN
docs/sample03-character_files/image002.png


BIN
docs/sample03-character_files/image003.png


BIN
docs/sample03-character_files/image004.png


BIN
docs/sample03-character_files/image005.png


BIN
docs/sample03-character_files/image006.png


BIN
docs/sample03-character_files/image007.png


BIN
docs/sample03-character_files/image008.jpg


BIN
docs/sample03-character_files/image009.jpg


BIN
docs/sample03-character_files/image010.png


BIN
docs/sample03-character_files/image011.jpg


BIN
docs/sample03-character_files/image012.png


BIN
docs/sample03-character_files/image013.jpg


BIN
docs/sample03-character_files/image014.png


BIN
docs/sample03-character_files/image015.jpg


BIN
docs/sample03-character_files/image016.png


BIN
docs/sample03-character_files/image017.jpg


BIN
docs/sample03-character_files/image018.png


BIN
docs/sample03-character_files/image019.jpg


BIN
docs/sample03-character_files/image020.png


BIN
docs/sample03-character_files/image021.jpg


+ 0 - 1
docs/sample03-character_files/item0027.xml

@@ -1 +0,0 @@
-<b:Sources SelectedStyle="\APA.XSL" StyleName="APA" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"></b:Sources>

+ 0 - 2
docs/sample03-character_files/props028.xml

@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<ds:datastoreItem ds:itemID="{65FC902F-3DEB-421C-B408-3581BB09618A}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>

BIN
docs/sample03-character_files/themedata.thmx