' Gambas class file Private $sExec As String Private $aTutorial As String[][] = [ ["Example1", ("1 - Setting Up An OpenGL Window")], ["Example2", ("2 - Your First Polygon")], ["Example3", ("3 - Adding Color")], ["Example4", ("4 - Rotation")], ["Example5", ("5 - 3D Shapes")], ["Example6", ("6 - Texture Mapping")], ["Example7", ("7 - Texture Filters, Lighting & Keyboard Control")], ["Example8", ("8 - Blending")], ["Example9", ("9 - Moving Bitmaps In 3D Space")], ["Example10", ("10 - Loading And Moving Through A 3D World")], ["Example11", ("11 - Flag Effect (Waving Texture)")], ["Example16", ("16 - Cool Looking Fog")], ["Example19", ("19 - Particle Engine")], ["Example25", ("25 - Morphing & Loading Objects From A File")], ["Example42", ("42 - Multiple Viewports")]] Public Sub Form_Open() Dim aTutorial As String[] For Each aTutorial In $aTutorial cmbTutorial.Add(aTutorial[1]) Next cmbTutorial_Click End Public Sub btnRun_Click() Dim sOutput As String If Not $sExec Then Shell "rm -rf /tmp/NeHeTutorial" Wait Shell "cp -R " & Shell$(System.Path &/ "share/gambas3/examples/OpenGL/NeHeTutorial") & " /tmp/NeHeTutorial" Wait Shell "cd /tmp/NeHeTutorial && gbc3 -agt && gba3" To sOutput $sExec = "/tmp/NeHeTutorial/NeHeTutorial.gambas" If Not Exist($sExec) Then Message.Error(("Unable to compile the NeHeTurotial example inside the /tmp directory.")) $sExec = "" Return Endif Endif Exec [$sExec, $aTutorial[cmbTutorial.Index][0], $aTutorial[cmbTutorial.Index][1]] End Public Sub btnQuit_Click() Me.Close End Public Sub cmbTutorial_Click() txtCode.Text = File.Load(System.Path &/ "share/gambas3/examples/OpenGL/NeHeTutorial" &/ ".src" &/ $aTutorial[cmbTutorial.Index][0] & ".module") txtCode.Pos = 0 End