' 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