Imports Tao.OpenGl Imports Tao.Platform.Windows Imports Tao.DevIl Imports System.Math Imports System.IO Imports Tao.FreeGlut Imports System.Runtime.InteropServices Structure TempLimbPos Dim LimbNo As Integer Dim NextLimbNo As Integer Dim x As Single Dim y As Single Dim z As Single Dim xr As Single Dim yr As Single Dim zr As Single End Structure Structure Light Dim r As Double Dim g As Double Dim b As Double End Structure Structure Vertex3D Dim x() As Int16 Dim y() As Int16 Dim z() As Int16 Dim u() As Int16 Dim v() As Int16 Dim r() As Single Dim g() As Single Dim b() As Single Dim a() As Single End Structure Structure CTriSelect Dim g As Short Dim b As Short End Structure Structure Polygon3D Dim A As ArrayList Dim B As ArrayList Dim C As ArrayList End Structure Structure VertexCollision Dim x As ArrayList Dim y As ArrayList Dim z As ArrayList Dim ox As ArrayList Dim oy As ArrayList Dim oz As ArrayList Dim tr3 As ArrayList Dim tg3 As ArrayList Dim tb3 As ArrayList End Structure Structure color4c Dim r As ArrayList Dim g As ArrayList Dim b As ArrayList Dim a As ArrayList End Structure Structure PolygonCollision Dim A As ArrayList Dim B As ArrayList Dim C As ArrayList Dim tr5 As ArrayList Dim tg5 As ArrayList Dim tb5 As ArrayList End Structure Structure DisplayList Dim startpos As Integer Dim endpos As Integer Dim skip As Boolean Dim x As Int16 Dim y As Int16 Dim z As Int16 Dim xrot As Int16 Dim yrot As Int16 Dim zrot As Int16 Dim CommandCount As Integer Dim SkipDL As ArrayList Dim Commands() As DLCommandArray End Structure Structure ROMData Dim Levels() As Sc Dim Objects() As Obj Dim Others() As OtherData End Structure Structure Map Dim startoff As Integer Dim endoff As Integer Dim filename As String End Structure Structure Sc Dim startoff As Integer Dim endoff As Integer Dim filename As String Dim Maps() As Map End Structure Structure Obj Dim startoff As Integer Dim endoff As Integer Dim filename As String End Structure Structure OtherData Dim startoff As Integer Dim endoff As Integer Dim filename As String End Structure Structure DLCommandArray Dim CMDDword() As Byte Dim SkipCommand As Boolean End Structure Structure FileBuffers Dim Level() As Byte Dim Map() As Byte Dim ActorModel() As Byte End Structure Public Class MainWin #Region "GPL License" 'Utility of Time, N64 Zeldas Model/Map Editor and Viewer 'Copyright (C) 2006-2007 cooliscool 'This program is free software: you can redistribute it and/or modify 'it under the terms of the GNU General Public License as published by 'the Free Software Foundation, either version 3 of the License, or '(at your option) any later version. 'This program is distributed in the hope that it will be useful, 'but WITHOUT ANY WARRANTY; without even the implied warranty of 'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 'GNU General Public License for more details. 'You should have received a copy of the GNU General Public License 'along with this program. If not, see . #End Region #Region "Necessary for OpenGL Initialization" Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'SimpleOpenGlControl1.Multisampling = 4 'Add any initialization after the InitializeComponent() call SimpleOpenGlControl1.InitializeContexts() End Sub 'Form overrides dispose to clean up the component list. _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If Disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(Disposing) SimpleOpenGlControl1.DestroyContexts() End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer Friend WithEvents LoadROM As System.Windows.Forms.OpenFileDialog 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainWin)) Me.LoadROM = New System.Windows.Forms.OpenFileDialog Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog Me.StatusStrip1 = New System.Windows.Forms.StatusStrip Me.ToolStripStatusLabel5 = New System.Windows.Forms.ToolStripStatusLabel Me.ToolStripStatusLabel4 = New System.Windows.Forms.ToolStripStatusLabel Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton Me.ToolStripButton13 = New System.Windows.Forms.ToolStripButton Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator Me.ToolStripButton18 = New System.Windows.Forms.ToolStripButton Me.ToolStripButton12 = New System.Windows.Forms.ToolStripButton Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator Me.ToolStripButton17 = New System.Windows.Forms.ToolStripButton Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator Me.ContextMenuStrip4 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.VertexWelderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ActorSelectorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.VertexSelectorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SinglePointToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.PerMeshToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.AllSharedToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.WeldModesingleAndAllSharedOnlyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.TriangleEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.AxesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripMenuItem7 = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripMenuItem8 = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripMenuItem Me.ColorDialog1 = New System.Windows.Forms.ColorDialog Me.ColorDialog2 = New System.Windows.Forms.ColorDialog Me.ContextMenuStrip5 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ClearSkyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.CloudySkyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.Timer2 = New System.Windows.Forms.Timer(Me.components) Me.Label12 = New System.Windows.Forms.Label Me.TrackBar4 = New System.Windows.Forms.TrackBar Me.SaveFileDialog2 = New System.Windows.Forms.SaveFileDialog Me.MenuStrip1 = New System.Windows.Forms.MenuStrip Me.FileToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem Me.OpenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.toolStripSeparator = New System.Windows.Forms.ToolStripSeparator Me.SaveToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.toolStripSeparator12 = New System.Windows.Forms.ToolStripSeparator Me.ExitToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.EditToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem Me.UndoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ToolsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.OptionsToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem Me.HelpToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem Me.ContentsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.FileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.OpenModelToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SaveChangesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ReloadCurrentFileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ImportCSVToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripSeparator10 = New System.Windows.Forms.ToolStripSeparator Me.QuitToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.EditToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ResetSelectedVerticesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ResetAllGraphicsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ResetAllCollisionToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripSeparator11 = New System.Windows.Forms.ToolStripSeparator Me.ResetSelectedActorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ResetAllActorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ResetAllSceneActorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator Me.SelectAllRoomActorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SelectAllSceneActorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SelectAllGraphicsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SelectAllCollisionToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.OptionsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.LaunchROMInPJ64ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ZeldaResourceExtractorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.FeaturesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.RenderModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ViewingMeshToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem Me.CollisionMeshToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.PrimitiveTypeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.FilledToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.WireframeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripSeparator8 = New System.Windows.Forms.ToolStripSeparator Me.MouseToolToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SetupToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.HelpToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ControlsInfoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripSeparator7 = New System.Windows.Forms.ToolStripSeparator Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SearchForUpdatesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SaveFileDialog3 = New System.Windows.Forms.SaveFileDialog Me.Timer1 = New System.Windows.Forms.Timer(Me.components) Me.ComboBox3 = New System.Windows.Forms.ComboBox Me.Label11 = New System.Windows.Forms.Label Me.OpenFileDialog3 = New System.Windows.Forms.OpenFileDialog Me.OpenFileDialog4 = New System.Windows.Forms.OpenFileDialog Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog Me.Timer3 = New System.Windows.Forms.Timer(Me.components) Me.ContextMenuStrip7 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.FlagsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.AddPresetToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.Timer4 = New System.Windows.Forms.Timer(Me.components) Me.OpenFileDialog5 = New System.Windows.Forms.OpenFileDialog Me.TabPage5 = New System.Windows.Forms.TabPage Me.GroupBox7 = New System.Windows.Forms.GroupBox Me.Label36 = New System.Windows.Forms.Label Me.TextBox20 = New System.Windows.Forms.TextBox Me.Label38 = New System.Windows.Forms.Label Me.Label37 = New System.Windows.Forms.Label Me.Label35 = New System.Windows.Forms.Label Me.Label33 = New System.Windows.Forms.Label Me.Label32 = New System.Windows.Forms.Label Me.Label23 = New System.Windows.Forms.Label Me.Label13 = New System.Windows.Forms.Label Me.Label1 = New System.Windows.Forms.Label Me.TextBox19 = New System.Windows.Forms.TextBox Me.Button22 = New System.Windows.Forms.Button Me.TextBox18 = New System.Windows.Forms.TextBox Me.TextBox17 = New System.Windows.Forms.TextBox Me.TextBox15 = New System.Windows.Forms.TextBox Me.Button21 = New System.Windows.Forms.Button Me.Label34 = New System.Windows.Forms.Label Me.TextBox14 = New System.Windows.Forms.TextBox Me.ComboBox1 = New System.Windows.Forms.ComboBox Me.Label31 = New System.Windows.Forms.Label Me.TextBox16 = New System.Windows.Forms.TextBox Me.ComboBox8 = New System.Windows.Forms.ComboBox Me.Label10 = New System.Windows.Forms.Label Me.GroupBox9 = New System.Windows.Forms.GroupBox Me.ProgressBar1 = New System.Windows.Forms.ProgressBar Me.Label28 = New System.Windows.Forms.Label Me.Button16 = New System.Windows.Forms.Button Me.Button15 = New System.Windows.Forms.Button Me.TabPage4 = New System.Windows.Forms.TabPage Me.GroupBox1 = New System.Windows.Forms.GroupBox Me.Label30 = New System.Windows.Forms.Label Me.PictureBox1 = New System.Windows.Forms.PictureBox Me.Button7 = New System.Windows.Forms.Button Me.Button6 = New System.Windows.Forms.Button Me.Label29 = New System.Windows.Forms.Label Me.RadioButton3 = New System.Windows.Forms.RadioButton Me.RadioButton1 = New System.Windows.Forms.RadioButton Me.RadioButton2 = New System.Windows.Forms.RadioButton Me.GroupBox10 = New System.Windows.Forms.GroupBox Me.CheckBox5 = New System.Windows.Forms.CheckBox Me.CheckBox15 = New System.Windows.Forms.CheckBox Me.CheckBox14 = New System.Windows.Forms.CheckBox Me.CheckBox13 = New System.Windows.Forms.CheckBox Me.TabPage3 = New System.Windows.Forms.TabPage Me.GroupBox3 = New System.Windows.Forms.GroupBox Me.Button3 = New System.Windows.Forms.Button Me.CheckBox7 = New System.Windows.Forms.CheckBox Me.CheckBox4 = New System.Windows.Forms.CheckBox Me.CheckBox3 = New System.Windows.Forms.CheckBox Me.CheckBox2 = New System.Windows.Forms.CheckBox Me.CheckBox1 = New System.Windows.Forms.CheckBox Me.GroupBox6 = New System.Windows.Forms.GroupBox Me.ComboBox6 = New System.Windows.Forms.ComboBox Me.Label2 = New System.Windows.Forms.Label Me.Button11 = New System.Windows.Forms.Button Me.TextBox13 = New System.Windows.Forms.TextBox Me.Label21 = New System.Windows.Forms.Label Me.TabPage2 = New System.Windows.Forms.TabPage Me.ComboBox5 = New System.Windows.Forms.ComboBox Me.Button2 = New System.Windows.Forms.Button Me.ComboBox4 = New System.Windows.Forms.ComboBox Me.TextBox6 = New System.Windows.Forms.TextBox Me.GroupBox4 = New System.Windows.Forms.GroupBox Me.Button40 = New System.Windows.Forms.Button Me.Button39 = New System.Windows.Forms.Button Me.Button38 = New System.Windows.Forms.Button Me.Label14 = New System.Windows.Forms.Label Me.Label17 = New System.Windows.Forms.Label Me.TextBox9 = New System.Windows.Forms.TextBox Me.Label18 = New System.Windows.Forms.Label Me.TextBox8 = New System.Windows.Forms.TextBox Me.Label19 = New System.Windows.Forms.Label Me.TextBox7 = New System.Windows.Forms.TextBox Me.TextBox10 = New System.Windows.Forms.TextBox Me.Label16 = New System.Windows.Forms.Label Me.TextBox11 = New System.Windows.Forms.TextBox Me.Label15 = New System.Windows.Forms.Label Me.TextBox12 = New System.Windows.Forms.TextBox Me.GroupBox5 = New System.Windows.Forms.GroupBox Me.Label45 = New System.Windows.Forms.Label Me.Button23 = New System.Windows.Forms.Button Me.Label7 = New System.Windows.Forms.Label Me.TextBox4 = New System.Windows.Forms.TextBox Me.Label8 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.TextBox5 = New System.Windows.Forms.TextBox Me.Label22 = New System.Windows.Forms.Label Me.Button5 = New System.Windows.Forms.Button Me.ComboBox7 = New System.Windows.Forms.ComboBox Me.Label24 = New System.Windows.Forms.Label Me.TabPage1 = New System.Windows.Forms.TabPage Me.Button12 = New System.Windows.Forms.Button Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.TextBox1 = New System.Windows.Forms.TextBox Me.TextBox2 = New System.Windows.Forms.TextBox Me.GroupBox2 = New System.Windows.Forms.GroupBox Me.CheckBox18 = New System.Windows.Forms.CheckBox Me.CheckBox17 = New System.Windows.Forms.CheckBox Me.CheckBox16 = New System.Windows.Forms.CheckBox Me.Button30 = New System.Windows.Forms.Button Me.Button31 = New System.Windows.Forms.Button Me.Button32 = New System.Windows.Forms.Button Me.GroupBox11 = New System.Windows.Forms.GroupBox Me.CheckBox19 = New System.Windows.Forms.CheckBox Me.Label44 = New System.Windows.Forms.Label Me.Button37 = New System.Windows.Forms.Button Me.Button33 = New System.Windows.Forms.Button Me.Button34 = New System.Windows.Forms.Button Me.Button28 = New System.Windows.Forms.Button Me.Button10 = New System.Windows.Forms.Button Me.Label41 = New System.Windows.Forms.Label Me.Button29 = New System.Windows.Forms.Button Me.Label42 = New System.Windows.Forms.Label Me.TextBox21 = New System.Windows.Forms.TextBox Me.TextBox22 = New System.Windows.Forms.TextBox Me.Label27 = New System.Windows.Forms.Label Me.Label20 = New System.Windows.Forms.Label Me.Button20 = New System.Windows.Forms.Button Me.Label26 = New System.Windows.Forms.Label Me.Button19 = New System.Windows.Forms.Button Me.Button17 = New System.Windows.Forms.Button Me.Label25 = New System.Windows.Forms.Label Me.Label9 = New System.Windows.Forms.Label Me.Button18 = New System.Windows.Forms.Button Me.Button14 = New System.Windows.Forms.Button Me.Button1 = New System.Windows.Forms.Button Me.Button4 = New System.Windows.Forms.Button Me.Button13 = New System.Windows.Forms.Button Me.TextBox3 = New System.Windows.Forms.TextBox Me.Movement = New System.Windows.Forms.GroupBox Me.Button24 = New System.Windows.Forms.Button Me.Label39 = New System.Windows.Forms.Label Me.Label40 = New System.Windows.Forms.Label Me.Button25 = New System.Windows.Forms.Button Me.Button26 = New System.Windows.Forms.Button Me.Button27 = New System.Windows.Forms.Button Me.Button8 = New System.Windows.Forms.Button Me.TabControl1 = New System.Windows.Forms.TabControl Me.TabPage6 = New System.Windows.Forms.TabPage Me.Button41 = New System.Windows.Forms.Button Me.DebugTree = New System.Windows.Forms.TreeView Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem Me.TabPage7 = New System.Windows.Forms.TabPage Me.FileTree = New System.Windows.Forms.TreeView Me.Label43 = New System.Windows.Forms.Label Me.TrackBar1 = New System.Windows.Forms.TrackBar Me.SimpleOpenGlControl1 = New Tao.Platform.Windows.SimpleOpenGlControl Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem Me.Button9 = New System.Windows.Forms.Button Me.ContextMenuStrip4.SuspendLayout() Me.ContextMenuStrip5.SuspendLayout() CType(Me.TrackBar4, System.ComponentModel.ISupportInitialize).BeginInit() Me.MenuStrip1.SuspendLayout() Me.ContextMenuStrip7.SuspendLayout() Me.TabPage5.SuspendLayout() Me.GroupBox7.SuspendLayout() Me.GroupBox9.SuspendLayout() Me.TabPage4.SuspendLayout() Me.GroupBox1.SuspendLayout() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.GroupBox10.SuspendLayout() Me.TabPage3.SuspendLayout() Me.GroupBox3.SuspendLayout() Me.GroupBox6.SuspendLayout() Me.TabPage2.SuspendLayout() Me.GroupBox4.SuspendLayout() Me.GroupBox5.SuspendLayout() Me.TabPage1.SuspendLayout() Me.GroupBox2.SuspendLayout() Me.GroupBox11.SuspendLayout() Me.Movement.SuspendLayout() Me.TabControl1.SuspendLayout() Me.TabPage6.SuspendLayout() Me.ContextMenuStrip2.SuspendLayout() Me.TabPage7.SuspendLayout() CType(Me.TrackBar1, System.ComponentModel.ISupportInitialize).BeginInit() Me.ContextMenuStrip1.SuspendLayout() Me.SuspendLayout() ' 'LoadROM ' Me.LoadROM.Filter = "ROMs|*.z64;*.v64;*.n64" Me.LoadROM.Title = "Load N64 Zelda Compliant Data" ' 'SaveFileDialog1 ' Me.SaveFileDialog1.DefaultExt = "wrl" Me.SaveFileDialog1.Filter = "VRML Worlds|*.wrl" ' 'StatusStrip1 ' Me.StatusStrip1.Location = New System.Drawing.Point(0, 551) Me.StatusStrip1.Name = "StatusStrip1" Me.StatusStrip1.Size = New System.Drawing.Size(792, 22) Me.StatusStrip1.TabIndex = 1 Me.StatusStrip1.Text = "StatusStrip1" ' 'ToolStripStatusLabel5 ' Me.ToolStripStatusLabel5.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) Me.ToolStripStatusLabel5.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter Me.ToolStripStatusLabel5.Name = "ToolStripStatusLabel5" Me.ToolStripStatusLabel5.Size = New System.Drawing.Size(29, 22) Me.ToolStripStatusLabel5.Text = "FPS" ' 'ToolStripStatusLabel4 ' Me.ToolStripStatusLabel4.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) Me.ToolStripStatusLabel4.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter Me.ToolStripStatusLabel4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text Me.ToolStripStatusLabel4.Font = New System.Drawing.Font("Trebuchet MS", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.ToolStripStatusLabel4.Name = "ToolStripStatusLabel4" Me.ToolStripStatusLabel4.Size = New System.Drawing.Size(111, 22) Me.ToolStripStatusLabel4.Text = "Tool: Camera only" ' 'ToolStripSeparator4 ' Me.ToolStripSeparator4.Name = "ToolStripSeparator4" Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 41) ' 'ToolStripButton4 ' Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) Me.ToolStripButton4.ImageAlign = System.Drawing.ContentAlignment.TopCenter Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton4.Name = "ToolStripButton4" Me.ToolStripButton4.Size = New System.Drawing.Size(38, 38) Me.ToolStripButton4.Text = "Open" Me.ToolStripButton4.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton4.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay ' 'ToolStripButton5 ' Me.ToolStripButton5.Image = CType(resources.GetObject("ToolStripButton5.Image"), System.Drawing.Image) Me.ToolStripButton5.ImageAlign = System.Drawing.ContentAlignment.TopCenter Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton5.Name = "ToolStripButton5" Me.ToolStripButton5.Size = New System.Drawing.Size(34, 38) Me.ToolStripButton5.Text = "Quit" Me.ToolStripButton5.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton5.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay ' 'ToolStripButton13 ' Me.ToolStripButton13.Image = CType(resources.GetObject("ToolStripButton13.Image"), System.Drawing.Image) Me.ToolStripButton13.ImageAlign = System.Drawing.ContentAlignment.TopCenter Me.ToolStripButton13.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton13.Name = "ToolStripButton13" Me.ToolStripButton13.Size = New System.Drawing.Size(35, 38) Me.ToolStripButton13.Text = "Save" Me.ToolStripButton13.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton13.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay ' 'ToolStripButton3 ' Me.ToolStripButton3.Enabled = False Me.ToolStripButton3.Image = Global.UoT.My.Resources.Resources.BombosMedallion Me.ToolStripButton3.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton3.Name = "ToolStripButton3" Me.ToolStripButton3.Size = New System.Drawing.Size(44, 38) Me.ToolStripButton3.Text = "Reload" Me.ToolStripButton3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText ' 'ToolStripSeparator2 ' Me.ToolStripSeparator2.Name = "ToolStripSeparator2" Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 41) ' 'ToolStripButton18 ' Me.ToolStripButton18.Image = CType(resources.GetObject("ToolStripButton18.Image"), System.Drawing.Image) Me.ToolStripButton18.ImageAlign = System.Drawing.ContentAlignment.TopCenter Me.ToolStripButton18.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton18.Name = "ToolStripButton18" Me.ToolStripButton18.Size = New System.Drawing.Size(66, 38) Me.ToolStripButton18.Text = "Mouse Tool" Me.ToolStripButton18.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton18.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay ' 'ToolStripButton12 ' Me.ToolStripButton12.Image = CType(resources.GetObject("ToolStripButton12.Image"), System.Drawing.Image) Me.ToolStripButton12.ImageAlign = System.Drawing.ContentAlignment.TopCenter Me.ToolStripButton12.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton12.Name = "ToolStripButton12" Me.ToolStripButton12.Size = New System.Drawing.Size(37, 38) Me.ToolStripButton12.Text = "Filled" Me.ToolStripButton12.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton12.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay ' 'ToolStripSeparator1 ' Me.ToolStripSeparator1.Name = "ToolStripSeparator1" Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 41) ' 'ToolStripButton17 ' Me.ToolStripButton17.Image = CType(resources.GetObject("ToolStripButton17.Image"), System.Drawing.Image) Me.ToolStripButton17.ImageAlign = System.Drawing.ContentAlignment.TopCenter Me.ToolStripButton17.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None Me.ToolStripButton17.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton17.Name = "ToolStripButton17" Me.ToolStripButton17.Size = New System.Drawing.Size(35, 38) Me.ToolStripButton17.Text = "PJ64" Me.ToolStripButton17.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton17.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay ' 'ToolStripSeparator6 ' Me.ToolStripSeparator6.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right Me.ToolStripSeparator6.Name = "ToolStripSeparator6" Me.ToolStripSeparator6.RightToLeft = System.Windows.Forms.RightToLeft.No Me.ToolStripSeparator6.Size = New System.Drawing.Size(6, 41) ' 'ToolStripSeparator5 ' Me.ToolStripSeparator5.Name = "ToolStripSeparator5" Me.ToolStripSeparator5.Size = New System.Drawing.Size(6, 41) ' 'ToolStripButton1 ' Me.ToolStripButton1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) Me.ToolStripButton1.ImageAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton1.Name = "ToolStripButton1" Me.ToolStripButton1.Size = New System.Drawing.Size(63, 38) Me.ToolStripButton1.Text = "Show Tabs" Me.ToolStripButton1.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.ToolStripButton1.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText ' 'ToolStripSeparator3 ' Me.ToolStripSeparator3.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right Me.ToolStripSeparator3.Name = "ToolStripSeparator3" Me.ToolStripSeparator3.RightToLeft = System.Windows.Forms.RightToLeft.No Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 41) ' 'ContextMenuStrip4 ' Me.ContextMenuStrip4.BackColor = System.Drawing.SystemColors.ControlLight Me.ContextMenuStrip4.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.VertexWelderToolStripMenuItem, Me.ActorSelectorToolStripMenuItem, Me.VertexSelectorToolStripMenuItem, Me.TriangleEditorToolStripMenuItem, Me.AxesToolStripMenuItem}) Me.ContextMenuStrip4.Name = "ContextMenuStrip4" Me.ContextMenuStrip4.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional Me.ContextMenuStrip4.Size = New System.Drawing.Size(198, 114) ' 'VertexWelderToolStripMenuItem ' Me.VertexWelderToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlLight Me.VertexWelderToolStripMenuItem.Checked = True Me.VertexWelderToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked Me.VertexWelderToolStripMenuItem.Name = "VertexWelderToolStripMenuItem" Me.VertexWelderToolStripMenuItem.ShortcutKeyDisplayString = "1" Me.VertexWelderToolStripMenuItem.Size = New System.Drawing.Size(197, 22) Me.VertexWelderToolStripMenuItem.Text = "Camera Only" ' 'ActorSelectorToolStripMenuItem ' Me.ActorSelectorToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlLight Me.ActorSelectorToolStripMenuItem.Name = "ActorSelectorToolStripMenuItem" Me.ActorSelectorToolStripMenuItem.ShortcutKeyDisplayString = "2" Me.ActorSelectorToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D2), System.Windows.Forms.Keys) Me.ActorSelectorToolStripMenuItem.Size = New System.Drawing.Size(197, 22) Me.ActorSelectorToolStripMenuItem.Text = "Actor Mover" ' 'VertexSelectorToolStripMenuItem ' Me.VertexSelectorToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlLight Me.VertexSelectorToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SinglePointToolStripMenuItem, Me.PerMeshToolStripMenuItem, Me.AllSharedToolStripMenuItem, Me.WeldModesingleAndAllSharedOnlyToolStripMenuItem}) Me.VertexSelectorToolStripMenuItem.Name = "VertexSelectorToolStripMenuItem" Me.VertexSelectorToolStripMenuItem.ShortcutKeyDisplayString = "" Me.VertexSelectorToolStripMenuItem.Size = New System.Drawing.Size(197, 22) Me.VertexSelectorToolStripMenuItem.Text = "Vertex Editor" ' 'SinglePointToolStripMenuItem ' Me.SinglePointToolStripMenuItem.Name = "SinglePointToolStripMenuItem" Me.SinglePointToolStripMenuItem.ShortcutKeyDisplayString = "3" Me.SinglePointToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D3), System.Windows.Forms.Keys) Me.SinglePointToolStripMenuItem.Size = New System.Drawing.Size(227, 22) Me.SinglePointToolStripMenuItem.Text = "Single point" ' 'PerMeshToolStripMenuItem ' Me.PerMeshToolStripMenuItem.Name = "PerMeshToolStripMenuItem" Me.PerMeshToolStripMenuItem.ShortcutKeyDisplayString = "4" Me.PerMeshToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D4), System.Windows.Forms.Keys) Me.PerMeshToolStripMenuItem.Size = New System.Drawing.Size(227, 22) Me.PerMeshToolStripMenuItem.Text = "Per-Mesh" ' 'AllSharedToolStripMenuItem ' Me.AllSharedToolStripMenuItem.Name = "AllSharedToolStripMenuItem" Me.AllSharedToolStripMenuItem.ShortcutKeyDisplayString = "5" Me.AllSharedToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D5), System.Windows.Forms.Keys) Me.AllSharedToolStripMenuItem.Size = New System.Drawing.Size(227, 22) Me.AllSharedToolStripMenuItem.Text = "All shared" ' 'WeldModesingleAndAllSharedOnlyToolStripMenuItem ' Me.WeldModesingleAndAllSharedOnlyToolStripMenuItem.Name = "WeldModesingleAndAllSharedOnlyToolStripMenuItem" Me.WeldModesingleAndAllSharedOnlyToolStripMenuItem.ShortcutKeyDisplayString = "Num +" Me.WeldModesingleAndAllSharedOnlyToolStripMenuItem.Size = New System.Drawing.Size(227, 22) Me.WeldModesingleAndAllSharedOnlyToolStripMenuItem.Text = "Weld mode (single only)" ' 'TriangleEditorToolStripMenuItem ' Me.TriangleEditorToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlLight Me.TriangleEditorToolStripMenuItem.Name = "TriangleEditorToolStripMenuItem" Me.TriangleEditorToolStripMenuItem.ShortcutKeyDisplayString = "6" Me.TriangleEditorToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D6), System.Windows.Forms.Keys) Me.TriangleEditorToolStripMenuItem.Size = New System.Drawing.Size(197, 22) Me.TriangleEditorToolStripMenuItem.Text = "Collision Triangle Editor" ' 'AxesToolStripMenuItem ' Me.AxesToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlLight Me.AxesToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem7, Me.ToolStripMenuItem8, Me.ToolStripMenuItem6}) Me.AxesToolStripMenuItem.Name = "AxesToolStripMenuItem" Me.AxesToolStripMenuItem.ShortcutKeyDisplayString = "" Me.AxesToolStripMenuItem.ShowShortcutKeys = False Me.AxesToolStripMenuItem.Size = New System.Drawing.Size(197, 22) Me.AxesToolStripMenuItem.Text = "Move on axes" ' 'ToolStripMenuItem7 ' Me.ToolStripMenuItem7.BackColor = System.Drawing.SystemColors.Control Me.ToolStripMenuItem7.Checked = True Me.ToolStripMenuItem7.CheckState = System.Windows.Forms.CheckState.Checked Me.ToolStripMenuItem7.Name = "ToolStripMenuItem7" Me.ToolStripMenuItem7.ShortcutKeyDisplayString = "8" Me.ToolStripMenuItem7.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D8), System.Windows.Forms.Keys) Me.ToolStripMenuItem7.Size = New System.Drawing.Size(123, 22) Me.ToolStripMenuItem7.Text = "X and Y" ' 'ToolStripMenuItem8 ' Me.ToolStripMenuItem8.BackColor = System.Drawing.SystemColors.Control Me.ToolStripMenuItem8.Name = "ToolStripMenuItem8" Me.ToolStripMenuItem8.ShortcutKeyDisplayString = "9" Me.ToolStripMenuItem8.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D9), System.Windows.Forms.Keys) Me.ToolStripMenuItem8.Size = New System.Drawing.Size(123, 22) Me.ToolStripMenuItem8.Text = "X" ' 'ToolStripMenuItem6 ' Me.ToolStripMenuItem6.BackColor = System.Drawing.SystemColors.Control Me.ToolStripMenuItem6.Name = "ToolStripMenuItem6" Me.ToolStripMenuItem6.ShortcutKeyDisplayString = "0" Me.ToolStripMenuItem6.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.D0), System.Windows.Forms.Keys) Me.ToolStripMenuItem6.Size = New System.Drawing.Size(123, 22) Me.ToolStripMenuItem6.Text = "Y" ' 'ColorDialog2 ' Me.ColorDialog2.AnyColor = True Me.ColorDialog2.SolidColorOnly = True ' 'ContextMenuStrip5 ' Me.ContextMenuStrip5.BackColor = System.Drawing.SystemColors.ControlLight Me.ContextMenuStrip5.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ClearSkyToolStripMenuItem, Me.CloudySkyToolStripMenuItem}) Me.ContextMenuStrip5.Name = "ContextMenuStrip1" Me.ContextMenuStrip5.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional Me.ContextMenuStrip5.Size = New System.Drawing.Size(128, 48) ' 'ClearSkyToolStripMenuItem ' Me.ClearSkyToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlLight Me.ClearSkyToolStripMenuItem.Name = "ClearSkyToolStripMenuItem" Me.ClearSkyToolStripMenuItem.Size = New System.Drawing.Size(127, 22) Me.ClearSkyToolStripMenuItem.Text = "Clear Sky" ' 'CloudySkyToolStripMenuItem ' Me.CloudySkyToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlLight Me.CloudySkyToolStripMenuItem.Name = "CloudySkyToolStripMenuItem" Me.CloudySkyToolStripMenuItem.Size = New System.Drawing.Size(127, 22) Me.CloudySkyToolStripMenuItem.Text = "Cloudy Sky" ' 'Timer2 ' Me.Timer2.Enabled = True Me.Timer2.Interval = 1000 ' 'Label12 ' Me.Label12.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Label12.AutoSize = True Me.Label12.BackColor = System.Drawing.SystemColors.Control Me.Label12.Font = New System.Drawing.Font("Trebuchet MS", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label12.Location = New System.Drawing.Point(586, 553) Me.Label12.Name = "Label12" Me.Label12.Size = New System.Drawing.Size(95, 18) Me.Label12.TabIndex = 39 Me.Label12.Text = "Tool Sensitivity:" ' 'TrackBar4 ' Me.TrackBar4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.TrackBar4.AutoSize = False Me.TrackBar4.Cursor = System.Windows.Forms.Cursors.Hand Me.TrackBar4.LargeChange = 1 Me.TrackBar4.Location = New System.Drawing.Point(680, 554) Me.TrackBar4.Maximum = 15 Me.TrackBar4.Minimum = 1 Me.TrackBar4.Name = "TrackBar4" Me.TrackBar4.Size = New System.Drawing.Size(90, 15) Me.TrackBar4.TabIndex = 99 Me.TrackBar4.Value = 2 ' 'SaveFileDialog2 ' Me.SaveFileDialog2.Filter = "Text Documents|*.txt" ' 'MenuStrip1 ' Me.MenuStrip1.AllowMerge = False Me.MenuStrip1.AutoSize = False Me.MenuStrip1.BackColor = System.Drawing.SystemColors.ControlLight Me.MenuStrip1.Font = New System.Drawing.Font("Trebuchet MS", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem1, Me.EditToolStripMenuItem1, Me.ToolsToolStripMenuItem, Me.HelpToolStripMenuItem1}) Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) Me.MenuStrip1.Name = "MenuStrip1" Me.MenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional Me.MenuStrip1.Size = New System.Drawing.Size(792, 21) Me.MenuStrip1.Stretch = False Me.MenuStrip1.TabIndex = 40 Me.MenuStrip1.Text = "MenuStrip1" ' 'FileToolStripMenuItem1 ' Me.FileToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenToolStripMenuItem, Me.toolStripSeparator, Me.SaveToolStripMenuItem, Me.toolStripSeparator12, Me.ExitToolStripMenuItem}) Me.FileToolStripMenuItem1.Name = "FileToolStripMenuItem1" Me.FileToolStripMenuItem1.Size = New System.Drawing.Size(37, 17) Me.FileToolStripMenuItem1.Text = "&File" ' 'OpenToolStripMenuItem ' Me.OpenToolStripMenuItem.Image = CType(resources.GetObject("OpenToolStripMenuItem.Image"), System.Drawing.Image) Me.OpenToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta Me.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem" Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(137, 22) Me.OpenToolStripMenuItem.Text = "&Open ROM" ' 'toolStripSeparator ' Me.toolStripSeparator.Name = "toolStripSeparator" Me.toolStripSeparator.Size = New System.Drawing.Size(134, 6) ' 'SaveToolStripMenuItem ' Me.SaveToolStripMenuItem.Image = CType(resources.GetObject("SaveToolStripMenuItem.Image"), System.Drawing.Image) Me.SaveToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta Me.SaveToolStripMenuItem.Name = "SaveToolStripMenuItem" Me.SaveToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys) Me.SaveToolStripMenuItem.Size = New System.Drawing.Size(137, 22) Me.SaveToolStripMenuItem.Text = "&Save" ' 'toolStripSeparator12 ' Me.toolStripSeparator12.Name = "toolStripSeparator12" Me.toolStripSeparator12.Size = New System.Drawing.Size(134, 6) ' 'ExitToolStripMenuItem ' Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem" Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(137, 22) Me.ExitToolStripMenuItem.Text = "E&xit" ' 'EditToolStripMenuItem1 ' Me.EditToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UndoToolStripMenuItem}) Me.EditToolStripMenuItem1.Name = "EditToolStripMenuItem1" Me.EditToolStripMenuItem1.Size = New System.Drawing.Size(44, 17) Me.EditToolStripMenuItem1.Text = "&View" ' 'UndoToolStripMenuItem ' Me.UndoToolStripMenuItem.Name = "UndoToolStripMenuItem" Me.UndoToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F1 Me.UndoToolStripMenuItem.Size = New System.Drawing.Size(153, 22) Me.UndoToolStripMenuItem.Text = "Toggle tabs" ' 'ToolsToolStripMenuItem ' Me.ToolsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OptionsToolStripMenuItem1}) Me.ToolsToolStripMenuItem.Name = "ToolsToolStripMenuItem" Me.ToolsToolStripMenuItem.Size = New System.Drawing.Size(81, 17) Me.ToolsToolStripMenuItem.Text = "&Preferences" ' 'OptionsToolStripMenuItem1 ' Me.OptionsToolStripMenuItem1.Name = "OptionsToolStripMenuItem1" Me.OptionsToolStripMenuItem1.Size = New System.Drawing.Size(104, 22) Me.OptionsToolStripMenuItem1.Text = "&Setup" ' 'HelpToolStripMenuItem1 ' Me.HelpToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ContentsToolStripMenuItem}) Me.HelpToolStripMenuItem1.Name = "HelpToolStripMenuItem1" Me.HelpToolStripMenuItem1.Size = New System.Drawing.Size(41, 17) Me.HelpToolStripMenuItem1.Text = "&Help" ' 'ContentsToolStripMenuItem ' Me.ContentsToolStripMenuItem.Name = "ContentsToolStripMenuItem" Me.ContentsToolStripMenuItem.Size = New System.Drawing.Size(118, 22) Me.ContentsToolStripMenuItem.Text = "&Controls" ' 'FileToolStripMenuItem ' Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenModelToolStripMenuItem, Me.SaveChangesToolStripMenuItem, Me.ReloadCurrentFileToolStripMenuItem, Me.ImportCSVToolStripMenuItem, Me.ToolStripSeparator10, Me.QuitToolStripMenuItem}) Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem" Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37, 17) Me.FileToolStripMenuItem.Text = "File" ' 'OpenModelToolStripMenuItem ' Me.OpenModelToolStripMenuItem.Name = "OpenModelToolStripMenuItem" Me.OpenModelToolStripMenuItem.ShortcutKeyDisplayString = "Alt+O" Me.OpenModelToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.O), System.Windows.Forms.Keys) Me.OpenModelToolStripMenuItem.Size = New System.Drawing.Size(202, 22) Me.OpenModelToolStripMenuItem.Text = "&Open ROM..." ' 'SaveChangesToolStripMenuItem ' Me.SaveChangesToolStripMenuItem.Name = "SaveChangesToolStripMenuItem" Me.SaveChangesToolStripMenuItem.ShortcutKeyDisplayString = "Alt+S" Me.SaveChangesToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys) Me.SaveChangesToolStripMenuItem.Size = New System.Drawing.Size(202, 22) Me.SaveChangesToolStripMenuItem.Text = "&Save" ' 'ReloadCurrentFileToolStripMenuItem ' Me.ReloadCurrentFileToolStripMenuItem.Name = "ReloadCurrentFileToolStripMenuItem" Me.ReloadCurrentFileToolStripMenuItem.Size = New System.Drawing.Size(202, 22) Me.ReloadCurrentFileToolStripMenuItem.Text = "&Reload current file" ' 'ImportCSVToolStripMenuItem ' Me.ImportCSVToolStripMenuItem.Name = "ImportCSVToolStripMenuItem" Me.ImportCSVToolStripMenuItem.Size = New System.Drawing.Size(202, 22) Me.ImportCSVToolStripMenuItem.Text = "Convert Wavefront OBJ..." ' 'ToolStripSeparator10 ' Me.ToolStripSeparator10.Name = "ToolStripSeparator10" Me.ToolStripSeparator10.Size = New System.Drawing.Size(199, 6) ' 'QuitToolStripMenuItem ' Me.QuitToolStripMenuItem.Name = "QuitToolStripMenuItem" Me.QuitToolStripMenuItem.Size = New System.Drawing.Size(202, 22) Me.QuitToolStripMenuItem.Text = "E&xit" ' 'EditToolStripMenuItem ' Me.EditToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ResetSelectedVerticesToolStripMenuItem, Me.ResetAllGraphicsToolStripMenuItem, Me.ResetAllCollisionToolStripMenuItem, Me.ToolStripSeparator11, Me.ResetSelectedActorToolStripMenuItem, Me.ResetAllActorsToolStripMenuItem, Me.ResetAllSceneActorsToolStripMenuItem, Me.ToolStripSeparator9, Me.SelectAllRoomActorsToolStripMenuItem, Me.SelectAllSceneActorsToolStripMenuItem, Me.SelectAllGraphicsToolStripMenuItem, Me.SelectAllCollisionToolStripMenuItem}) Me.EditToolStripMenuItem.Name = "EditToolStripMenuItem" Me.EditToolStripMenuItem.Size = New System.Drawing.Size(40, 17) Me.EditToolStripMenuItem.Text = "Edit" ' 'ResetSelectedVerticesToolStripMenuItem ' Me.ResetSelectedVerticesToolStripMenuItem.Name = "ResetSelectedVerticesToolStripMenuItem" Me.ResetSelectedVerticesToolStripMenuItem.ShortcutKeyDisplayString = "V" Me.ResetSelectedVerticesToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.ResetSelectedVerticesToolStripMenuItem.Text = "Reset selected vertices" ' 'ResetAllGraphicsToolStripMenuItem ' Me.ResetAllGraphicsToolStripMenuItem.Name = "ResetAllGraphicsToolStripMenuItem" Me.ResetAllGraphicsToolStripMenuItem.ShortcutKeyDisplayString = "" Me.ResetAllGraphicsToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.V), System.Windows.Forms.Keys) Me.ResetAllGraphicsToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.ResetAllGraphicsToolStripMenuItem.Text = "Reset all graphics" ' 'ResetAllCollisionToolStripMenuItem ' Me.ResetAllCollisionToolStripMenuItem.Name = "ResetAllCollisionToolStripMenuItem" Me.ResetAllCollisionToolStripMenuItem.ShortcutKeyDisplayString = "" Me.ResetAllCollisionToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys) Me.ResetAllCollisionToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.ResetAllCollisionToolStripMenuItem.Text = "Reset all collision" ' 'ToolStripSeparator11 ' Me.ToolStripSeparator11.Name = "ToolStripSeparator11" Me.ToolStripSeparator11.Size = New System.Drawing.Size(215, 6) ' 'ResetSelectedActorToolStripMenuItem ' Me.ResetSelectedActorToolStripMenuItem.Name = "ResetSelectedActorToolStripMenuItem" Me.ResetSelectedActorToolStripMenuItem.ShortcutKeyDisplayString = "B" Me.ResetSelectedActorToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.ResetSelectedActorToolStripMenuItem.Text = "Reset selected actors" ' 'ResetAllActorsToolStripMenuItem ' Me.ResetAllActorsToolStripMenuItem.Name = "ResetAllActorsToolStripMenuItem" Me.ResetAllActorsToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.B), System.Windows.Forms.Keys) Me.ResetAllActorsToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.ResetAllActorsToolStripMenuItem.Text = "Reset all room actors" ' 'ResetAllSceneActorsToolStripMenuItem ' Me.ResetAllSceneActorsToolStripMenuItem.Name = "ResetAllSceneActorsToolStripMenuItem" Me.ResetAllSceneActorsToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys) Me.ResetAllSceneActorsToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.ResetAllSceneActorsToolStripMenuItem.Text = "Reset all scene actors" ' 'ToolStripSeparator9 ' Me.ToolStripSeparator9.Name = "ToolStripSeparator9" Me.ToolStripSeparator9.Size = New System.Drawing.Size(215, 6) ' 'SelectAllRoomActorsToolStripMenuItem ' Me.SelectAllRoomActorsToolStripMenuItem.Name = "SelectAllRoomActorsToolStripMenuItem" Me.SelectAllRoomActorsToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F11 Me.SelectAllRoomActorsToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.SelectAllRoomActorsToolStripMenuItem.Text = "Select all room actors" ' 'SelectAllSceneActorsToolStripMenuItem ' Me.SelectAllSceneActorsToolStripMenuItem.Name = "SelectAllSceneActorsToolStripMenuItem" Me.SelectAllSceneActorsToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F12 Me.SelectAllSceneActorsToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.SelectAllSceneActorsToolStripMenuItem.Text = "Select all scene actors" ' 'SelectAllGraphicsToolStripMenuItem ' Me.SelectAllGraphicsToolStripMenuItem.Name = "SelectAllGraphicsToolStripMenuItem" Me.SelectAllGraphicsToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.SelectAllGraphicsToolStripMenuItem.Text = "Select all graphics" ' 'SelectAllCollisionToolStripMenuItem ' Me.SelectAllCollisionToolStripMenuItem.Name = "SelectAllCollisionToolStripMenuItem" Me.SelectAllCollisionToolStripMenuItem.Size = New System.Drawing.Size(218, 22) Me.SelectAllCollisionToolStripMenuItem.Text = "Select all collision" ' 'OptionsToolStripMenuItem ' Me.OptionsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LaunchROMInPJ64ToolStripMenuItem, Me.ZeldaResourceExtractorToolStripMenuItem}) Me.OptionsToolStripMenuItem.Name = "OptionsToolStripMenuItem" Me.OptionsToolStripMenuItem.Size = New System.Drawing.Size(59, 17) Me.OptionsToolStripMenuItem.Text = "Options" ' 'LaunchROMInPJ64ToolStripMenuItem ' Me.LaunchROMInPJ64ToolStripMenuItem.Name = "LaunchROMInPJ64ToolStripMenuItem" Me.LaunchROMInPJ64ToolStripMenuItem.ShortcutKeyDisplayString = "" Me.LaunchROMInPJ64ToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.P), System.Windows.Forms.Keys) Me.LaunchROMInPJ64ToolStripMenuItem.Size = New System.Drawing.Size(217, 22) Me.LaunchROMInPJ64ToolStripMenuItem.Text = "&Launch ROM in &PJ64..." ' 'ZeldaResourceExtractorToolStripMenuItem ' Me.ZeldaResourceExtractorToolStripMenuItem.Name = "ZeldaResourceExtractorToolStripMenuItem" Me.ZeldaResourceExtractorToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.R), System.Windows.Forms.Keys) Me.ZeldaResourceExtractorToolStripMenuItem.Size = New System.Drawing.Size(217, 22) Me.ZeldaResourceExtractorToolStripMenuItem.Text = "Extract &ROM..." ' 'FeaturesToolStripMenuItem ' Me.FeaturesToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.RenderModeToolStripMenuItem, Me.PrimitiveTypeToolStripMenuItem, Me.ToolStripSeparator8, Me.MouseToolToolStripMenuItem, Me.SetupToolStripMenuItem}) Me.FeaturesToolStripMenuItem.Name = "FeaturesToolStripMenuItem" Me.FeaturesToolStripMenuItem.Size = New System.Drawing.Size(81, 17) Me.FeaturesToolStripMenuItem.Text = "Preferences" ' 'RenderModeToolStripMenuItem ' Me.RenderModeToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ViewingMeshToolStripMenuItem1, Me.CollisionMeshToolStripMenuItem}) Me.RenderModeToolStripMenuItem.Name = "RenderModeToolStripMenuItem" Me.RenderModeToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.R), System.Windows.Forms.Keys) Me.RenderModeToolStripMenuItem.Size = New System.Drawing.Size(162, 22) Me.RenderModeToolStripMenuItem.Text = "&Render" ' 'ViewingMeshToolStripMenuItem1 ' Me.ViewingMeshToolStripMenuItem1.Checked = True Me.ViewingMeshToolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked Me.ViewingMeshToolStripMenuItem1.Name = "ViewingMeshToolStripMenuItem1" Me.ViewingMeshToolStripMenuItem1.Size = New System.Drawing.Size(143, 22) Me.ViewingMeshToolStripMenuItem1.Text = "Graphics Mesh" ' 'CollisionMeshToolStripMenuItem ' Me.CollisionMeshToolStripMenuItem.Name = "CollisionMeshToolStripMenuItem" Me.CollisionMeshToolStripMenuItem.Size = New System.Drawing.Size(143, 22) Me.CollisionMeshToolStripMenuItem.Text = "Collision Mesh" ' 'PrimitiveTypeToolStripMenuItem ' Me.PrimitiveTypeToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FilledToolStripMenuItem, Me.WireframeToolStripMenuItem}) Me.PrimitiveTypeToolStripMenuItem.Name = "PrimitiveTypeToolStripMenuItem" Me.PrimitiveTypeToolStripMenuItem.ShortcutKeyDisplayString = "F1" Me.PrimitiveTypeToolStripMenuItem.Size = New System.Drawing.Size(162, 22) Me.PrimitiveTypeToolStripMenuItem.Text = "&Primitive Mode" ' 'FilledToolStripMenuItem ' Me.FilledToolStripMenuItem.AutoSize = False Me.FilledToolStripMenuItem.Image = CType(resources.GetObject("FilledToolStripMenuItem.Image"), System.Drawing.Image) Me.FilledToolStripMenuItem.Name = "FilledToolStripMenuItem" Me.FilledToolStripMenuItem.Size = New System.Drawing.Size(152, 20) Me.FilledToolStripMenuItem.Text = "&Filled" ' 'WireframeToolStripMenuItem ' Me.WireframeToolStripMenuItem.AutoSize = False Me.WireframeToolStripMenuItem.Image = CType(resources.GetObject("WireframeToolStripMenuItem.Image"), System.Drawing.Image) Me.WireframeToolStripMenuItem.Name = "WireframeToolStripMenuItem" Me.WireframeToolStripMenuItem.Size = New System.Drawing.Size(152, 20) Me.WireframeToolStripMenuItem.Text = "&Wireframe" ' 'ToolStripSeparator8 ' Me.ToolStripSeparator8.Name = "ToolStripSeparator8" Me.ToolStripSeparator8.Size = New System.Drawing.Size(159, 6) ' 'MouseToolToolStripMenuItem ' Me.MouseToolToolStripMenuItem.Name = "MouseToolToolStripMenuItem" Me.MouseToolToolStripMenuItem.Size = New System.Drawing.Size(162, 22) Me.MouseToolToolStripMenuItem.Text = "&Mouse Tool..." ' 'SetupToolStripMenuItem ' Me.SetupToolStripMenuItem.Name = "SetupToolStripMenuItem" Me.SetupToolStripMenuItem.ShortcutKeyDisplayString = "" Me.SetupToolStripMenuItem.Size = New System.Drawing.Size(162, 22) Me.SetupToolStripMenuItem.Text = "&Setup..." ' 'HelpToolStripMenuItem ' Me.HelpToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ControlsInfoToolStripMenuItem, Me.ToolStripSeparator7, Me.AboutToolStripMenuItem, Me.SearchForUpdatesToolStripMenuItem}) Me.HelpToolStripMenuItem.Name = "HelpToolStripMenuItem" Me.HelpToolStripMenuItem.Size = New System.Drawing.Size(41, 17) Me.HelpToolStripMenuItem.Text = "Help" ' 'ControlsInfoToolStripMenuItem ' Me.ControlsInfoToolStripMenuItem.Name = "ControlsInfoToolStripMenuItem" Me.ControlsInfoToolStripMenuItem.ShortcutKeyDisplayString = "" Me.ControlsInfoToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.H), System.Windows.Forms.Keys) Me.ControlsInfoToolStripMenuItem.Size = New System.Drawing.Size(217, 22) Me.ControlsInfoToolStripMenuItem.Text = "&Controls" ' 'ToolStripSeparator7 ' Me.ToolStripSeparator7.Name = "ToolStripSeparator7" Me.ToolStripSeparator7.Size = New System.Drawing.Size(214, 6) ' 'AboutToolStripMenuItem ' Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem" Me.AboutToolStripMenuItem.ShortcutKeyDisplayString = "" Me.AboutToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Q), System.Windows.Forms.Keys) Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(217, 22) Me.AboutToolStripMenuItem.Text = "A&bout Utility of Time" ' 'SearchForUpdatesToolStripMenuItem ' Me.SearchForUpdatesToolStripMenuItem.Name = "SearchForUpdatesToolStripMenuItem" Me.SearchForUpdatesToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.U), System.Windows.Forms.Keys) Me.SearchForUpdatesToolStripMenuItem.Size = New System.Drawing.Size(217, 22) Me.SearchForUpdatesToolStripMenuItem.Text = "Search for updates..." ' 'Timer1 ' Me.Timer1.Interval = 1 ' 'ComboBox3 ' Me.ComboBox3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.ComboBox3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox3.FormattingEnabled = True Me.ComboBox3.Location = New System.Drawing.Point(244, 1) Me.ComboBox3.Name = "ComboBox3" Me.ComboBox3.Size = New System.Drawing.Size(86, 21) Me.ComboBox3.TabIndex = 41 ' 'Label11 ' Me.Label11.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.Label11.AutoSize = True Me.Label11.Font = New System.Drawing.Font("Trebuchet MS", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label11.Location = New System.Drawing.Point(172, 4) Me.Label11.Name = "Label11" Me.Label11.Size = New System.Drawing.Size(70, 16) Me.Label11.TabIndex = 42 Me.Label11.Text = "Display lists:" ' 'OpenFileDialog3 ' Me.OpenFileDialog3.Filter = "Wavefront OBJ Models (*.obj)|*.obj" ' 'OpenFileDialog4 ' Me.OpenFileDialog4.Filter = "Text files (*.txt)|*.txt" ' 'Timer3 ' Me.Timer3.Interval = 1000 ' 'ContextMenuStrip7 ' Me.ContextMenuStrip7.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FlagsToolStripMenuItem, Me.AddPresetToolStripMenuItem}) Me.ContextMenuStrip7.Name = "ContextMenuStrip7" Me.ContextMenuStrip7.Size = New System.Drawing.Size(166, 48) ' 'FlagsToolStripMenuItem ' Me.FlagsToolStripMenuItem.Name = "FlagsToolStripMenuItem" Me.FlagsToolStripMenuItem.Size = New System.Drawing.Size(165, 22) Me.FlagsToolStripMenuItem.Text = "Flags" ' 'AddPresetToolStripMenuItem ' Me.AddPresetToolStripMenuItem.Name = "AddPresetToolStripMenuItem" Me.AddPresetToolStripMenuItem.Size = New System.Drawing.Size(165, 22) Me.AddPresetToolStripMenuItem.Text = "Add flags preset..." ' 'OpenFileDialog5 ' Me.OpenFileDialog5.Filter = "Misc. Data|*.zdata|Actor Data|*.zactor" Me.OpenFileDialog5.Title = "Unknown texture bank found. Choose file to attempt to get data from." ' 'TabPage5 ' Me.TabPage5.Controls.Add(Me.GroupBox7) Me.TabPage5.Controls.Add(Me.GroupBox9) Me.TabPage5.Location = New System.Drawing.Point(4, 40) Me.TabPage5.Name = "TabPage5" Me.TabPage5.Padding = New System.Windows.Forms.Padding(3) Me.TabPage5.Size = New System.Drawing.Size(234, 507) Me.TabPage5.TabIndex = 4 Me.TabPage5.Text = "Collision" Me.TabPage5.UseVisualStyleBackColor = True ' 'GroupBox7 ' Me.GroupBox7.Controls.Add(Me.Label36) Me.GroupBox7.Controls.Add(Me.TextBox20) Me.GroupBox7.Controls.Add(Me.Label38) Me.GroupBox7.Controls.Add(Me.Label37) Me.GroupBox7.Controls.Add(Me.Label35) Me.GroupBox7.Controls.Add(Me.Label33) Me.GroupBox7.Controls.Add(Me.Label32) Me.GroupBox7.Controls.Add(Me.Label23) Me.GroupBox7.Controls.Add(Me.Label13) Me.GroupBox7.Controls.Add(Me.Label1) Me.GroupBox7.Controls.Add(Me.TextBox19) Me.GroupBox7.Controls.Add(Me.Button22) Me.GroupBox7.Controls.Add(Me.TextBox18) Me.GroupBox7.Controls.Add(Me.TextBox17) Me.GroupBox7.Controls.Add(Me.TextBox15) Me.GroupBox7.Controls.Add(Me.Button21) Me.GroupBox7.Controls.Add(Me.Label34) Me.GroupBox7.Controls.Add(Me.TextBox14) Me.GroupBox7.Controls.Add(Me.ComboBox1) Me.GroupBox7.Controls.Add(Me.Label31) Me.GroupBox7.Controls.Add(Me.TextBox16) Me.GroupBox7.Controls.Add(Me.ComboBox8) Me.GroupBox7.Controls.Add(Me.Label10) Me.GroupBox7.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.GroupBox7.Location = New System.Drawing.Point(15, 9) Me.GroupBox7.Name = "GroupBox7" Me.GroupBox7.Size = New System.Drawing.Size(202, 288) Me.GroupBox7.TabIndex = 86 Me.GroupBox7.TabStop = False Me.GroupBox7.Text = "Collision Types" ' 'Label36 ' Me.Label36.AutoSize = True Me.Label36.Location = New System.Drawing.Point(91, 135) Me.Label36.Name = "Label36" Me.Label36.Size = New System.Drawing.Size(18, 13) Me.Label36.TabIndex = 107 Me.Label36.Text = "0x" ' 'TextBox20 ' Me.TextBox20.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox20.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox20.Location = New System.Drawing.Point(111, 128) Me.TextBox20.MaxLength = 1 Me.TextBox20.Name = "TextBox20" Me.TextBox20.Size = New System.Drawing.Size(55, 20) Me.TextBox20.TabIndex = 105 ' 'Label38 ' Me.Label38.AutoSize = True Me.Label38.Location = New System.Drawing.Point(108, 112) Me.Label38.Name = "Label38" Me.Label38.Size = New System.Drawing.Size(91, 13) Me.Label38.TabIndex = 106 Me.Label38.Text = "Walked on sound" ' 'Label37 ' Me.Label37.AutoSize = True Me.Label37.Location = New System.Drawing.Point(10, 263) Me.Label37.Name = "Label37" Me.Label37.Size = New System.Drawing.Size(18, 13) Me.Label37.TabIndex = 104 Me.Label37.Text = "0x" ' 'Label35 ' Me.Label35.AutoSize = True Me.Label35.Location = New System.Drawing.Point(10, 221) Me.Label35.Name = "Label35" Me.Label35.Size = New System.Drawing.Size(18, 13) Me.Label35.TabIndex = 103 Me.Label35.Text = "0x" ' 'Label33 ' Me.Label33.AutoSize = True Me.Label33.Location = New System.Drawing.Point(10, 179) Me.Label33.Name = "Label33" Me.Label33.Size = New System.Drawing.Size(18, 13) Me.Label33.TabIndex = 102 Me.Label33.Text = "0x" ' 'Label32 ' Me.Label32.AutoSize = True Me.Label32.Location = New System.Drawing.Point(10, 135) Me.Label32.Name = "Label32" Me.Label32.Size = New System.Drawing.Size(18, 13) Me.Label32.TabIndex = 101 Me.Label32.Text = "0x" ' 'Label23 ' Me.Label23.AutoSize = True Me.Label23.Location = New System.Drawing.Point(27, 198) Me.Label23.Name = "Label23" Me.Label23.Size = New System.Drawing.Size(41, 13) Me.Label23.TabIndex = 100 Me.Label23.Text = "Flags 3" ' 'Label13 ' Me.Label13.AutoSize = True Me.Label13.Location = New System.Drawing.Point(27, 240) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(41, 13) Me.Label13.TabIndex = 99 Me.Label13.Text = "Flags 4" ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(26, 156) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(41, 13) Me.Label1.TabIndex = 98 Me.Label1.Text = "Flags 2" ' 'TextBox19 ' Me.TextBox19.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox19.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox19.Location = New System.Drawing.Point(30, 256) Me.TextBox19.MaxLength = 4 Me.TextBox19.Name = "TextBox19" Me.TextBox19.Size = New System.Drawing.Size(55, 20) Me.TextBox19.TabIndex = 17 ' 'Button22 ' Me.Button22.BackColor = System.Drawing.SystemColors.Control Me.Button22.Location = New System.Drawing.Point(129, 254) Me.Button22.Name = "Button22" Me.Button22.Size = New System.Drawing.Size(50, 23) Me.Button22.TabIndex = 18 Me.Button22.Text = "Apply" Me.Button22.UseVisualStyleBackColor = True ' 'TextBox18 ' Me.TextBox18.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox18.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox18.Location = New System.Drawing.Point(29, 172) Me.TextBox18.MaxLength = 4 Me.TextBox18.Name = "TextBox18" Me.TextBox18.Size = New System.Drawing.Size(56, 20) Me.TextBox18.TabIndex = 16 ' 'TextBox17 ' Me.TextBox17.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox17.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox17.Location = New System.Drawing.Point(30, 214) Me.TextBox17.MaxLength = 4 Me.TextBox17.Name = "TextBox17" Me.TextBox17.Size = New System.Drawing.Size(55, 20) Me.TextBox17.TabIndex = 15 ' 'TextBox15 ' Me.TextBox15.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox15.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox15.Location = New System.Drawing.Point(30, 128) Me.TextBox15.MaxLength = 4 Me.TextBox15.Name = "TextBox15" Me.TextBox15.Size = New System.Drawing.Size(55, 20) Me.TextBox15.TabIndex = 14 ' 'Button21 ' Me.Button21.BackColor = System.Drawing.SystemColors.Control Me.Button21.Location = New System.Drawing.Point(146, 0) Me.Button21.Name = "Button21" Me.Button21.Size = New System.Drawing.Size(50, 23) Me.Button21.TabIndex = 13 Me.Button21.Text = "Presets" Me.Button21.UseVisualStyleBackColor = False ' 'Label34 ' Me.Label34.AutoSize = True Me.Label34.Location = New System.Drawing.Point(27, 112) Me.Label34.Name = "Label34" Me.Label34.Size = New System.Drawing.Size(41, 13) Me.Label34.TabIndex = 97 Me.Label34.Text = "Flags 1" ' 'TextBox14 ' Me.TextBox14.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox14.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox14.Location = New System.Drawing.Point(124, 79) Me.TextBox14.MaxLength = 4 Me.TextBox14.Name = "TextBox14" Me.TextBox14.ReadOnly = True Me.TextBox14.Size = New System.Drawing.Size(55, 20) Me.TextBox14.TabIndex = 91 ' 'ComboBox1 ' Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.ComboBox1.FormattingEnabled = True Me.ComboBox1.Location = New System.Drawing.Point(11, 78) Me.ComboBox1.Name = "ComboBox1" Me.ComboBox1.Size = New System.Drawing.Size(102, 21) Me.ComboBox1.TabIndex = 12 ' 'Label31 ' Me.Label31.AutoSize = True Me.Label31.Location = New System.Drawing.Point(8, 62) Me.Label31.Name = "Label31" Me.Label31.Size = New System.Drawing.Size(50, 13) Me.Label31.TabIndex = 87 Me.Label31.Text = "Variables" ' 'TextBox16 ' Me.TextBox16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox16.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox16.Location = New System.Drawing.Point(124, 39) Me.TextBox16.MaxLength = 4 Me.TextBox16.Name = "TextBox16" Me.TextBox16.Size = New System.Drawing.Size(55, 20) Me.TextBox16.TabIndex = 11 ' 'ComboBox8 ' Me.ComboBox8.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox8.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.ComboBox8.FormattingEnabled = True Me.ComboBox8.Location = New System.Drawing.Point(11, 38) Me.ComboBox8.Name = "ComboBox8" Me.ComboBox8.Size = New System.Drawing.Size(102, 21) Me.ComboBox8.TabIndex = 10 ' 'Label10 ' Me.Label10.AutoSize = True Me.Label10.Location = New System.Drawing.Point(8, 20) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(29, 13) Me.Label10.TabIndex = 83 Me.Label10.Text = "Exits" ' 'GroupBox9 ' Me.GroupBox9.Controls.Add(Me.ProgressBar1) Me.GroupBox9.Controls.Add(Me.Label28) Me.GroupBox9.Controls.Add(Me.Button16) Me.GroupBox9.Controls.Add(Me.Button15) Me.GroupBox9.Location = New System.Drawing.Point(15, 303) Me.GroupBox9.Name = "GroupBox9" Me.GroupBox9.Size = New System.Drawing.Size(202, 100) Me.GroupBox9.TabIndex = 92 Me.GroupBox9.TabStop = False Me.GroupBox9.Text = "Matcher" ' 'ProgressBar1 ' Me.ProgressBar1.Location = New System.Drawing.Point(23, 78) Me.ProgressBar1.Name = "ProgressBar1" Me.ProgressBar1.Size = New System.Drawing.Size(150, 10) Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous Me.ProgressBar1.TabIndex = 92 ' 'Label28 ' Me.Label28.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Label28.AutoSize = True Me.Label28.BackColor = System.Drawing.SystemColors.Control Me.Label28.Location = New System.Drawing.Point(148, 0) Me.Label28.Name = "Label28" Me.Label28.Size = New System.Drawing.Size(47, 13) Me.Label28.TabIndex = 89 Me.Label28.Text = "Working" Me.Label28.Visible = False ' 'Button16 ' Me.Button16.Location = New System.Drawing.Point(23, 24) Me.Button16.Name = "Button16" Me.Button16.Size = New System.Drawing.Size(150, 23) Me.Button16.TabIndex = 91 Me.Button16.Text = "Match collision to graphics" Me.Button16.UseVisualStyleBackColor = True ' 'Button15 ' Me.Button15.Location = New System.Drawing.Point(23, 47) Me.Button15.Name = "Button15" Me.Button15.Size = New System.Drawing.Size(150, 23) Me.Button15.TabIndex = 90 Me.Button15.Text = "Match graphics to collision" Me.Button15.UseVisualStyleBackColor = True ' 'TabPage4 ' Me.TabPage4.Controls.Add(Me.GroupBox1) Me.TabPage4.Controls.Add(Me.GroupBox10) Me.TabPage4.Location = New System.Drawing.Point(4, 40) Me.TabPage4.Name = "TabPage4" Me.TabPage4.Size = New System.Drawing.Size(234, 507) Me.TabPage4.TabIndex = 3 Me.TabPage4.Text = "Miscellaneous" Me.TabPage4.UseVisualStyleBackColor = True ' 'GroupBox1 ' Me.GroupBox1.Controls.Add(Me.Label30) Me.GroupBox1.Controls.Add(Me.PictureBox1) Me.GroupBox1.Controls.Add(Me.Button7) Me.GroupBox1.Controls.Add(Me.Button6) Me.GroupBox1.Controls.Add(Me.Label29) Me.GroupBox1.Controls.Add(Me.RadioButton3) Me.GroupBox1.Controls.Add(Me.RadioButton1) Me.GroupBox1.Controls.Add(Me.RadioButton2) Me.GroupBox1.Location = New System.Drawing.Point(12, 10) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Size = New System.Drawing.Size(210, 178) Me.GroupBox1.TabIndex = 89 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Texture Viewer" ' 'Label30 ' Me.Label30.AutoSize = True Me.Label30.Location = New System.Drawing.Point(135, 131) Me.Label30.Name = "Label30" Me.Label30.Size = New System.Drawing.Size(0, 13) Me.Label30.TabIndex = 54 ' 'PictureBox1 ' Me.PictureBox1.BackColor = System.Drawing.SystemColors.Desktop Me.PictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.PictureBox1.ErrorImage = CType(resources.GetObject("PictureBox1.ErrorImage"), System.Drawing.Image) Me.PictureBox1.Location = New System.Drawing.Point(6, 16) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(128, 128) Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage Me.PictureBox1.TabIndex = 88 Me.PictureBox1.TabStop = False ' 'Button7 ' Me.Button7.BackColor = System.Drawing.SystemColors.Control Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button7.Image = CType(resources.GetObject("Button7.Image"), System.Drawing.Image) Me.Button7.Location = New System.Drawing.Point(30, 148) Me.Button7.Name = "Button7" Me.Button7.Size = New System.Drawing.Size(25, 23) Me.Button7.TabIndex = 10 Me.Button7.UseVisualStyleBackColor = True ' 'Button6 ' Me.Button6.BackColor = System.Drawing.SystemColors.Control Me.Button6.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button6.Image = CType(resources.GetObject("Button6.Image"), System.Drawing.Image) Me.Button6.Location = New System.Drawing.Point(6, 148) Me.Button6.Name = "Button6" Me.Button6.Size = New System.Drawing.Size(25, 23) Me.Button6.TabIndex = 9 Me.Button6.UseVisualStyleBackColor = True ' 'Label29 ' Me.Label29.AutoSize = True Me.Label29.Location = New System.Drawing.Point(134, 87) Me.Label29.Name = "Label29" Me.Label29.Size = New System.Drawing.Size(0, 13) Me.Label29.TabIndex = 53 ' 'RadioButton3 ' Me.RadioButton3.AutoSize = True Me.RadioButton3.Location = New System.Drawing.Point(138, 62) Me.RadioButton3.Name = "RadioButton3" Me.RadioButton3.Size = New System.Drawing.Size(52, 17) Me.RadioButton3.TabIndex = 8 Me.RadioButton3.Text = "Zoom" Me.RadioButton3.UseVisualStyleBackColor = True ' 'RadioButton1 ' Me.RadioButton1.AutoSize = True Me.RadioButton1.Checked = True Me.RadioButton1.Location = New System.Drawing.Point(138, 16) Me.RadioButton1.Name = "RadioButton1" Me.RadioButton1.Size = New System.Drawing.Size(58, 17) Me.RadioButton1.TabIndex = 6 Me.RadioButton1.TabStop = True Me.RadioButton1.Text = "Normal" Me.RadioButton1.UseVisualStyleBackColor = True ' 'RadioButton2 ' Me.RadioButton2.AutoSize = True Me.RadioButton2.Location = New System.Drawing.Point(138, 39) Me.RadioButton2.Name = "RadioButton2" Me.RadioButton2.Size = New System.Drawing.Size(59, 17) Me.RadioButton2.TabIndex = 7 Me.RadioButton2.Text = "Stretch" Me.RadioButton2.UseVisualStyleBackColor = True ' 'GroupBox10 ' Me.GroupBox10.Controls.Add(Me.CheckBox5) Me.GroupBox10.Controls.Add(Me.CheckBox15) Me.GroupBox10.Controls.Add(Me.CheckBox14) Me.GroupBox10.Controls.Add(Me.CheckBox13) Me.GroupBox10.Location = New System.Drawing.Point(11, 194) Me.GroupBox10.Name = "GroupBox10" Me.GroupBox10.Size = New System.Drawing.Size(210, 104) Me.GroupBox10.TabIndex = 90 Me.GroupBox10.TabStop = False Me.GroupBox10.Text = "Hide" ' 'CheckBox5 ' Me.CheckBox5.AutoSize = True Me.CheckBox5.Location = New System.Drawing.Point(10, 57) Me.CheckBox5.Name = "CheckBox5" Me.CheckBox5.Size = New System.Drawing.Size(105, 17) Me.CheckBox5.TabIndex = 3 Me.CheckBox5.Text = "Link actor cubes" Me.CheckBox5.UseVisualStyleBackColor = True ' 'CheckBox15 ' Me.CheckBox15.AutoSize = True Me.CheckBox15.Location = New System.Drawing.Point(10, 75) Me.CheckBox15.Name = "CheckBox15" Me.CheckBox15.Size = New System.Drawing.Size(79, 17) Me.CheckBox15.TabIndex = 2 Me.CheckBox15.Text = "Axis guides" Me.CheckBox15.UseVisualStyleBackColor = True ' 'CheckBox14 ' Me.CheckBox14.AutoSize = True Me.CheckBox14.Location = New System.Drawing.Point(10, 38) Me.CheckBox14.Name = "CheckBox14" Me.CheckBox14.Size = New System.Drawing.Size(116, 17) Me.CheckBox14.TabIndex = 1 Me.CheckBox14.Text = "Scene actor cubes" Me.CheckBox14.UseVisualStyleBackColor = True ' 'CheckBox13 ' Me.CheckBox13.AutoSize = True Me.CheckBox13.Location = New System.Drawing.Point(10, 20) Me.CheckBox13.Name = "CheckBox13" Me.CheckBox13.Size = New System.Drawing.Size(113, 17) Me.CheckBox13.TabIndex = 0 Me.CheckBox13.Text = "Room actor cubes" Me.CheckBox13.UseVisualStyleBackColor = True ' 'TabPage3 ' Me.TabPage3.BackColor = System.Drawing.Color.Transparent Me.TabPage3.Controls.Add(Me.GroupBox3) Me.TabPage3.Controls.Add(Me.GroupBox6) Me.TabPage3.Location = New System.Drawing.Point(4, 40) Me.TabPage3.Name = "TabPage3" Me.TabPage3.Size = New System.Drawing.Size(234, 507) Me.TabPage3.TabIndex = 2 Me.TabPage3.Text = "Level Options" Me.TabPage3.UseVisualStyleBackColor = True ' 'GroupBox3 ' Me.GroupBox3.Controls.Add(Me.Button3) Me.GroupBox3.Controls.Add(Me.CheckBox7) Me.GroupBox3.Controls.Add(Me.CheckBox4) Me.GroupBox3.Controls.Add(Me.CheckBox3) Me.GroupBox3.Controls.Add(Me.CheckBox2) Me.GroupBox3.Controls.Add(Me.CheckBox1) Me.GroupBox3.Location = New System.Drawing.Point(16, 9) Me.GroupBox3.Name = "GroupBox3" Me.GroupBox3.Size = New System.Drawing.Size(179, 112) Me.GroupBox3.TabIndex = 41 Me.GroupBox3.TabStop = False Me.GroupBox3.Text = "Environment Flags" ' 'Button3 ' Me.Button3.BackColor = System.Drawing.SystemColors.Control Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.System Me.Button3.Location = New System.Drawing.Point(10, 85) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(26, 21) Me.Button3.TabIndex = 6 Me.Button3.Text = "..." Me.Button3.TextAlign = System.Drawing.ContentAlignment.TopCenter Me.Button3.UseVisualStyleBackColor = True ' 'CheckBox7 ' Me.CheckBox7.AutoSize = True Me.CheckBox7.Location = New System.Drawing.Point(91, 42) Me.CheckBox7.Name = "CheckBox7" Me.CheckBox7.Size = New System.Drawing.Size(81, 17) Me.CheckBox7.TabIndex = 4 Me.CheckBox7.Text = "Unknown 4" Me.CheckBox7.UseVisualStyleBackColor = True ' 'CheckBox4 ' Me.CheckBox4.AutoSize = True Me.CheckBox4.Location = New System.Drawing.Point(11, 65) Me.CheckBox4.Name = "CheckBox4" Me.CheckBox4.Size = New System.Drawing.Size(61, 17) Me.CheckBox4.TabIndex = 2 Me.CheckBox4.Text = "Skybox" Me.CheckBox4.UseVisualStyleBackColor = True ' 'CheckBox3 ' Me.CheckBox3.AutoSize = True Me.CheckBox3.Location = New System.Drawing.Point(11, 42) Me.CheckBox3.Name = "CheckBox3" Me.CheckBox3.Size = New System.Drawing.Size(81, 17) Me.CheckBox3.TabIndex = 1 Me.CheckBox3.Text = "Unknown 3" Me.CheckBox3.UseVisualStyleBackColor = True ' 'CheckBox2 ' Me.CheckBox2.AutoSize = True Me.CheckBox2.Location = New System.Drawing.Point(91, 19) Me.CheckBox2.Name = "CheckBox2" Me.CheckBox2.Size = New System.Drawing.Size(81, 17) Me.CheckBox2.TabIndex = 3 Me.CheckBox2.Text = "Unknown 2" Me.CheckBox2.UseVisualStyleBackColor = True ' 'CheckBox1 ' Me.CheckBox1.AutoSize = True Me.CheckBox1.Location = New System.Drawing.Point(11, 19) Me.CheckBox1.Name = "CheckBox1" Me.CheckBox1.Size = New System.Drawing.Size(81, 17) Me.CheckBox1.TabIndex = 0 Me.CheckBox1.Text = "Unknown 1" Me.CheckBox1.UseVisualStyleBackColor = True ' 'GroupBox6 ' Me.GroupBox6.Controls.Add(Me.ComboBox6) Me.GroupBox6.Controls.Add(Me.Label2) Me.GroupBox6.Controls.Add(Me.Button11) Me.GroupBox6.Controls.Add(Me.TextBox13) Me.GroupBox6.Controls.Add(Me.Label21) Me.GroupBox6.Location = New System.Drawing.Point(16, 127) Me.GroupBox6.Name = "GroupBox6" Me.GroupBox6.Size = New System.Drawing.Size(180, 74) Me.GroupBox6.TabIndex = 77 Me.GroupBox6.TabStop = False Me.GroupBox6.Text = "Ambience" ' 'ComboBox6 ' Me.ComboBox6.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox6.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.ComboBox6.FormattingEnabled = True Me.ComboBox6.Items.AddRange(New Object() {"No Change", "Morning", "Mid Day", "Night"}) Me.ComboBox6.Location = New System.Drawing.Point(10, 36) Me.ComboBox6.Name = "ComboBox6" Me.ComboBox6.Size = New System.Drawing.Size(82, 21) Me.ComboBox6.TabIndex = 7 ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.Location = New System.Drawing.Point(7, 20) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(65, 13) Me.Label2.TabIndex = 65 Me.Label2.Text = "Time of day:" ' 'Button11 ' Me.Button11.BackColor = System.Drawing.SystemColors.Control Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.System Me.Button11.Location = New System.Drawing.Point(137, 35) Me.Button11.Name = "Button11" Me.Button11.Size = New System.Drawing.Size(23, 23) Me.Button11.TabIndex = 9 Me.Button11.Text = "?" Me.Button11.UseVisualStyleBackColor = True ' 'TextBox13 ' Me.TextBox13.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox13.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox13.Location = New System.Drawing.Point(98, 37) Me.TextBox13.MaxLength = 2 Me.TextBox13.Name = "TextBox13" Me.TextBox13.Size = New System.Drawing.Size(35, 20) Me.TextBox13.TabIndex = 8 ' 'Label21 ' Me.Label21.AutoSize = True Me.Label21.Location = New System.Drawing.Point(95, 21) Me.Label21.Name = "Label21" Me.Label21.Size = New System.Drawing.Size(38, 13) Me.Label21.TabIndex = 74 Me.Label21.Text = "Music:" ' 'TabPage2 ' Me.TabPage2.BackColor = System.Drawing.Color.Transparent Me.TabPage2.Controls.Add(Me.ComboBox5) Me.TabPage2.Controls.Add(Me.Button2) Me.TabPage2.Controls.Add(Me.ComboBox4) Me.TabPage2.Controls.Add(Me.TextBox6) Me.TabPage2.Controls.Add(Me.GroupBox4) Me.TabPage2.Controls.Add(Me.GroupBox5) Me.TabPage2.Location = New System.Drawing.Point(4, 40) Me.TabPage2.Name = "TabPage2" Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) Me.TabPage2.Size = New System.Drawing.Size(234, 507) Me.TabPage2.TabIndex = 1 Me.TabPage2.Text = "Actor Options" Me.TabPage2.UseVisualStyleBackColor = True ' 'ComboBox5 ' Me.ComboBox5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox5.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.ComboBox5.FormattingEnabled = True Me.ComboBox5.Location = New System.Drawing.Point(26, 87) Me.ComboBox5.Name = "ComboBox5" Me.ComboBox5.Size = New System.Drawing.Size(180, 21) Me.ComboBox5.TabIndex = 1 ' 'Button2 ' Me.Button2.BackColor = System.Drawing.SystemColors.Control Me.Button2.Location = New System.Drawing.Point(70, 418) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(85, 23) Me.Button2.TabIndex = 14 Me.Button2.Text = "Apply" Me.Button2.UseVisualStyleBackColor = True ' 'ComboBox4 ' Me.ComboBox4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox4.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.ComboBox4.FormattingEnabled = True Me.ComboBox4.Location = New System.Drawing.Point(26, 180) Me.ComboBox4.Name = "ComboBox4" Me.ComboBox4.Size = New System.Drawing.Size(86, 21) Me.ComboBox4.TabIndex = 4 ' 'TextBox6 ' Me.TextBox6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox6.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox6.Location = New System.Drawing.Point(27, 135) Me.TextBox6.MaxLength = 4 Me.TextBox6.Name = "TextBox6" Me.TextBox6.Size = New System.Drawing.Size(85, 20) Me.TextBox6.TabIndex = 2 ' 'GroupBox4 ' Me.GroupBox4.Controls.Add(Me.Button40) Me.GroupBox4.Controls.Add(Me.Button39) Me.GroupBox4.Controls.Add(Me.Button38) Me.GroupBox4.Controls.Add(Me.Label14) Me.GroupBox4.Controls.Add(Me.Label17) Me.GroupBox4.Controls.Add(Me.TextBox9) Me.GroupBox4.Controls.Add(Me.Label18) Me.GroupBox4.Controls.Add(Me.TextBox8) Me.GroupBox4.Controls.Add(Me.Label19) Me.GroupBox4.Controls.Add(Me.TextBox7) Me.GroupBox4.Controls.Add(Me.TextBox10) Me.GroupBox4.Controls.Add(Me.Label16) Me.GroupBox4.Controls.Add(Me.TextBox11) Me.GroupBox4.Controls.Add(Me.Label15) Me.GroupBox4.Controls.Add(Me.TextBox12) Me.GroupBox4.Location = New System.Drawing.Point(10, 260) Me.GroupBox4.Name = "GroupBox4" Me.GroupBox4.Size = New System.Drawing.Size(218, 142) Me.GroupBox4.TabIndex = 72 Me.GroupBox4.TabStop = False Me.GroupBox4.Text = "Position" ' 'Button40 ' Me.Button40.BackColor = System.Drawing.SystemColors.Control Me.Button40.Location = New System.Drawing.Point(190, 111) Me.Button40.Name = "Button40" Me.Button40.Size = New System.Drawing.Size(22, 23) Me.Button40.TabIndex = 71 Me.Button40.Text = "Button40" Me.Button40.UseVisualStyleBackColor = False ' 'Button39 ' Me.Button39.BackColor = System.Drawing.SystemColors.Control Me.Button39.Location = New System.Drawing.Point(190, 72) Me.Button39.Name = "Button39" Me.Button39.Size = New System.Drawing.Size(22, 23) Me.Button39.TabIndex = 70 Me.Button39.Text = "Button39" Me.Button39.UseVisualStyleBackColor = False ' 'Button38 ' Me.Button38.BackColor = System.Drawing.SystemColors.Control Me.Button38.Location = New System.Drawing.Point(190, 34) Me.Button38.Name = "Button38" Me.Button38.Size = New System.Drawing.Size(22, 23) Me.Button38.TabIndex = 69 Me.Button38.Text = "Button38" Me.Button38.UseVisualStyleBackColor = False ' 'Label14 ' Me.Label14.AutoSize = True Me.Label14.Location = New System.Drawing.Point(7, 20) Me.Label14.Name = "Label14" Me.Label14.Size = New System.Drawing.Size(66, 13) Me.Label14.TabIndex = 59 Me.Label14.Text = "Actor X Pos." ' 'Label17 ' Me.Label17.AutoSize = True Me.Label17.Location = New System.Drawing.Point(99, 20) Me.Label17.Name = "Label17" Me.Label17.Size = New System.Drawing.Size(65, 13) Me.Label17.TabIndex = 66 Me.Label17.Text = "Actor X Rot." ' 'TextBox9 ' Me.TextBox9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox9.Location = New System.Drawing.Point(10, 114) Me.TextBox9.Name = "TextBox9" Me.TextBox9.Size = New System.Drawing.Size(84, 20) Me.TextBox9.TabIndex = 10 ' 'Label18 ' Me.Label18.AutoSize = True Me.Label18.Location = New System.Drawing.Point(99, 59) Me.Label18.Name = "Label18" Me.Label18.Size = New System.Drawing.Size(65, 13) Me.Label18.TabIndex = 67 Me.Label18.Text = "Actor Y Rot." ' 'TextBox8 ' Me.TextBox8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox8.Location = New System.Drawing.Point(10, 75) Me.TextBox8.Name = "TextBox8" Me.TextBox8.Size = New System.Drawing.Size(84, 20) Me.TextBox8.TabIndex = 9 ' 'Label19 ' Me.Label19.AutoSize = True Me.Label19.Location = New System.Drawing.Point(99, 98) Me.Label19.Name = "Label19" Me.Label19.Size = New System.Drawing.Size(65, 13) Me.Label19.TabIndex = 68 Me.Label19.Text = "Actor Z Rot." ' 'TextBox7 ' Me.TextBox7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox7.Location = New System.Drawing.Point(10, 36) Me.TextBox7.Name = "TextBox7" Me.TextBox7.Size = New System.Drawing.Size(84, 20) Me.TextBox7.TabIndex = 8 ' 'TextBox10 ' Me.TextBox10.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox10.Location = New System.Drawing.Point(102, 36) Me.TextBox10.Name = "TextBox10" Me.TextBox10.Size = New System.Drawing.Size(83, 20) Me.TextBox10.TabIndex = 11 ' 'Label16 ' Me.Label16.AutoSize = True Me.Label16.Location = New System.Drawing.Point(7, 98) Me.Label16.Name = "Label16" Me.Label16.Size = New System.Drawing.Size(66, 13) Me.Label16.TabIndex = 61 Me.Label16.Text = "Actor Z Pos." ' 'TextBox11 ' Me.TextBox11.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox11.Location = New System.Drawing.Point(102, 75) Me.TextBox11.Name = "TextBox11" Me.TextBox11.Size = New System.Drawing.Size(83, 20) Me.TextBox11.TabIndex = 12 ' 'Label15 ' Me.Label15.AutoSize = True Me.Label15.Location = New System.Drawing.Point(7, 59) Me.Label15.Name = "Label15" Me.Label15.Size = New System.Drawing.Size(66, 13) Me.Label15.TabIndex = 60 Me.Label15.Text = "Actor Y Pos." ' 'TextBox12 ' Me.TextBox12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox12.Location = New System.Drawing.Point(102, 114) Me.TextBox12.Name = "TextBox12" Me.TextBox12.Size = New System.Drawing.Size(83, 20) Me.TextBox12.TabIndex = 13 ' 'GroupBox5 ' Me.GroupBox5.Controls.Add(Me.Label45) Me.GroupBox5.Controls.Add(Me.Button23) Me.GroupBox5.Controls.Add(Me.Label7) Me.GroupBox5.Controls.Add(Me.TextBox4) Me.GroupBox5.Controls.Add(Me.Label8) Me.GroupBox5.Controls.Add(Me.Label6) Me.GroupBox5.Controls.Add(Me.TextBox5) Me.GroupBox5.Controls.Add(Me.Label22) Me.GroupBox5.Controls.Add(Me.Button5) Me.GroupBox5.Controls.Add(Me.ComboBox7) Me.GroupBox5.Controls.Add(Me.Label24) Me.GroupBox5.Location = New System.Drawing.Point(10, 9) Me.GroupBox5.Name = "GroupBox5" Me.GroupBox5.Size = New System.Drawing.Size(218, 247) Me.GroupBox5.TabIndex = 73 Me.GroupBox5.TabStop = False Me.GroupBox5.Text = "Actors" ' 'Label45 ' Me.Label45.AutoSize = True Me.Label45.Location = New System.Drawing.Point(7, 194) Me.Label45.Name = "Label45" Me.Label45.Size = New System.Drawing.Size(0, 13) Me.Label45.TabIndex = 55 ' 'Button23 ' Me.Button23.BackColor = System.Drawing.SystemColors.Control Me.Button23.Location = New System.Drawing.Point(133, 1) Me.Button23.Name = "Button23" Me.Button23.Size = New System.Drawing.Size(50, 23) Me.Button23.TabIndex = 54 Me.Button23.Text = "Presets" Me.Button23.UseVisualStyleBackColor = False ' 'Label7 ' Me.Label7.AutoSize = True Me.Label7.Location = New System.Drawing.Point(62, 154) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(82, 13) Me.Label7.TabIndex = 39 Me.Label7.Text = "Models (groups)" ' 'TextBox4 ' Me.TextBox4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox4.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox4.Location = New System.Drawing.Point(105, 126) Me.TextBox4.MaxLength = 4 Me.TextBox4.Name = "TextBox4" Me.TextBox4.Size = New System.Drawing.Size(85, 20) Me.TextBox4.TabIndex = 3 ' 'Label8 ' Me.Label8.AutoSize = True Me.Label8.Location = New System.Drawing.Point(13, 110) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(44, 13) Me.Label8.TabIndex = 33 Me.Label8.Text = "Number" ' 'Label6 ' Me.Label6.AutoSize = True Me.Label6.Location = New System.Drawing.Point(102, 110) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(45, 13) Me.Label6.TabIndex = 34 Me.Label6.Text = "Variable" ' 'TextBox5 ' Me.TextBox5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox5.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.TextBox5.Location = New System.Drawing.Point(105, 172) Me.TextBox5.MaxLength = 4 Me.TextBox5.Name = "TextBox5" Me.TextBox5.Size = New System.Drawing.Size(85, 20) Me.TextBox5.TabIndex = 5 ' 'Label22 ' Me.Label22.AutoSize = True Me.Label22.Location = New System.Drawing.Point(13, 18) Me.Label22.Name = "Label22" Me.Label22.Size = New System.Drawing.Size(68, 13) Me.Label22.TabIndex = 52 Me.Label22.Text = "Room Actors" ' 'Button5 ' Me.Button5.BackColor = System.Drawing.SystemColors.Control Me.Button5.Location = New System.Drawing.Point(62, 212) Me.Button5.Name = "Button5" Me.Button5.Size = New System.Drawing.Size(78, 23) Me.Button5.TabIndex = 7 Me.Button5.Text = "Dump Values" Me.Button5.UseVisualStyleBackColor = True ' 'ComboBox7 ' Me.ComboBox7.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox7.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.ComboBox7.FormattingEnabled = True Me.ComboBox7.Location = New System.Drawing.Point(16, 34) Me.ComboBox7.Name = "ComboBox7" Me.ComboBox7.Size = New System.Drawing.Size(180, 21) Me.ComboBox7.TabIndex = 0 ' 'Label24 ' Me.Label24.AutoSize = True Me.Label24.Location = New System.Drawing.Point(14, 62) Me.Label24.Name = "Label24" Me.Label24.Size = New System.Drawing.Size(71, 13) Me.Label24.TabIndex = 53 Me.Label24.Text = "Scene Actors" ' 'TabPage1 ' Me.TabPage1.BackColor = System.Drawing.Color.Transparent Me.TabPage1.Controls.Add(Me.Button12) Me.TabPage1.Controls.Add(Me.Label3) Me.TabPage1.Controls.Add(Me.Label4) Me.TabPage1.Controls.Add(Me.Label5) Me.TabPage1.Controls.Add(Me.TextBox1) Me.TabPage1.Controls.Add(Me.TextBox2) Me.TabPage1.Controls.Add(Me.GroupBox2) Me.TabPage1.Location = New System.Drawing.Point(4, 40) Me.TabPage1.Name = "TabPage1" Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) Me.TabPage1.Size = New System.Drawing.Size(234, 507) Me.TabPage1.TabIndex = 0 Me.TabPage1.Text = "Graphics" Me.TabPage1.UseVisualStyleBackColor = True ' 'Button12 ' Me.Button12.BackColor = System.Drawing.SystemColors.Control Me.Button12.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button12.Location = New System.Drawing.Point(143, 48) Me.Button12.Name = "Button12" Me.Button12.Size = New System.Drawing.Size(23, 23) Me.Button12.TabIndex = 3 Me.Button12.UseVisualStyleBackColor = True ' 'Label3 ' Me.Label3.AutoSize = True Me.Label3.Location = New System.Drawing.Point(33, 36) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(54, 13) Me.Label3.TabIndex = 1 Me.Label3.Text = "X Position" ' 'Label4 ' Me.Label4.AutoSize = True Me.Label4.Location = New System.Drawing.Point(33, 71) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(54, 13) Me.Label4.TabIndex = 2 Me.Label4.Text = "Y Position" ' 'Label5 ' Me.Label5.AutoSize = True Me.Label5.Location = New System.Drawing.Point(33, 105) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(54, 13) Me.Label5.TabIndex = 3 Me.Label5.Text = "Z Position" ' 'TextBox1 ' Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox1.Location = New System.Drawing.Point(37, 50) Me.TextBox1.Name = "TextBox1" Me.TextBox1.Size = New System.Drawing.Size(100, 20) Me.TextBox1.TabIndex = 0 ' 'TextBox2 ' Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox2.Location = New System.Drawing.Point(37, 84) Me.TextBox2.Name = "TextBox2" Me.TextBox2.Size = New System.Drawing.Size(100, 20) Me.TextBox2.TabIndex = 1 ' 'GroupBox2 ' Me.GroupBox2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.GroupBox2.Controls.Add(Me.CheckBox18) Me.GroupBox2.Controls.Add(Me.CheckBox17) Me.GroupBox2.Controls.Add(Me.CheckBox16) Me.GroupBox2.Controls.Add(Me.Button30) Me.GroupBox2.Controls.Add(Me.Button31) Me.GroupBox2.Controls.Add(Me.Button32) Me.GroupBox2.Controls.Add(Me.GroupBox11) Me.GroupBox2.Controls.Add(Me.Button33) Me.GroupBox2.Controls.Add(Me.Button34) Me.GroupBox2.Controls.Add(Me.Button28) Me.GroupBox2.Controls.Add(Me.Button10) Me.GroupBox2.Controls.Add(Me.Label41) Me.GroupBox2.Controls.Add(Me.Button29) Me.GroupBox2.Controls.Add(Me.Label42) Me.GroupBox2.Controls.Add(Me.TextBox21) Me.GroupBox2.Controls.Add(Me.TextBox22) Me.GroupBox2.Controls.Add(Me.Label27) Me.GroupBox2.Controls.Add(Me.Label20) Me.GroupBox2.Controls.Add(Me.Button20) Me.GroupBox2.Controls.Add(Me.Label26) Me.GroupBox2.Controls.Add(Me.Button19) Me.GroupBox2.Controls.Add(Me.Button17) Me.GroupBox2.Controls.Add(Me.Label25) Me.GroupBox2.Controls.Add(Me.Label9) Me.GroupBox2.Controls.Add(Me.Button18) Me.GroupBox2.Controls.Add(Me.Button14) Me.GroupBox2.Controls.Add(Me.Button1) Me.GroupBox2.Controls.Add(Me.Button4) Me.GroupBox2.Controls.Add(Me.Button13) Me.GroupBox2.Controls.Add(Me.TextBox3) Me.GroupBox2.Controls.Add(Me.Movement) Me.GroupBox2.Location = New System.Drawing.Point(16, 9) Me.GroupBox2.Name = "GroupBox2" Me.GroupBox2.Size = New System.Drawing.Size(200, 598) Me.GroupBox2.TabIndex = 57 Me.GroupBox2.TabStop = False Me.GroupBox2.Text = "Vertices" ' 'CheckBox18 ' Me.CheckBox18.AutoSize = True Me.CheckBox18.Checked = True Me.CheckBox18.CheckState = System.Windows.Forms.CheckState.Checked Me.CheckBox18.Location = New System.Drawing.Point(64, 462) Me.CheckBox18.Name = "CheckBox18" Me.CheckBox18.Size = New System.Drawing.Size(73, 17) Me.CheckBox18.TabIndex = 57 Me.CheckBox18.Text = "Snap to Z" Me.CheckBox18.TextAlign = System.Drawing.ContentAlignment.MiddleCenter Me.CheckBox18.UseVisualStyleBackColor = True ' 'CheckBox17 ' Me.CheckBox17.AutoSize = True Me.CheckBox17.Checked = True Me.CheckBox17.CheckState = System.Windows.Forms.CheckState.Checked Me.CheckBox17.Location = New System.Drawing.Point(64, 439) Me.CheckBox17.Name = "CheckBox17" Me.CheckBox17.Size = New System.Drawing.Size(73, 17) Me.CheckBox17.TabIndex = 56 Me.CheckBox17.Text = "Snap to Y" Me.CheckBox17.UseVisualStyleBackColor = True ' 'CheckBox16 ' Me.CheckBox16.AutoSize = True Me.CheckBox16.Checked = True Me.CheckBox16.CheckState = System.Windows.Forms.CheckState.Checked Me.CheckBox16.Location = New System.Drawing.Point(64, 416) Me.CheckBox16.Name = "CheckBox16" Me.CheckBox16.Size = New System.Drawing.Size(73, 17) Me.CheckBox16.TabIndex = 55 Me.CheckBox16.Text = "Snap to X" Me.CheckBox16.UseVisualStyleBackColor = True ' 'Button30 ' Me.Button30.BackColor = System.Drawing.SystemColors.Control Me.Button30.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button30.Image = CType(resources.GetObject("Button30.Image"), System.Drawing.Image) Me.Button30.Location = New System.Drawing.Point(155, 182) Me.Button30.Name = "Button30" Me.Button30.Size = New System.Drawing.Size(23, 23) Me.Button30.TabIndex = 53 Me.Button30.UseVisualStyleBackColor = True Me.Button30.Visible = False ' 'Button31 ' Me.Button31.BackColor = System.Drawing.SystemColors.Control Me.Button31.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button31.Image = CType(resources.GetObject("Button31.Image"), System.Drawing.Image) Me.Button31.Location = New System.Drawing.Point(155, 145) Me.Button31.Name = "Button31" Me.Button31.Size = New System.Drawing.Size(23, 23) Me.Button31.TabIndex = 52 Me.Button31.UseVisualStyleBackColor = True Me.Button31.Visible = False ' 'Button32 ' Me.Button32.BackColor = System.Drawing.SystemColors.Control Me.Button32.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button32.Image = CType(resources.GetObject("Button32.Image"), System.Drawing.Image) Me.Button32.Location = New System.Drawing.Point(155, 39) Me.Button32.Name = "Button32" Me.Button32.Size = New System.Drawing.Size(23, 23) Me.Button32.TabIndex = 49 Me.Button32.UseVisualStyleBackColor = True Me.Button32.Visible = False ' 'GroupBox11 ' Me.GroupBox11.Controls.Add(Me.CheckBox19) Me.GroupBox11.Controls.Add(Me.Label44) Me.GroupBox11.Controls.Add(Me.Button37) Me.GroupBox11.Location = New System.Drawing.Point(23, 395) Me.GroupBox11.Name = "GroupBox11" Me.GroupBox11.Size = New System.Drawing.Size(159, 165) Me.GroupBox11.TabIndex = 58 Me.GroupBox11.TabStop = False Me.GroupBox11.Text = "Snap to" ' 'CheckBox19 ' Me.CheckBox19.AutoSize = True Me.CheckBox19.Checked = True Me.CheckBox19.CheckState = System.Windows.Forms.CheckState.Checked Me.CheckBox19.Location = New System.Drawing.Point(5, 88) Me.CheckBox19.Name = "CheckBox19" Me.CheckBox19.Size = New System.Drawing.Size(154, 17) Me.CheckBox19.TabIndex = 59 Me.CheckBox19.Text = "Auto-Switch off when done" Me.CheckBox19.UseVisualStyleBackColor = True ' 'Label44 ' Me.Label44.AutoSize = True Me.Label44.Location = New System.Drawing.Point(31, 141) Me.Label44.Name = "Label44" Me.Label44.Size = New System.Drawing.Size(97, 13) Me.Label44.TabIndex = 55 Me.Label44.Text = "(Toggle with F key)" ' 'Button37 ' Me.Button37.BackColor = System.Drawing.SystemColors.Control Me.Button37.ForeColor = System.Drawing.SystemColors.ControlText Me.Button37.Location = New System.Drawing.Point(13, 110) Me.Button37.Name = "Button37" Me.Button37.Size = New System.Drawing.Size(133, 24) Me.Button37.TabIndex = 54 Me.Button37.Text = "Start snap mode" Me.Button37.UseVisualStyleBackColor = False ' 'Button33 ' Me.Button33.BackColor = System.Drawing.SystemColors.Control Me.Button33.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button33.Image = CType(resources.GetObject("Button33.Image"), System.Drawing.Image) Me.Button33.Location = New System.Drawing.Point(155, 74) Me.Button33.Name = "Button33" Me.Button33.Size = New System.Drawing.Size(23, 23) Me.Button33.TabIndex = 50 Me.Button33.UseVisualStyleBackColor = True Me.Button33.Visible = False ' 'Button34 ' Me.Button34.BackColor = System.Drawing.SystemColors.Control Me.Button34.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button34.Image = CType(resources.GetObject("Button34.Image"), System.Drawing.Image) Me.Button34.Location = New System.Drawing.Point(155, 108) Me.Button34.Name = "Button34" Me.Button34.Size = New System.Drawing.Size(23, 23) Me.Button34.TabIndex = 51 Me.Button34.UseVisualStyleBackColor = True Me.Button34.Visible = False ' 'Button28 ' Me.Button28.BackColor = System.Drawing.SystemColors.Control Me.Button28.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button28.Location = New System.Drawing.Point(127, 182) Me.Button28.Name = "Button28" Me.Button28.Size = New System.Drawing.Size(23, 23) Me.Button28.TabIndex = 48 Me.Button28.UseVisualStyleBackColor = True ' 'Button10 ' Me.Button10.BackColor = System.Drawing.SystemColors.Control Me.Button10.Location = New System.Drawing.Point(21, 222) Me.Button10.Name = "Button10" Me.Button10.Size = New System.Drawing.Size(100, 23) Me.Button10.TabIndex = 6 Me.Button10.UseVisualStyleBackColor = True ' 'Label41 ' Me.Label41.AutoSize = True Me.Label41.Location = New System.Drawing.Point(17, 133) Me.Label41.Name = "Label41" Me.Label41.Size = New System.Drawing.Size(69, 13) Me.Label41.TabIndex = 45 Me.Label41.Text = "U Coordinate" ' 'Button29 ' Me.Button29.BackColor = System.Drawing.SystemColors.Control Me.Button29.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button29.Location = New System.Drawing.Point(127, 145) Me.Button29.Name = "Button29" Me.Button29.Size = New System.Drawing.Size(23, 23) Me.Button29.TabIndex = 47 Me.Button29.UseVisualStyleBackColor = True ' 'Label42 ' Me.Label42.AutoSize = True Me.Label42.Location = New System.Drawing.Point(17, 170) Me.Label42.Name = "Label42" Me.Label42.Size = New System.Drawing.Size(68, 13) Me.Label42.TabIndex = 46 Me.Label42.Text = "V Coordinate" ' 'TextBox21 ' Me.TextBox21.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox21.Location = New System.Drawing.Point(21, 184) Me.TextBox21.Name = "TextBox21" Me.TextBox21.Size = New System.Drawing.Size(100, 20) Me.TextBox21.TabIndex = 44 ' 'TextBox22 ' Me.TextBox22.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox22.Location = New System.Drawing.Point(21, 147) Me.TextBox22.Name = "TextBox22" Me.TextBox22.Size = New System.Drawing.Size(100, 20) Me.TextBox22.TabIndex = 43 ' 'Label27 ' Me.Label27.AutoSize = True Me.Label27.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label27.Location = New System.Drawing.Point(123, 271) Me.Label27.Name = "Label27" Me.Label27.Size = New System.Drawing.Size(14, 13) Me.Label27.TabIndex = 41 Me.Label27.Text = "Z" ' 'Label20 ' Me.Label20.AutoSize = True Me.Label20.Location = New System.Drawing.Point(18, 207) Me.Label20.Name = "Label20" Me.Label20.Size = New System.Drawing.Size(31, 13) Me.Label20.TabIndex = 14 Me.Label20.Text = "Color" ' 'Button20 ' Me.Button20.BackColor = System.Drawing.SystemColors.Control Me.Button20.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button20.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button20.Image = CType(resources.GetObject("Button20.Image"), System.Drawing.Image) Me.Button20.Location = New System.Drawing.Point(68, 296) Me.Button20.Name = "Button20" Me.Button20.Size = New System.Drawing.Size(29, 23) Me.Button20.TabIndex = 10 Me.Button20.UseVisualStyleBackColor = True ' 'Label26 ' Me.Label26.AutoSize = True Me.Label26.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label26.Location = New System.Drawing.Point(203, 136) Me.Label26.Name = "Label26" Me.Label26.Size = New System.Drawing.Size(14, 13) Me.Label26.TabIndex = 21 Me.Label26.Text = "Z" ' 'Button19 ' Me.Button19.BackColor = System.Drawing.SystemColors.Control Me.Button19.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button19.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button19.Image = CType(resources.GetObject("Button19.Image"), System.Drawing.Image) Me.Button19.Location = New System.Drawing.Point(138, 274) Me.Button19.Name = "Button19" Me.Button19.Size = New System.Drawing.Size(29, 23) Me.Button19.TabIndex = 12 Me.Button19.UseVisualStyleBackColor = True ' 'Button17 ' Me.Button17.BackColor = System.Drawing.SystemColors.Control Me.Button17.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button17.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button17.Image = CType(resources.GetObject("Button17.Image"), System.Drawing.Image) Me.Button17.Location = New System.Drawing.Point(138, 296) Me.Button17.Name = "Button17" Me.Button17.Size = New System.Drawing.Size(29, 23) Me.Button17.TabIndex = 13 Me.Button17.UseVisualStyleBackColor = True ' 'Label25 ' Me.Label25.AutoSize = True Me.Label25.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label25.Location = New System.Drawing.Point(25, 305) Me.Label25.Name = "Label25" Me.Label25.Size = New System.Drawing.Size(14, 13) Me.Label25.TabIndex = 18 Me.Label25.Text = "X" ' 'Label9 ' Me.Label9.AutoSize = True Me.Label9.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label9.Location = New System.Drawing.Point(54, 271) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(14, 13) Me.Label9.TabIndex = 17 Me.Label9.Text = "Y" ' 'Button18 ' Me.Button18.BackColor = System.Drawing.SystemColors.Control Me.Button18.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button18.Image = CType(resources.GetObject("Button18.Image"), System.Drawing.Image) Me.Button18.Location = New System.Drawing.Point(40, 296) Me.Button18.Name = "Button18" Me.Button18.Size = New System.Drawing.Size(29, 23) Me.Button18.TabIndex = 9 Me.Button18.Text = " " Me.Button18.UseVisualStyleBackColor = True ' 'Button14 ' Me.Button14.BackColor = System.Drawing.SystemColors.Control Me.Button14.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button14.Location = New System.Drawing.Point(127, 74) Me.Button14.Name = "Button14" Me.Button14.Size = New System.Drawing.Size(23, 23) Me.Button14.TabIndex = 4 Me.Button14.UseVisualStyleBackColor = True ' 'Button1 ' Me.Button1.BackColor = System.Drawing.SystemColors.Control Me.Button1.Location = New System.Drawing.Point(126, 222) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(53, 23) Me.Button1.TabIndex = 7 Me.Button1.Text = "Apply" Me.Button1.UseVisualStyleBackColor = True ' 'Button4 ' Me.Button4.BackColor = System.Drawing.SystemColors.Control Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button4.Image = CType(resources.GetObject("Button4.Image"), System.Drawing.Image) Me.Button4.Location = New System.Drawing.Point(96, 296) Me.Button4.Name = "Button4" Me.Button4.Size = New System.Drawing.Size(29, 23) Me.Button4.TabIndex = 11 Me.Button4.UseVisualStyleBackColor = True ' 'Button13 ' Me.Button13.BackColor = System.Drawing.SystemColors.Control Me.Button13.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button13.Location = New System.Drawing.Point(127, 108) Me.Button13.Name = "Button13" Me.Button13.Size = New System.Drawing.Size(23, 23) Me.Button13.TabIndex = 5 Me.Button13.UseVisualStyleBackColor = True ' 'TextBox3 ' Me.TextBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox3.Location = New System.Drawing.Point(21, 110) Me.TextBox3.Name = "TextBox3" Me.TextBox3.Size = New System.Drawing.Size(100, 20) Me.TextBox3.TabIndex = 2 ' 'Movement ' Me.Movement.Controls.Add(Me.Button24) Me.Movement.Controls.Add(Me.Label39) Me.Movement.Controls.Add(Me.Label40) Me.Movement.Controls.Add(Me.Button25) Me.Movement.Controls.Add(Me.Button26) Me.Movement.Controls.Add(Me.Button27) Me.Movement.Controls.Add(Me.Button8) Me.Movement.Location = New System.Drawing.Point(22, 249) Me.Movement.Name = "Movement" Me.Movement.Size = New System.Drawing.Size(159, 140) Me.Movement.TabIndex = 42 Me.Movement.TabStop = False Me.Movement.Text = "Movement" ' 'Button24 ' Me.Button24.BackColor = System.Drawing.SystemColors.Control Me.Button24.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button24.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button24.Image = CType(resources.GetObject("Button24.Image"), System.Drawing.Image) Me.Button24.Location = New System.Drawing.Point(47, 107) Me.Button24.Name = "Button24" Me.Button24.Size = New System.Drawing.Size(29, 23) Me.Button24.TabIndex = 21 Me.Button24.UseVisualStyleBackColor = True ' 'Label39 ' Me.Label39.AutoSize = True Me.Label39.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label39.Location = New System.Drawing.Point(4, 116) Me.Label39.Name = "Label39" Me.Label39.Size = New System.Drawing.Size(15, 13) Me.Label39.TabIndex = 24 Me.Label39.Text = "U" ' 'Label40 ' Me.Label40.AutoSize = True Me.Label40.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label40.Location = New System.Drawing.Point(32, 82) Me.Label40.Name = "Label40" Me.Label40.Size = New System.Drawing.Size(14, 13) Me.Label40.TabIndex = 23 Me.Label40.Text = "V" ' 'Button25 ' Me.Button25.BackColor = System.Drawing.SystemColors.Control Me.Button25.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button25.Image = CType(resources.GetObject("Button25.Image"), System.Drawing.Image) Me.Button25.Location = New System.Drawing.Point(19, 107) Me.Button25.Name = "Button25" Me.Button25.Size = New System.Drawing.Size(29, 23) Me.Button25.TabIndex = 20 Me.Button25.Text = " " Me.Button25.UseVisualStyleBackColor = True ' 'Button26 ' Me.Button26.BackColor = System.Drawing.SystemColors.Control Me.Button26.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button26.Image = CType(resources.GetObject("Button26.Image"), System.Drawing.Image) Me.Button26.Location = New System.Drawing.Point(47, 85) Me.Button26.Name = "Button26" Me.Button26.Size = New System.Drawing.Size(29, 23) Me.Button26.TabIndex = 19 Me.Button26.UseVisualStyleBackColor = True ' 'Button27 ' Me.Button27.BackColor = System.Drawing.SystemColors.Control Me.Button27.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button27.Image = CType(resources.GetObject("Button27.Image"), System.Drawing.Image) Me.Button27.Location = New System.Drawing.Point(75, 107) Me.Button27.Name = "Button27" Me.Button27.Size = New System.Drawing.Size(29, 23) Me.Button27.TabIndex = 22 Me.Button27.UseVisualStyleBackColor = True ' 'Button8 ' Me.Button8.BackColor = System.Drawing.SystemColors.Control Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.Button8.Image = CType(resources.GetObject("Button8.Image"), System.Drawing.Image) Me.Button8.Location = New System.Drawing.Point(46, 25) Me.Button8.Name = "Button8" Me.Button8.Size = New System.Drawing.Size(29, 23) Me.Button8.TabIndex = 8 Me.Button8.UseVisualStyleBackColor = True ' 'TabControl1 ' Me.TabControl1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.TabControl1.Controls.Add(Me.TabPage1) Me.TabControl1.Controls.Add(Me.TabPage2) Me.TabControl1.Controls.Add(Me.TabPage3) Me.TabControl1.Controls.Add(Me.TabPage4) Me.TabControl1.Controls.Add(Me.TabPage5) Me.TabControl1.Controls.Add(Me.TabPage6) Me.TabControl1.Controls.Add(Me.TabPage7) Me.TabControl1.HotTrack = True Me.TabControl1.Location = New System.Drawing.Point(550, 0) Me.TabControl1.Multiline = True Me.TabControl1.Name = "TabControl1" Me.TabControl1.SelectedIndex = 0 Me.TabControl1.Size = New System.Drawing.Size(242, 551) Me.TabControl1.TabIndex = 3 Me.TabControl1.Visible = False ' 'TabPage6 ' Me.TabPage6.Controls.Add(Me.Button41) Me.TabPage6.Controls.Add(Me.DebugTree) Me.TabPage6.Location = New System.Drawing.Point(4, 40) Me.TabPage6.Name = "TabPage6" Me.TabPage6.Size = New System.Drawing.Size(234, 507) Me.TabPage6.TabIndex = 5 Me.TabPage6.Text = "Debug" Me.TabPage6.UseVisualStyleBackColor = True ' 'Button41 ' Me.Button41.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Button41.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.Button41.Location = New System.Drawing.Point(156, 473) Me.Button41.Name = "Button41" Me.Button41.Size = New System.Drawing.Size(75, 23) Me.Button41.TabIndex = 1 Me.Button41.Text = "Populate" Me.Button41.UseVisualStyleBackColor = True ' 'DebugTree ' Me.DebugTree.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.DebugTree.CheckBoxes = True Me.DebugTree.ContextMenuStrip = Me.ContextMenuStrip2 Me.DebugTree.HideSelection = False Me.DebugTree.HotTracking = True Me.DebugTree.Location = New System.Drawing.Point(3, 3) Me.DebugTree.Name = "DebugTree" Me.DebugTree.Size = New System.Drawing.Size(228, 234) Me.DebugTree.TabIndex = 0 ' 'ContextMenuStrip2 ' Me.ContextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem3}) Me.ContextMenuStrip2.Name = "ContextMenuStrip2" Me.ContextMenuStrip2.Size = New System.Drawing.Size(107, 26) ' 'ToolStripMenuItem3 ' Me.ToolStripMenuItem3.Name = "ToolStripMenuItem3" Me.ToolStripMenuItem3.Size = New System.Drawing.Size(106, 22) Me.ToolStripMenuItem3.Text = "Toggle" ' 'TabPage7 ' Me.TabPage7.Controls.Add(Me.FileTree) Me.TabPage7.Location = New System.Drawing.Point(4, 40) Me.TabPage7.Name = "TabPage7" Me.TabPage7.Size = New System.Drawing.Size(234, 507) Me.TabPage7.TabIndex = 6 Me.TabPage7.Text = "ROM Files" Me.TabPage7.UseVisualStyleBackColor = True ' 'FileTree ' Me.FileTree.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.FileTree.ContextMenuStrip = Me.ContextMenuStrip2 Me.FileTree.HideSelection = False Me.FileTree.HotTracking = True Me.FileTree.Location = New System.Drawing.Point(3, 3) Me.FileTree.Name = "FileTree" Me.FileTree.Size = New System.Drawing.Size(228, 498) Me.FileTree.TabIndex = 1 ' 'Label43 ' Me.Label43.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Label43.AutoSize = True Me.Label43.Font = New System.Drawing.Font("Trebuchet MS", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label43.Location = New System.Drawing.Point(400, 553) Me.Label43.Name = "Label43" Me.Label43.Size = New System.Drawing.Size(89, 18) Me.Label43.TabIndex = 102 Me.Label43.Text = "Camera speed:" ' 'TrackBar1 ' Me.TrackBar1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.TrackBar1.AutoSize = False Me.TrackBar1.Cursor = System.Windows.Forms.Cursors.Hand Me.TrackBar1.Location = New System.Drawing.Point(490, 554) Me.TrackBar1.Maximum = 40 Me.TrackBar1.Minimum = 1 Me.TrackBar1.Name = "TrackBar1" Me.TrackBar1.Size = New System.Drawing.Size(90, 15) Me.TrackBar1.TabIndex = 103 Me.TrackBar1.Value = 20 ' 'SimpleOpenGlControl1 ' Me.SimpleOpenGlControl1.AccumBits = CType(0, Byte) Me.SimpleOpenGlControl1.AllowDrop = True Me.SimpleOpenGlControl1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.SimpleOpenGlControl1.AutoCheckErrors = False Me.SimpleOpenGlControl1.AutoFinish = True Me.SimpleOpenGlControl1.AutoMakeCurrent = True Me.SimpleOpenGlControl1.AutoSize = True Me.SimpleOpenGlControl1.AutoSwapBuffers = False Me.SimpleOpenGlControl1.AutoValidate = System.Windows.Forms.AutoValidate.EnablePreventFocusChange Me.SimpleOpenGlControl1.BackColor = System.Drawing.Color.Black Me.SimpleOpenGlControl1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch Me.SimpleOpenGlControl1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.SimpleOpenGlControl1.ColorBits = CType(32, Byte) Me.SimpleOpenGlControl1.Cursor = System.Windows.Forms.Cursors.Default Me.SimpleOpenGlControl1.DepthBits = CType(32, Byte) Me.SimpleOpenGlControl1.Location = New System.Drawing.Point(-4, 23) Me.SimpleOpenGlControl1.Name = "SimpleOpenGlControl1" Me.SimpleOpenGlControl1.Size = New System.Drawing.Size(796, 555) Me.SimpleOpenGlControl1.StencilBits = CType(0, Byte) Me.SimpleOpenGlControl1.TabIndex = 0 ' 'ContextMenuStrip1 ' Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2}) Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Size = New System.Drawing.Size(100, 48) ' 'ToolStripMenuItem1 ' Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" Me.ToolStripMenuItem1.Size = New System.Drawing.Size(99, 22) Me.ToolStripMenuItem1.Text = "+90º" ' 'ToolStripMenuItem2 ' Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2" Me.ToolStripMenuItem2.Size = New System.Drawing.Size(99, 22) Me.ToolStripMenuItem2.Text = "-90º" ' 'Button9 ' Me.Button9.BackColor = System.Drawing.SystemColors.Control Me.Button9.Location = New System.Drawing.Point(774, 10) Me.Button9.Name = "Button9" Me.Button9.Size = New System.Drawing.Size(86, 23) Me.Button9.TabIndex = 6 Me.Button9.Text = "Add Actor" Me.Button9.UseVisualStyleBackColor = True Me.Button9.Visible = False ' 'MainWin ' Me.AllowDrop = True Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit Me.ClientSize = New System.Drawing.Size(792, 573) Me.Controls.Add(Me.ComboBox3) Me.Controls.Add(Me.Label11) Me.Controls.Add(Me.Label12) Me.Controls.Add(Me.Label43) Me.Controls.Add(Me.TrackBar1) Me.Controls.Add(Me.TabControl1) Me.Controls.Add(Me.TrackBar4) Me.Controls.Add(Me.Button9) Me.Controls.Add(Me.StatusStrip1) Me.Controls.Add(Me.MenuStrip1) Me.Controls.Add(Me.SimpleOpenGlControl1) Me.DoubleBuffered = True Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.MainMenuStrip = Me.MenuStrip1 Me.Name = "MainWin" Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show Me.Text = "Utility of Time 0.95" Me.ContextMenuStrip4.ResumeLayout(False) Me.ContextMenuStrip5.ResumeLayout(False) CType(Me.TrackBar4, System.ComponentModel.ISupportInitialize).EndInit() Me.MenuStrip1.ResumeLayout(False) Me.MenuStrip1.PerformLayout() Me.ContextMenuStrip7.ResumeLayout(False) Me.TabPage5.ResumeLayout(False) Me.GroupBox7.ResumeLayout(False) Me.GroupBox7.PerformLayout() Me.GroupBox9.ResumeLayout(False) Me.GroupBox9.PerformLayout() Me.TabPage4.ResumeLayout(False) Me.GroupBox1.ResumeLayout(False) Me.GroupBox1.PerformLayout() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() Me.GroupBox10.ResumeLayout(False) Me.GroupBox10.PerformLayout() Me.TabPage3.ResumeLayout(False) Me.GroupBox3.ResumeLayout(False) Me.GroupBox3.PerformLayout() Me.GroupBox6.ResumeLayout(False) Me.GroupBox6.PerformLayout() Me.TabPage2.ResumeLayout(False) Me.TabPage2.PerformLayout() Me.GroupBox4.ResumeLayout(False) Me.GroupBox4.PerformLayout() Me.GroupBox5.ResumeLayout(False) Me.GroupBox5.PerformLayout() Me.TabPage1.ResumeLayout(False) Me.TabPage1.PerformLayout() Me.GroupBox2.ResumeLayout(False) Me.GroupBox2.PerformLayout() Me.GroupBox11.ResumeLayout(False) Me.GroupBox11.PerformLayout() Me.Movement.ResumeLayout(False) Me.Movement.PerformLayout() Me.TabControl1.ResumeLayout(False) Me.TabPage6.ResumeLayout(False) Me.ContextMenuStrip2.ResumeLayout(False) Me.TabPage7.ResumeLayout(False) CType(Me.TrackBar1, System.ComponentModel.ISupportInitialize).EndInit() Me.ContextMenuStrip1.ResumeLayout(False) Me.ResumeLayout(False) Me.PerformLayout() End Sub #End Region #Region "Variables" Private TexFormat As UInt32 = 0 Private TexelSize As UInt32 = 0 Private TMemAddress As UInt32 = 0 Private CMT As UInt32 = 0 Private MaskT As UInt32 = 0 Private ShiftT As UInt32 = 0 Private CMS As UInt32 = 0 Private MaskS As UInt32 = 0 Private ShiftS As UInt32 = 0 Private BPP As Integer = 0 Private ImageFormat As Integer = 0 Private mapst As Integer = 0 Private scenest As Integer = 0 Private scbuffsize As Integer = 0 Private mapbuffsize As Integer = 0 Private objbuffsize As Integer = 0 Private scfilename As String = "" Private mapfilename As String = "" Private objectfilename As String = "" Private ZFileBuffer As Byte() Private ZSceneBuffer As Byte() Private MapCount As Integer = 0 Private SceneCount As Integer = 0 Private ObjectCount As Integer = 0 Private ROMFiles As New ROMData Private BlendSrcFactor As Integer = 0 Private BlendDstFactor As Integer = 0 Private AlphaFunc As Integer = 0 Private AlphaRef As Single = 0.0 Private combine As Boolean = False Private LineSize As UInteger = 0 Private CMDLow As UInt32 Private CMDHigh As UInt32 Private ShaderProg As UInt32 Private COMBINE0 As UInt32 Private COMBINE1 As UInt32 Private cA0 As UInt32 Private cB0 As UInt32 Private cC0 As UInt32 Private cD0 As UInt32 Private aA0 As UInt32 Private aB0 As UInt32 Private aC0 As UInt32 Private aD0 As UInt32 Private cA1 As UInt32 Private cB1 As UInt32 Private cC1 As UInt32 Private cD1 As UInt32 Private aA1 As UInt32 Private aB1 As UInt32 Private aC1 As UInt32 Private aD1 As UInt32 Private T_Scale As UInt32 Private S_Scale As UInt32 Private x As Int16 Private y As Int16 Private z As Int16 Private u As Double Private v As Double Private r As Single Private g As Single Private b As Single Private a As Single Private CMDStr As String = "" Private oldvtoff As Integer = 0 Private TempVx1 As Int16 = 0 Private TempVx2 As Int16 = 0 Private TempVx3 As Int16 = 0 Private TempVy1 As Int16 = 0 Private TempVy2 As Int16 = 0 Private TempVy3 As Int16 = 0 Private TempVz1 As Int16 = 0 Private TempVz2 As Int16 = 0 Private TempVz3 As Int16 = 0 Private TempVr1 As Int16 = 0 Private TempVg2 As Int16 = 0 Private TempVb3 As Int16 = 0 Private TempVa1 As Int16 = 0 Private TempVa2 As Int16 = 0 Private TempVa3 As Int16 = 0 Private TempVu1 As Int16 = 0 Private TempVu2 As Int16 = 0 Private TempVu3 As Int16 = 0 Private TempVv1 As Int16 = 0 Private TempVv2 As Int16 = 0 Private TempVv3 As Int16 = 0 Private EnableLighting As Boolean = False Private PrimColor(3) As Single Private RefreshDebug As Boolean = True Private DataBuffer() As Byte Private ScDataBuffer() As Byte Private DLInfo() As DisplayList Private MaxAnisotropy() As Single = {0.0F} Private weldautooff As Boolean = True Private objtexcnt As Integer = 0 Private changetexenvm As New ArrayList Private mpick As Boolean Private ul As Int16 = 0 Private vl As Int16 = 0 Private meshw As Integer = -1 Private vertw As Integer = -1 Private weld As Boolean = False Private changepos(5) As Boolean Private cmdoff As New ArrayList Private agrbuff As New ArrayList Private anobuff As New ArrayList Private avarbuff As New ArrayList Private canrun As Boolean Private adescbuff As New ArrayList Private working As Boolean Private CollisionVerts As VertexCollision Private CollisionPolies As PolygonCollision Private cv As Integer = 0 Private sv As Integer = 0 Private ShaderLines As New ArrayList Private hide0(3) As Boolean Private maininfo As String = "" Private beentex As New ArrayList Private draworder As New ArrayList Private reset() As Boolean Private vtmode As Integer = 0 Private sellink As New ArrayList Private ctris() As CTriSelect Private cmdtext As String = "" Private vtoff As Integer = 0 Private n() As String = {"(all)", "(single)", "(mesh)"} Private CombineArray() As ArrayList Private timerstr As String = "" Private typecol As Integer = 0 Private axestr As String = "(X + Y)" Private crc As Process = New Process Private cfix As Process = New Process Private seltype As String = "" Private coltypes As New ArrayList Private coltypeoff As New ArrayList Private i As Integer = 0 Private i1 As Integer = 0 Private i2 As Integer = 0 Private i3 As Integer = 0 Private i4 As Integer = 0 Private tr5 As New ArrayList Private tg5 As New ArrayList Private tb5 As New ArrayList Private physgrp() As Integer Private physgrpc() As Integer Private su As String = "" Private colch As Integer = 0 Private foundt As Boolean = False Private lockstate As Boolean = False Private changevert() As Boolean = {False, False, False, False, False} Private meshc As Boolean = False Private texc As Boolean = False Private selvertc As New ArrayList Private actordb As StreamReader Private actorindex As String = "" Private OBJVertices() As OBJPoints = {} Private OBJPolygons() As OBJFaces = {} Private OBJTexCoord() As OBJUVs = {} Private toolsens As Single = 0 Private btnno As Integer = 0 Private texfil As Integer = 0 Private Vertices As Vertex3D Private objtextures() As UInt32 Private selvert As New ArrayList Private selmesh As New ArrayList Private FPSCount As Integer = 0 Private FPSCountSTR As String = "" Private dlcount As Integer = 0 Private dimensiontest(1) As Integer Private gameplaykeep As FileStream Private dangenkeep As FileStream Private fieldkeep As FileStream Private formattest(1) As Byte Private banktest As Byte Private wraptest(1) As Byte Private linesizetest(3) As Byte Private texoff As UInt32 Private xmode As Integer Private ymode As Integer Private TexWidth As Integer = 0 Private TexHeight As Integer = 0 Private TextureW As Integer = 0 Private TextureH As Integer = 0 Private texbytes As Integer = 0 Private imagearray() As Byte Private newimagearray() As Byte Private PalBank As Integer = 0 Private PalOff As Integer = 0 Private palette() As Byte Private extracted As color4c Private dump As Boolean = False Private returnto As Integer = 0 Private bankuse As Integer = 0 Private texfilename As New ArrayList Private ElapsedTime As Integer Private current As Integer = -1 Private weldpos(2) As Boolean Private key_w, key_a, key_s, key_d, key_q, key_e, key_u, key_o, key_up, key_lf, key_dn, key_rt, key_ctrl, key_alt As Boolean Private question As Boolean = True Private SaveOff As Integer = 0 Private rendersc As Boolean = True Private renderobj As Boolean = True Private MouseLeft As Boolean = False Private MouseRight As Boolean = False Private run As Integer = 20 Private AxisGuideDList As UInt32 = 0 Private MouseMiddle As Boolean = False Private dumpto As String = "" Private EPDLoad As Boolean = False Private xrot As Double = 0.0 Private yrot As Double = 0.0 Private zrot As Double = 0.0 Private ActorBox As UInt32 = 0 Private dbfile As String = Application.StartupPath & "/ext/actor_db.txt" Private iniwrite As New iniwriter(Application.StartupPath & "/uot.ini") Private wireframe As Boolean = False Private ArrayOff As New ArrayList Private PolyInd(0) As ArrayList Private PolyStart As New ArrayList Private viewport(3) As Integer Private newx As Double = 0.0 Private newy As Double = 0.0 Private oldx As Double = 0.0 Private oldy As Double = 0.0 Private getobjectsets(3) As Integer Private cmdno As Integer = 0 Private scenefile As FileStream Private scene As BufferedStream Private maploaded As Boolean = False Private actorfound As Integer = 0 Private actorposoff() As Integer = {} Private xrotd As Double = 0 Private yrotd As Double = 0 Private zrotd As Double = 0 Private identity As String Private selmode As Boolean = False Private rand As New Random Private tr As New ArrayList Private tg As New ArrayList Private tb As New ArrayList Private tr1 As New ArrayList Private tg1 As New ArrayList Private tb1 As New ArrayList Private tr3 As New ArrayList Private tg3 As New ArrayList Private tb3 As New ArrayList Private objoff As Integer = 0 Private LocalMouse As Point Private oldLocalMouse As Point Private actorsel As Boolean = True Private vertexsel As Boolean = False Private cameraonly As Boolean = False Private showcdialog As Boolean = False Private Dx As Integer = 0 Private Dy As Integer = 0 Private Dz As Integer = 0 Private Dy1 As Integer = 0 Private Dx1 As Integer = 0 Private vertmode As Integer = 0 Private pixel(2) As Byte Private actored As Boolean Private final3dpos(2) As Double Private clicks(2) As Integer Private oldposx, oldposy, oldposz As Double Private myownsc As Boolean = False Private myownrm As Boolean = False Private selectedind As Integer = 0 Private selectedinddr As Integer = 0 Private tick As Integer = 0 Private selectedindcol As Integer = 0 Private grabxyz As Integer = 0 Private oldoff As String = "" Private savenameobj As String = "" Private savenamesc As String = "" Private watersave As Int32 Private musicsave As Int32 Private linkr As Integer = 0 Private zlestart16 As Integer = 0 Private zleend16 As Integer = 0 Private zlestart6 As Integer = 0 Private zleend6 As Integer = 0 Private curcol As Integer = 0 Private exitoff As Integer = 0 Private colvar As New ArrayList Private trisel As Boolean = False Private movest As Integer = 0 Private myownobj As Boolean = False Private filebuff As FileStream Private t As Integer = 0 Private ff As Byte = 0 Private imgstr As String = "" Private formatbyte As Byte = 0 Private tm As Integer = 0 Private t1 As Integer = 0 Private tc As Boolean = False Private cA As UInt16 = 0 Private cB As UInt16 = 0 Private cC As UInt16 = 0 Private comb5 As Integer = 0 Private comb7 As Integer = 0 Private EnvironmentColor() As Single = {0, 0, 0, 0} Private objects As New ArrayList Private objectss As New ArrayList Private DemoStart As Integer = 0 Private fogCol(3) As Integer Private LAmbient() As Single = {0, 0, 0, 1} Private LDiffuse() As Single = {1, 1, 1, 1} Private LPosition() As Single = {1.0, 1.0, 0} Private TextureHRatio As Double = 0.0 Private TextureWRatio As Double = 0.0 Private NewTexture As Boolean = False #End Region Private Sub Initialize() Glut.glutInit() Wgl.ReloadFunctions() Gl.ReloadFunctions() Gl.glEnable(Gl.GL_POINT_SMOOTH) Gl.glClearColor(0.2, 0.5, 0.7, 1) Gl.glHint(Gl.GL_PERSPECTIVE_CORRECTION_HINT, Gl.GL_NICEST) Gl.glShadeModel(Gl.GL_SMOOTH) Gl.glEnable(Gl.GL_DEPTH_TEST) Gl.glDepthFunc(Gl.GL_LEQUAL) Gl.glEnable(Gl.GL_COLOR_MATERIAL) Gl.glColorMaterial(Gl.GL_FRONT_AND_BACK, Gl.GL_AMBIENT_AND_DIFFUSE) Gl.glEnable(Gl.GL_LIGHT0) Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_EMISSION, LAmbient) Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_DIFFUSE, LDiffuse) Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, LPosition) Reshape() FatherLoop() End Sub Private Sub FatherLoop() Dim LastTime As Integer DemoStart = Kernel.GetTickCount Do If Not working Then LastTime = ElapsedTime ElapsedTime = Kernel.GetTickCount() - DemoStart ElapsedTime = (LastTime + ElapsedTime) \ 2 Application.DoEvents() Gl.glDisable(Gl.GL_LIGHTING) Gl.glDisable(Gl.GL_NORMALIZE) Gl.glDisable(Gl.GL_FRAGMENT_PROGRAM_ARB) MainLoop() SimpleOpenGlControl1.Invalidate() FPSCount += 1 End If Loop End Sub #Region "DList Processing" Private Sub SetCMDStr() Select Case DLInfo(i).Commands(i1).CMDDword(0) Case F3DEX2_VTX If Not DLInfo(i).Commands(i1 + 1).CMDDword(0) = 3 Then cmdtext = "F3DEX2_VTX" Else cmdtext = "F3DEX2_VTX (CULL)" End If Case F3DEX2_TRI1 cmdtext = "F3DEX2_TRI1" Case F3DEX2_QUAD cmdtext = "F3DEX2_QUAD" Case F3DEX2_TRI2 cmdtext = "F3DEX2_TRI2" Case F3DEX2_CULLDL cmdtext = "F3DEX2_CULLDL" Case F3DEX2_TEXTURE cmdtext = "F3DEX2_TEXTURE" Case G_SETFOGCOLOR cmdtext = "G_SETFOGCOLOR" Case F3DEX2_SETOTHERMODE_L cmdtext = "F3DEX2_SETOTHERMODE_L" Case F3DEX2_SETOTHERMODE_H cmdtext = "F3DEX2_SETOTHERMODE_H" Case F3DEX2_GEOMETRYMODE cmdtext = "F3DEX2_GEOMETRYMODE" Case G_SETCOMBINE cmdtext = "G_SETCOMBINE" Case G_RDPPIPESYNC cmdtext = "G_RDPPIPESYNC" Case G_SETENVCOLOR cmdtext = "G_SETENVCOLOR" Case G_LOADTLUT cmdtext = "G_SETTLUT" Case F3DEX2_DL cmdtext = "F3DEX2_DL" Case G_RDPTILESYNC cmdtext = "G_RDPTILESYNC" Case G_RDPLOADSYNC cmdtext = "G_RDPLOADSYNC" Case F3DEX2_MTX cmdtext = "F3DEX2_MTX" Case G_SETTILESIZE cmdtext = "G_SETTILESIZE" Case G_SETTILE cmdtext = "G_SETTILE" Case G_SETPRIMCOLOR cmdtext = "G_SETPRIMCOLOR" Case G_SETBLENDCOLOR cmdtext = "G_SETBLENDCOLOR" Case F3DEX2_ENDDL cmdtext = "F3DEX2_ENDDL" Case G_LOADBLOCK cmdtext = "G_LOADBLOCK" Case F3DEX2_MODIFYVTX cmdtext = "F3DEX2_MODIFYVTX" Case G_SETTIMG cmdtext = "G_SETTIMG" Case Else cmdtext = "UNKNOWN!" End Select End Sub Private Sub MODIFYVTX() Dim where As Integer = DLInfo(i).Commands(i1).CMDDword(1) Dim vtx As Integer = DLInfo(i).Commands(i1).CMDDword(3) \ 2 Select Case where Case &H10 Case &H14 'Vertices.u(vtx) 'Vertices.v(vtx) Case &H18 Case &H1C End Select End Sub Private Sub ParseCurrentCommand() Select Case DLInfo(i).Commands(i1).CMDDword(0) Case F3DEX2_MODIFYVTX MODIFYVTX() Case F3DEX2_TEXTURE Gl.glEnable(Gl.GL_TEXTURE_2D) TEXTURESCALE() Case F3DEX2_GEOMETRYMODE GEOMETRYMODE() Case F3DEX2_SETOTHERMODE_L SETOTHERMODEL() Case F3DEX2_SETOTHERMODE_H SETOTHERMODEH() Case G_SETFOGCOLOR 'SETFOGCOLOR() Case G_SETCOMBINE SETCOMBINE() Case F3DEX2_VTX If Not DLInfo(i).Commands(i1 + 1).CMDDword(0) = 3 And DLInfo(i).Commands(i1).CMDDword(4) = bankno Then VTX() End If Case G_SETENVCOLOR ENVCOLOR() Case G_SETPRIMCOLOR SETPRIMCOLOR() Case F3DEX2_TRI1 TRI1() Case F3DEX2_TRI2 TRI2() Case G_SETTIMG SETTIMG() Case G_SETTILESIZE SETTILESIZE() Case G_SETTILE SETTILE() Case G_LOADTLUT LOADTLUT() Case F3DEX2_MOVEWORD MsgBox("mw") Case F3DEX2_MOVEMEM MsgBox("mm") Case F3DEX2_POPMTX Gl.glPopMatrix() Case F3DEX2_CULLDL Case G_RDPPIPESYNC Case F3DEX2_DL Case G_RDPTILESYNC Case G_RDPLOADSYNC Case F3DEX2_MTX MTX() Case G_SETBLENDCOLOR Case F3DEX2_ENDDL Case G_LOADBLOCK End Select End Sub Private Sub CreateShader() Dim shaderout As String = "" ShaderLines.Clear() ShaderLines.Add("!!ARBfp1.0") ShaderLines.Add("TEMP R0;") ShaderLines.Add("TEMP R1;") ShaderLines.Add("TEMP aR0;") ShaderLines.Add("TEMP aR1;") ShaderLines.Add("PARAM envcolor = program.env[0];") ShaderLines.Add("PARAM primcolor = program.env[1];") Select Case cA0 Case 1 ShaderLines.Add("TEX R0, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX R0, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV R0, primcolor;") Case 4 ShaderLines.Add("MOV R0, fragment.color.primary;") Case 5 ShaderLines.Add("MOV R0, envcolor;") Case 6 ShaderLines.Add("MOV R0, {1.0,1.0,1.0,1.0};") Case Else ShaderLines.Add("MOV R0, {0,0,0,0};") End Select Select Case cB0 Case 1 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV R1, primcolor;") Case 4 ShaderLines.Add("MOV R1, fragment.color.primary;") Case 5 ShaderLines.Add("MOV R1, envcolor;") Case Else ShaderLines.Add("MOV R1, {0,0,0,0};") End Select ShaderLines.Add("SUB R0, R0, R1;") Select Case cC0 Case 1 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV R1, primcolor;") Case 4 ShaderLines.Add("MOV R1, fragment.color.primary;") Case 5 ShaderLines.Add("MOV R1, envcolor;") Case 8 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[0], 2D;") ShaderLines.Add("MOV R1, R1.aaaa;") Case 9 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[1], 2D;") ShaderLines.Add("MOV R1, R1.aaaa;") Case 10 ShaderLines.Add("MOV R1, primcolor;") ShaderLines.Add("MOV R1, R1.aaaa;") Case 11 ShaderLines.Add("MOV R1, fragment.color.primary;") ShaderLines.Add("MOV R1, R1.aaaa;") Case 12 ShaderLines.Add("MOV R1, envcolor;") ShaderLines.Add("MOV R1, R1.aaaa;") Case Else ShaderLines.Add("MOV R1, {0,0,0,0};") End Select ShaderLines.Add("MUL R0, R0, R1;") Select Case cD0 Case 1 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX R1, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV R1, primcolor;") Case 4 ShaderLines.Add("MOV R1, fragment.color.primary;") Case 4 ShaderLines.Add("MOV R1, envcolor;") Case 6 ShaderLines.Add("MOV R1, {1.0,1.0,1.0,1.0};") Case Else ShaderLines.Add("MOV R1, {0.0,0.0,0.0,0.0};") End Select ShaderLines.Add("ADD R0, R0, R1;") Select Case aA0 Case 1 ShaderLines.Add("TEX aR0, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX aR0, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV aR0, primcolor;") Case 4 ShaderLines.Add("MOV aR0, fragment.color.primary;") Case 5 ShaderLines.Add("MOV aR0, envcolor;") Case 6 ShaderLines.Add("MOV aR0, {1.0,1.0,1.0,1.0};") Case Else ShaderLines.Add("MOV aR0, {0,0,0,0};") End Select Select Case aB0 Case 1 ShaderLines.Add("TEX aR1, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX aR1, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV aR1, primcolor;") Case 4 ShaderLines.Add("MOV aR1, fragment.color.primary;") Case 5 ShaderLines.Add("MOV aR1, envcolor;") Case 6 ShaderLines.Add("MOV aR1, {1.0,1.0,1.0,1.0};") Case Else ShaderLines.Add("MOV aR1, {0.0,0.0,0.0,0.0};") End Select ShaderLines.Add("SUB aR0, aR0, aR1;") Select Case aC0 Case 1 ShaderLines.Add("TEX aR1, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX aR1, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV aR1, primcolor;") Case 4 ShaderLines.Add("MOV aR1, fragment.color.primary;") Case 5 ShaderLines.Add("MOV aR1, envcolor;") Case 6 ShaderLines.Add("MOV aR1, {1.0,1.0,1.0,1.0};") Case Else ShaderLines.Add("MOV aR1, {0.0,0.0,0.0,0.0};") End Select ShaderLines.Add("MUL aR0, aR0, aR1;") Select Case aD0 Case 1 ShaderLines.Add("TEX aR1, fragment.texcoord[0], texture[0], 2D;") Case 2 ShaderLines.Add("TEX aR1, fragment.texcoord[0], texture[1], 2D;") Case 3 ShaderLines.Add("MOV aR1, primcolor;") Case 4 ShaderLines.Add("MOV aR1, fragment.color.primary;") Case 5 ShaderLines.Add("MOV aR1, envcolor;") Case 6 ShaderLines.Add("MOV aR1, {1.0,1.0,1.0,1.0};") Case Else ShaderLines.Add("MOV aR1, {0.0,0.0,0.0,0.0};") End Select ShaderLines.Add("ADD aR0, aR0, aR1;") ShaderLines.Add("MOV R0.a, aR0.a;") ShaderLines.Add("MOV result.color, R0;") ShaderLines.Add("END") For i4 = 0 To ShaderLines.Count - 1 shaderout &= ShaderLines(i4) & Environment.NewLine Next ShaderLines.Clear() Dim shaderapp() As Byte = System.Text.Encoding.ASCII.GetBytes(shaderout) Gl.glGenProgramsARB(1, shaderprog) Gl.glBindProgramARB(Gl.GL_FRAGMENT_PROGRAM_ARB, shaderprog) Gl.glProgramStringARB(Gl.GL_FRAGMENT_PROGRAM_ARB, Gl.GL_PROGRAM_FORMAT_ASCII_ARB, shaderapp.Length, shaderapp) 'Dim errpos As Integer = -1 'Gl.glGetIntegerv(Gl.GL_PROGRAM_ERROR_POSITION_ARB, errpos) 'If errpos > -1 Then ' MsgBox("CAN'T PARSE SHADER OPERATION: " & ShaderLines(CInt(Mid(Gl.glGetString(Gl.GL_PROGRAM_ERROR_STRING_ARB), 6, 2)) - 1)) 'End If Gl.glEnable(Gl.GL_FRAGMENT_PROGRAM_ARB) End Sub Private Sub SETCOMBINE() COMBINE0 = CMDLow And &HFFFFFF COMBINE1 = CMDHigh cA0 = (COMBINE0 >> 20) And &HF cB0 = (COMBINE1 >> 28) And &HF cC0 = (COMBINE0 >> 15) And &H1F cD0 = (COMBINE1 >> 15) And &H7 aA0 = (COMBINE0 >> 12) And &H7 aB0 = (COMBINE1 >> 12) And &H7 aC0 = (COMBINE0 >> 9) And &H7 aD0 = (COMBINE1 >> 9) And &H7 cA1 = (COMBINE0 >> 5) And &HF cB1 = (COMBINE1 >> 24) And &HF cC1 = (COMBINE0) And &H1F cD1 = (COMBINE1 >> 6) And &H7 aA1 = (COMBINE1 >> 21) And &H7 aB1 = (COMBINE1 >> 3) And &H7 aC1 = (COMBINE1 >> 18) And &H7 aD1 = (COMBINE1) And &H7 CreateShader() End Sub Private Sub ENVCOLOR() EnvironmentColor(0) = DLInfo(i).Commands(i1).CMDDword(4) / 255 EnvironmentColor(1) = DLInfo(i).Commands(i1).CMDDword(5) / 255 EnvironmentColor(2) = DLInfo(i).Commands(i1).CMDDword(6) / 255 EnvironmentColor(3) = DLInfo(i).Commands(i1).CMDDword(7) / 255 Gl.glProgramEnvParameter4fvARB(Gl.GL_FRAGMENT_PROGRAM_ARB, 0, EnvironmentColor) End Sub Private Sub SETPRIMCOLOR() PrimColor(0) = DLInfo(i).Commands(i1).CMDDword(4) / 255 PrimColor(1) = DLInfo(i).Commands(i1).CMDDword(5) / 255 PrimColor(2) = DLInfo(i).Commands(i1).CMDDword(6) / 255 PrimColor(3) = DLInfo(i).Commands(i1).CMDDword(7) / 255 Gl.glProgramEnvParameter4fvARB(Gl.GL_FRAGMENT_PROGRAM_ARB, 1, PrimColor) End Sub Private Sub MTX() Dim mtx(3, 3) As Double Dim seg As Integer = DLInfo(i).Commands(i1).CMDDword(2) Dim mtxdata(63) As Byte Dim cnt As Integer = 0 Dim mtxextract(1) As UInt32 Dim ActiveMatrix As Integer = DLInfo(i).Commands(i1).CMDDword(3) Dim address As UInt32 = Convert.ToUInt32(CByte(DLInfo(i).Commands(i1).CMDDword(5)).ToString("X2") & CByte(DLInfo(i).Commands(i1).CMDDword(6)).ToString("X2") & CByte(DLInfo(i).Commands(i1).CMDDword(7)).ToString("X2"), 16) If seg = bankno Then For i2 = 0 To 63 mtxdata(i2) = DataBuffer(address + i2) Next Else Gl.glPopMatrix() End If For i3 = 0 To 3 For i4 = 0 To 3 mtxextract(0) = (mtxdata(cnt) * &H100) + mtxdata(cnt + 1) mtxextract(1) = (mtxdata(cnt + 32) * &H100) + mtxdata(cnt + 33) mtx(i3, i4) = ((mtxextract(0) << 16) Or mtxextract(1)) * 65535 cnt += 2 Next Next Select Case ActiveMatrix Case F3DEX2_MTX_MODELVIEW Case F3DEX2_MTX_PROJECTION End Select Gl.glPushMatrix() 'Gl.glMultMatrixd(mtx) End Sub Private Sub VTX() vtoff = Convert.ToUInt32(CByte(DLInfo(i).Commands(i1).CMDDword(5)).ToString("X2") & CByte(DLInfo(i).Commands(i1).CMDDword(6)).ToString("X2") & CByte(DLInfo(i).Commands(i1).CMDDword(7)).ToString("X2"), 16) oldvtoff = vtoff Dim VTXNUM As UInt32 = DLInfo(i).Commands(i1).CMDDword(3) \ 2 ReDim Vertices.x(VTXNUM - 1) ReDim Vertices.y(VTXNUM - 1) ReDim Vertices.z(VTXNUM - 1) ReDim Vertices.r(VTXNUM - 1) ReDim Vertices.g(VTXNUM - 1) ReDim Vertices.b(VTXNUM - 1) ReDim Vertices.a(VTXNUM - 1) ReDim Vertices.u(VTXNUM - 1) ReDim Vertices.v(VTXNUM - 1) If NewTexture Then LoadTex() For i2 = 0 To VTXNUM - 1 x = ((ZFileBuffer(vtoff) * &H1000000) + (ZFileBuffer(vtoff + 1) * &H10000)) >> 16 y = ((ZFileBuffer(vtoff + 2) * &H1000000) + (ZFileBuffer(vtoff + 3) * &H10000)) >> 16 z = ((ZFileBuffer(vtoff + 4) * &H1000000) + (ZFileBuffer(vtoff + 5) * &H10000)) >> 16 u = ((ZFileBuffer(vtoff + 8) * &H1000000) + (ZFileBuffer(vtoff + 9) * &H10000)) >> 16 v = ((ZFileBuffer(vtoff + 10) * &H1000000) + (ZFileBuffer(vtoff + 11) * &H10000)) >> 16 r = ZFileBuffer(vtoff + 12) / 255 g = ZFileBuffer(vtoff + 13) / 255 b = ZFileBuffer(vtoff + 14) / 255 a = ZFileBuffer(vtoff + 15) / 255 With Vertices 'Vertex x(l)-y(w)-z(d) coordinates .x(i2) = x .y(i2) = y .z(i2) = z 'Texture coordinates .u(i2) = u .v(i2) = v 'Vertex colors .r(i2) = r .g(i2) = g .b(i2) = b .a(i2) = a End With vtoff += 16 Next End Sub Private Sub SETOTHERMODEH() Select Case 32 - ((CMDLow >> 8) And &HFF) - (CMDLow And &HFF) - 1 Case 4 Case 6 Case 8 Case 9 Case 12 Case 14 Case 16 Case 17 Case 19 Case 20 Case 22 Case 23 End Select End Sub Private Sub SETOTHERMODEL() Dim zmode As Byte = (CMDHigh >> 10) And 3 Dim forceblend As Byte = (CMDHigh >> 14) And 1 Dim cvgXalpha As Byte = (CMDHigh >> 12) And 1 Dim alphacvgsel As Byte = (CMDHigh >> 13) And 1 Dim zcompare As Byte = (CMDHigh >> 4) And 1 Dim zupdate As Byte = (CMDHigh >> 5) And 1 Select Case 32 - ((CMDLow >> 8) And &HFF) - (CMDLow And &HFF) - 1 Case 0 'alphacompare MsgBox("alphacompare") Case 2 'zsrcsel MsgBox("zsrcsel") Case 3 'rendermode If zmode = 3 Then Gl.glEnable(Gl.GL_POLYGON_OFFSET_FILL) Gl.glPolygonOffset(-3, -3) Else Gl.glDisable(Gl.GL_POLYGON_OFFSET_FILL) End If If forceblend = 1 Then Gl.glEnable(Gl.GL_BLEND) Else Gl.glDisable(Gl.GL_BLEND) End If If cvgXalpha = 1 Then Gl.glAlphaFunc(Gl.GL_GREATER, 0.0F) Gl.glEnable(Gl.GL_ALPHA_TEST) Exit Sub Else Gl.glDisable(Gl.GL_ALPHA_TEST) End If If zcompare = 1 Then Gl.glDepthFunc(Gl.GL_LEQUAL) Gl.glEnable(Gl.GL_DEPTH_TEST) Else Gl.glDisable(Gl.GL_DEPTH_TEST) End If Case Else 'blender MsgBox("blender") End Select Dim c1 As UInt32 Dim c2 As UInt32 c1 = CMDHigh >> 16 c2 = (CMDHigh << 16) >> 16 Gl.glBlendFunc(Gl.GL_SRC_ALPHA, Gl.GL_ONE_MINUS_SRC_ALPHA) Gl.glAlphaFunc(Gl.GL_GEQUAL, 0.5F) Select Case c1 Case &HC811, &HC19 Select Case c2 Case &H2078, &H3078 BlendSrcFactor = Gl.GL_ONE BlendDstFactor = Gl.GL_ZERO AlphaFunc = Gl.GL_GREATER AlphaRef = 0.4 End Select Case &H50, &H55 Select Case c2 Case &H4B50 BlendSrcFactor = Gl.GL_SRC_ALPHA BlendDstFactor = Gl.GL_ONE_MINUS_SRC_ALPHA AlphaFunc = Gl.GL_GEQUAL AlphaRef = 0.4 End Select Case &HC18 Select Case c2 Case &H49D8 BlendSrcFactor = Gl.GL_ONE_MINUS_DST_COLOR BlendDstFactor = Gl.GL_DST_ALPHA AlphaFunc = Gl.GL_GEQUAL AlphaRef = 0.1 Case &H4B50 BlendSrcFactor = Gl.GL_SRC_ALPHA BlendDstFactor = Gl.GL_ONE_MINUS_SRC_ALPHA AlphaFunc = Gl.GL_GEQUAL AlphaRef = 0.4 Case &H4F50 BlendSrcFactor = Gl.GL_ONE_MINUS_DST_COLOR BlendDstFactor = Gl.GL_DST_ALPHA AlphaFunc = Gl.GL_GEQUAL AlphaRef = 0.4 Case &H4DD8 BlendSrcFactor = Gl.GL_ONE BlendDstFactor = Gl.GL_ZERO AlphaFunc = Gl.GL_GREATER AlphaRef = 0.3 Gl.glEnable(Gl.GL_BLEND) Gl.glEnable(Gl.GL_ALPHA_TEST) End Select Case &HC818 Select Case c2 Case &H4F50 BlendSrcFactor = Gl.GL_SRC_ALPHA BlendDstFactor = Gl.GL_ONE_MINUS_SRC_ALPHA AlphaFunc = Gl.GL_NOTEQUAL AlphaRef = 0.0 End Select Case &HC810 Select Case c2 Case &H49D8, &H4A50, &H4DD8, &H3478 BlendSrcFactor = Gl.GL_SRC_ALPHA BlendDstFactor = Gl.GL_ONE_MINUS_SRC_ALPHA AlphaFunc = Gl.GL_GREATER AlphaRef = 0.0 Case &H4B50 BlendSrcFactor = Gl.GL_SRC_ALPHA BlendDstFactor = Gl.GL_ONE_MINUS_SRC_ALPHA AlphaFunc = Gl.GL_GEQUAL AlphaRef = 0.4 Case &H4F50 BlendSrcFactor = Gl.GL_ONE_MINUS_DST_COLOR BlendDstFactor = Gl.GL_DST_ALPHA AlphaFunc = Gl.GL_GREATER AlphaRef = 0.5 End Select Case Else End Select Gl.glBlendFunc(BlendSrcFactor, BlendDstFactor) Gl.glAlphaFunc(AlphaFunc, AlphaRef) End Sub Private Sub TRI1() Try TempVx1 = (DLInfo(i).Commands(i1).CMDDword(1)) \ 2 TempVy1 = (DLInfo(i).Commands(i1).CMDDword(2)) \ 2 TempVz1 = (DLInfo(i).Commands(i1).CMDDword(3)) \ 2 If highlight Then Gl.glDisable(Gl.GL_TEXTURE_2D) Gl.glEnable(Gl.GL_POLYGON_OFFSET_LINE) Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) Gl.glColor3f(1, 0, 0) Gl.glBegin(Gl.GL_TRIANGLES) Gl.glVertex3f(Vertices.x(TempVx1), Vertices.y(TempVx1), Vertices.z(TempVx1)) Gl.glVertex3f(Vertices.x(TempVy1), Vertices.y(TempVy1), Vertices.z(TempVy1)) Gl.glVertex3f(Vertices.x(TempVz1), Vertices.y(TempVz1), Vertices.z(TempVz1)) Gl.glEnd() Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) Gl.glDisable(Gl.GL_POLYGON_OFFSET_LINE) Gl.glEnable(Gl.GL_TEXTURE_2D) End If Gl.glColor4fv(PrimColor) If EnableLighting Then Gl.glBegin(Gl.GL_TRIANGLES) Gl.glNormal3f(Vertices.r(TempVx1), Vertices.g(TempVx1), Vertices.b(TempVx1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVx1) * TextureWRatio, Vertices.v(TempVx1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVx1), Vertices.y(TempVx1), Vertices.z(TempVx1)) Gl.glNormal3f(Vertices.r(TempVy1), Vertices.g(TempVy1), Vertices.b(TempVy1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVy1) * TextureWRatio, Vertices.v(TempVy1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVy1), Vertices.y(TempVy1), Vertices.z(TempVy1)) Gl.glNormal3f(Vertices.r(TempVz1), Vertices.g(TempVz1), Vertices.b(TempVz1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVz1) * TextureWRatio, Vertices.v(TempVz1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVz1), Vertices.y(TempVz1), Vertices.z(TempVz1)) Gl.glEnd() Else Gl.glBegin(Gl.GL_TRIANGLES) Gl.glColor4f(Vertices.r(TempVx1), Vertices.g(TempVx1), Vertices.b(TempVx1), Vertices.a(TempVx1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVx1) * TextureWRatio, Vertices.v(TempVx1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVx1), Vertices.y(TempVx1), Vertices.z(TempVx1)) Gl.glColor4f(Vertices.r(TempVy1), Vertices.g(TempVy1), Vertices.b(TempVy1), Vertices.a(TempVy1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVy1) * TextureWRatio, Vertices.v(TempVy1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVy1), Vertices.y(TempVy1), Vertices.z(TempVy1)) Gl.glColor4f(Vertices.r(TempVz1), Vertices.g(TempVz1), Vertices.b(TempVz1), Vertices.a(TempVz1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVz1) * TextureWRatio, Vertices.v(TempVz1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVz1), Vertices.y(TempVz1), Vertices.z(TempVz1)) Gl.glEnd() End If Catch ex As Exception MsgBox("Error TRI1 - out of bounds!" & Environment.NewLine & Environment.NewLine & ex.Message, MsgBoxStyle.Critical, "Error") End Try End Sub Private Sub TRI2() Try TempVx1 = DLInfo(i).Commands(i1).CMDDword(1) \ 2 TempVy1 = DLInfo(i).Commands(i1).CMDDword(2) \ 2 TempVz1 = DLInfo(i).Commands(i1).CMDDword(3) \ 2 TempVr1 = DLInfo(i).Commands(i1).CMDDword(5) \ 2 TempVg2 = DLInfo(i).Commands(i1).CMDDword(6) \ 2 TempVa3 = DLInfo(i).Commands(i1).CMDDword(7) \ 2 If highlight Then Gl.glDisable(Gl.GL_TEXTURE_2D) Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) Gl.glEnable(Gl.GL_POLYGON_OFFSET_LINE) Gl.glColor3f(1, 0, 0) Gl.glBegin(Gl.GL_TRIANGLES) Gl.glVertex3f(Vertices.x(TempVx1), Vertices.y(TempVx1), Vertices.z(TempVx1)) Gl.glVertex3f(Vertices.x(TempVy1), Vertices.y(TempVy1), Vertices.z(TempVy1)) Gl.glVertex3f(Vertices.x(TempVz1), Vertices.y(TempVz1), Vertices.z(TempVz1)) Gl.glVertex3f(Vertices.x(TempVr1), Vertices.y(TempVr1), Vertices.z(TempVr1)) Gl.glVertex3f(Vertices.x(TempVg2), Vertices.y(TempVg2), Vertices.z(TempVg2)) Gl.glVertex3f(Vertices.x(TempVa3), Vertices.y(TempVa3), Vertices.z(TempVa3)) Gl.glEnd() Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) Gl.glDisable(Gl.GL_POLYGON_OFFSET_LINE) Gl.glEnable(Gl.GL_TEXTURE_2D) End If Gl.glColor4fv(PrimColor) If EnableLighting Then Gl.glBegin(Gl.GL_TRIANGLES) Gl.glNormal3f(Vertices.r(TempVx1), Vertices.g(TempVx1), Vertices.b(TempVx1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVx1) * TextureWRatio, Vertices.v(TempVx1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVx1) * TextureWRatio, Vertices.v(TempVx1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVx1), Vertices.y(TempVx1), Vertices.z(TempVx1)) Gl.glNormal3f(Vertices.r(TempVy1), Vertices.g(TempVy1), Vertices.b(TempVy1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVy1) * TextureWRatio, Vertices.v(TempVy1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVy1) * TextureWRatio, Vertices.v(TempVy1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVy1), Vertices.y(TempVy1), Vertices.z(TempVy1)) Gl.glNormal3f(Vertices.r(TempVz1), Vertices.g(TempVz1), Vertices.b(TempVz1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVz1) * TextureWRatio, Vertices.v(TempVz1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVz1) * TextureWRatio, Vertices.v(TempVz1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVz1), Vertices.y(TempVz1), Vertices.z(TempVz1)) Gl.glNormal3f(Vertices.r(TempVr1), Vertices.g(TempVr1), Vertices.b(TempVr1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVr1) * TextureWRatio, Vertices.v(TempVr1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVr1) * TextureWRatio, Vertices.v(TempVr1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVr1), Vertices.y(TempVr1), Vertices.z(TempVr1)) Gl.glNormal3f(Vertices.r(TempVg2), Vertices.g(TempVg2), Vertices.b(TempVg2)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVg2) * TextureWRatio, Vertices.v(TempVg2) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVg2) * TextureWRatio, Vertices.v(TempVg2) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVg2), Vertices.y(TempVg2), Vertices.z(TempVg2)) Gl.glNormal3f(Vertices.r(TempVa3), Vertices.g(TempVa3), Vertices.b(TempVa3)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVa3) * TextureWRatio, Vertices.v(TempVa3) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVa3) * TextureWRatio, Vertices.v(TempVa3) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVa3), Vertices.y(TempVa3), Vertices.z(TempVa3)) Gl.glEnd() Else Gl.glBegin(Gl.GL_TRIANGLES) Gl.glColor4f(Vertices.r(TempVx1), Vertices.g(TempVx1), Vertices.b(TempVx1), Vertices.a(TempVx1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVx1) * TextureWRatio, Vertices.v(TempVx1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVx1) * TextureWRatio, Vertices.v(TempVx1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVx1), Vertices.y(TempVx1), Vertices.z(TempVx1)) Gl.glColor4f(Vertices.r(TempVy1), Vertices.g(TempVy1), Vertices.b(TempVy1), Vertices.a(TempVy1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVy1) * TextureWRatio, Vertices.v(TempVy1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVy1) * TextureWRatio, Vertices.v(TempVy1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVy1), Vertices.y(TempVy1), Vertices.z(TempVy1)) Gl.glColor4f(Vertices.r(TempVz1), Vertices.g(TempVz1), Vertices.b(TempVz1), Vertices.a(TempVz1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVz1) * TextureWRatio, Vertices.v(TempVz1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVz1) * TextureWRatio, Vertices.v(TempVz1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVz1), Vertices.y(TempVz1), Vertices.z(TempVz1)) Gl.glColor4f(Vertices.r(TempVr1), Vertices.g(TempVr1), Vertices.b(TempVr1), Vertices.a(TempVr1)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVr1) * TextureWRatio, Vertices.v(TempVr1) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVr1) * TextureWRatio, Vertices.v(TempVr1) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVr1), Vertices.y(TempVr1), Vertices.z(TempVr1)) Gl.glColor4f(Vertices.r(TempVg2), Vertices.g(TempVg2), Vertices.b(TempVg2), Vertices.a(TempVg2)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVg2) * TextureWRatio, Vertices.v(TempVg2) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVg2) * TextureWRatio, Vertices.v(TempVg2) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVg2), Vertices.y(TempVg2), Vertices.z(TempVg2)) Gl.glColor4f(Vertices.r(TempVa3), Vertices.g(TempVa3), Vertices.b(TempVa3), Vertices.a(TempVa3)) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE0_ARB, Vertices.u(TempVa3) * TextureWRatio, Vertices.v(TempVa3) * TextureHRatio) Gl.glMultiTexCoord2fARB(Gl.GL_TEXTURE1_ARB, Vertices.u(TempVa3) * TextureWRatio, Vertices.v(TempVa3) * TextureHRatio) Gl.glVertex3f(Vertices.x(TempVa3), Vertices.y(TempVa3), Vertices.z(TempVa3)) Gl.glEnd() End If Catch ex As Exception MsgBox("Error TRI2 - out of bounds!" & Environment.NewLine & Environment.NewLine & ex.Message, MsgBoxStyle.Critical, "Error") End Try End Sub Private Sub SETFOGCOLOR() fogCol(0) = DLInfo(i).Commands(i1).CMDDword(4) \ 255.0F fogCol(1) = DLInfo(i).Commands(i1).CMDDword(5) \ 255.0F fogCol(2) = DLInfo(i).Commands(i1).CMDDword(6) \ 255.0F fogCol(3) = DLInfo(i).Commands(i1).CMDDword(7) \ 255.0F Gl.glFogf(Gl.GL_FOG_START, 0.1) Gl.glFogf(Gl.GL_FOG_END, 0.5) Gl.glFogiv(Gl.GL_FOG_COLOR, fogCol) Gl.glEnable(Gl.GL_FOG) End Sub Private Sub GEOMETRYMODE() Dim packed(6) As Byte For i2 = 0 To 6 packed(i2) = DLInfo(i).Commands(i1).CMDDword(i2 + 1) Next Dim unpack(3) As UInteger For i2 = 0 To 6 For i3 = 0 To 3 unpack(i3) = packed(i2) Mod 2 packed(i2) >>= 1 Next Select Case i2 Case 0 If unpack(0) = 0 Then Gl.glDisable(Gl.GL_FOG) End If If unpack(1) = 0 Then Gl.glDisable(Gl.GL_LIGHTING) Gl.glDisable(Gl.GL_NORMALIZE) EnableLighting = False End If Case 1 If unpack(1) = 0 Then Gl.glDisable(Gl.GL_CULL_FACE) End If If unpack(2) = 0 Then Gl.glDisable(Gl.GL_CULL_FACE) End If Case 2 Case 3 Case 4 If unpack(0) = 1 Then 'Gl.glEnable(Gl.GL_FOG) End If If unpack(1) = 1 Then 'Gl.glEnable(Gl.GL_LIGHTING) 'Gl.glEnable(Gl.GL_NORMALIZE) EnableLighting = True End If Case 5 If unpack(1) = 1 Then 'Gl.glCullFace(Gl.GL_FRONT) 'Gl.glEnable(Gl.GL_CULL_FACE) End If If unpack(2) = 1 Then Gl.glCullFace(Gl.GL_BACK) Gl.glEnable(Gl.GL_CULL_FACE) End If Case 6 End Select Next End Sub Private Sub SETTILE() If DLInfo(i).Commands(i1).CMDDword(1) > 0 Then TexFormat = (CMDLow >> 21) And &H7 TexelSize = (CMDLow >> 19) And &H3 LineSize = (CMDLow >> 9) And &H1FF TMemAddress = (CMDLow) And &H1FF CMT = (CMDHigh >> 18) And &H3 MaskT = (CMDHigh >> 14) And &HF ShiftT = (CMDHigh >> 10) And &HF CMS = (CMDHigh >> 8) And &H3 MaskS = (CMDHigh >> 4) And &HF ShiftS = (CMDHigh) And &HF Select Case TexelSize Case 0 BPP = 4 Case 1 BPP = 8 Case 2 BPP = 16 Case 3 BPP = 32 Case Else MsgBox("UNK TEXELSIZE!") BPP = 0 End Select Select Case TexFormat Case 0 'RGBA ImageFormat = 2 Case 1 'YUV - unused! Case 2 'CI ImageFormat = 3 Case 3 'IA ImageFormat = 1 Case 4 'I ImageFormat = 0 Case Else MsgBox("UNK TEXFORMAT!") ImageFormat = 4 End Select End If End Sub Private Sub LOADTLUT() Dim palbytes As Integer = (((DLInfo(i).Commands(i1).CMDDword(5) * &H10000) + (DLInfo(i).Commands(i1).CMDDword(6) * &H100) + (DLInfo(i).Commands(i1).CMDDword(7)) And &HFFF000) >> 14) * 2 ReDim palette(palbytes + 1) Select Case palbank Case bankno For i2 = 0 To palbytes - 1 palette(i2) = ZFileBuffer(PalOff + i2) Next Case 2 For i2 = 0 To palbytes - 1 palette(i2) = ZSceneBuffer(PalOff + i2) Next End Select Dim rExtract As Byte Dim gExtract As UInt16 Dim bExtract As Byte Dim aExtract As Byte extracted.r.Clear() extracted.g.Clear() extracted.b.Clear() extracted.a.Clear() For iw As Integer = 0 To palbytes Step 2 rExtract = palette(iw) >> 3 gExtract = palette(iw) * 256 Xor palette(iw + 1) gExtract >>= 6 gExtract <<= 11 gExtract >>= 11 bExtract = palette(iw + 1) >> 1 bExtract <<= 3 bExtract >>= 3 aExtract = palette(iw + 1) << 7 aExtract >>= 7 extracted.r.Add(rExtract * 8) extracted.g.Add(gExtract * 8) extracted.b.Add(bExtract * 8) If aExtract And 1 Then extracted.a.Add(255) Else extracted.a.Add(0) Next End Sub Private Sub SETTIMG() NewTexture = True Dim tmpoff As Integer = (CMDHigh << 8) >> 8 Dim tmpbank As Integer = DLInfo(i).Commands(i1).CMDDword(4) If DLInfo(i).Commands(i1 + 1).CMDDword(0) = &HE8 Then PalOff = tmpoff PalBank = tmpbank Else texoff = tmpoff bankuse = tmpbank End If End Sub Private Sub TEXTURESCALE() S_Scale = CMDHigh >> 16 T_Scale = CMDHigh And &HFFFF End Sub Private Sub SETTILESIZE() Dim TileSize_Temp1 As UInt32 = (DLInfo(i).Commands(i1).CMDDword(1) * &H10000) + (DLInfo(i).Commands(i1).CMDDword(2) * &H100) + DLInfo(i).Commands(i1).CMDDword(3) Dim TileSize_Temp2 As UInt32 = (DLInfo(i).Commands(i1).CMDDword(5) * &H10000) + (DLInfo(i).Commands(i1).CMDDword(6) * &H100) + DLInfo(i).Commands(i1).CMDDword(7) Dim ULS As Integer = (TileSize_Temp1 And &HFFF000) >> 14 Dim ULT As Integer = (TileSize_Temp1 And &HFFF) >> 2 Dim LRS As Integer = (TileSize_Temp2 And &HFFF000) >> 14 Dim LRT As Integer = (TileSize_Temp2 And &HFFF) >> 2 TextureW = ((LRS - ULS) + 1) TextureH = ((LRT - ULT) + 1) TextureHRatio = T_Scale / 65536 / 32 / TextureH TextureWRatio = S_Scale / 65536 / 32 / TextureW texbytes = (TextureW * TextureH) * 2 End Sub Private Sub LoadTex() Select Case bankuse Case bankno, 2, 4, 5 'teximg formats: 0 - I, 1 - IA, 2 - RGBA, 3 - CI, 4 - YUV (never used in Zelda) ReDim imagearray(texbytes - 1) Select Case bankuse Case bankno 'Bank 06/03/01, object, map, nintendo_rogo files respectively. IE, not seperate For i2 = 0 To texbytes - 1 imagearray(i2) = ZFileBuffer(texoff + i2) Next Case 4 'Bank 04, "gameplay_keep" gameplaykeep.Position = texoff gameplaykeep.Read(imagearray, 0, texbytes) Case 5 'Bank 05, "gameplay_dangeon_keep" dangenkeep.Position = texoff dangenkeep.Read(imagearray, 0, texbytes) Case 2 'Bank 02, map's scene file For i2 = 0 To texbytes - 1 imagearray(i2) = ZSceneBuffer(texoff + i2) Next End Select ReDim newimagearray((texbytes * 2) - 1) If imageformat < 3 Then 'I (grayscale), IA (grayscale + alpha), RGBA16 (red5, green5, blue5, full alpha/no alpha1 - 5551) If bpp = 16 Then If imageformat = 2 Then Dim rExtract As Byte Dim gExtract As UInt16 Dim bExtract As Byte Dim aExtract As Byte For iw As Integer = 0 To imagearray.Length - 1 Step 2 rExtract = imagearray(iw) >> 3 gExtract = imagearray(iw) * 256 Xor imagearray(iw + 1) gExtract >>= 6 gExtract <<= 11 gExtract >>= 11 bExtract = imagearray(iw + 1) >> 1 bExtract <<= 3 bExtract >>= 3 aExtract = imagearray(iw + 1) << 7 aExtract >>= 7 newimagearray(iw * 2) = rExtract * 8 newimagearray(iw * 2 + 1) = gExtract * 8 newimagearray(iw * 2 + 2) = bExtract * 8 newimagearray(iw * 2 + 3) = aExtract * 255 Next ElseIf imageformat = 1 Then Dim bright As Byte For iw As Integer = 0 To texbytes - 1 Step 2 bright = imagearray(iw) newimagearray(iw * 2) = bright newimagearray(iw * 2 + 1) = bright newimagearray(iw * 2 + 2) = bright newimagearray(iw * 2 + 3) = imagearray(iw + 1) Next End If ElseIf bpp = 8 Then If imageformat = 1 Then Dim bright As Byte = 0 Dim alpha As Byte = 0 For iw As Integer = 0 To (texbytes \ 2) - 1 bright = imagearray(iw) \ 16 alpha = imagearray(iw) * 16 alpha \= 16 newimagearray(iw * 4) = bright * 17 newimagearray(iw * 4 + 1) = bright * 17 newimagearray(iw * 4 + 2) = bright * 17 newimagearray(iw * 4 + 3) = alpha * 17 Next ElseIf imageformat = 0 Then Dim bright As Byte = 0 For iw As Integer = 0 To (texbytes \ 2) - 1 bright = imagearray(iw) \ 16 newimagearray(iw * 4) = bright * 17 newimagearray(iw * 4 + 1) = bright * 17 newimagearray(iw * 4 + 2) = bright * 17 newimagearray(iw * 4 + 3) = PrimColor(3) * 255 Next End If ElseIf bpp = 4 Then Dim bright As Byte = 0 For iw As Integer = 0 To (texbytes \ 4) - 1 bright = imagearray(iw) bright >>= 4 newimagearray(iw * 8) = bright * 17 newimagearray(iw * 8 + 1) = bright * 17 newimagearray(iw * 8 + 2) = bright * 17 newimagearray(iw * 8 + 3) = PrimColor(3) * 255 bright = imagearray(iw) bright <<= 4 bright >>= 4 newimagearray(iw * 8 + 4) = bright * 17 newimagearray(iw * 8 + 5) = bright * 17 newimagearray(iw * 8 + 6) = bright * 17 newimagearray(iw * 8 + 7) = PrimColor(3) * 255 Next Else 'MsgBox(bpp & "-bit " & imageformat) End If Else 'Color indexed, 16bpp color palette with 4/8bpp array of indices If bpp = 4 Then Dim n1 As Byte = 0 Dim n2 As Byte = 0 For i4 As Integer = 0 To (texbytes \ 2) - 1 Step 2 n1 = imagearray(i4) >> 4 n2 = imagearray(i4) << 4 n2 >>= 4 newimagearray(i4 * 4) = CInt(extracted.r(n1)) newimagearray(i4 * 4 + 1) = CInt(extracted.g(n1)) newimagearray(i4 * 4 + 2) = CInt(extracted.b(n1)) newimagearray(i4 * 4 + 3) = CInt(extracted.a(n1)) newimagearray(i4 * 4 + 4) = CInt(extracted.r(n2)) newimagearray(i4 * 4 + 5) = CInt(extracted.g(n2)) newimagearray(i4 * 4 + 6) = CInt(extracted.b(n2)) newimagearray(i4 * 4 + 7) = CInt(extracted.a(n2)) Next ElseIf bpp = 8 Then For i4 As Integer = 0 To (texbytes \ 2) - 1 newimagearray(i4 * 4) = CInt(extracted.r(imagearray(i4))) newimagearray(i4 * 4 + 1) = CInt(extracted.g(imagearray(i4))) newimagearray(i4 * 4 + 2) = CInt(extracted.b(imagearray(i4))) newimagearray(i4 * 4 + 3) = CInt(extracted.a(imagearray(i4))) Next End If End If ReDim imagearray(-1) Select Case imageformat Case 0 imgstr = "I" Case 1 imgstr = "IA" Case 2 imgstr = "RGBA" Case 3 imgstr = "CI" End Select Gl.glBindTexture(Gl.GL_TEXTURE_2D, 0) Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGBA, TextureW, TextureH, 0, Gl.GL_RGBA, Gl.GL_UNSIGNED_BYTE, newimagearray) Select Case CMS Case 2 Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_CLAMP_TO_EDGE) Case 0 Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_REPEAT) Case 1 Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_MIRRORED_REPEAT) Case Else Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_REPEAT) End Select Select Case CMT Case 2 Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_CLAMP_TO_EDGE) Case 0 Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_REPEAT) Case 1 Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_MIRRORED_REPEAT) Case Else Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_REPEAT) End Select If texfilt = 0 Then Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_NEAREST) Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_NEAREST) ElseIf texfilt = 1 Then Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR) Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR) End If If MaxAnisotropy(0) > 1 Then Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAX_ANISOTROPY_EXT, MaxAnisotropy(0)) End If ReDim newimagearray(-1) Gl.glEnable(Gl.GL_TEXTURE_2D) End Select End Sub #End Region Private Sub MainLoop() Try System.Threading.Thread.Sleep(frameskip * 5) Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT Or Gl.GL_COLOR_BUFFER_BIT) Gl.glLoadIdentity() LocalMouse = SimpleOpenGlControl1.PointToClient(Windows.Forms.Cursor.Position) newx = LocalMouse.X newy = LocalMouse.Y xrotd = (xrot / 180) * 3.141592654 yrotd = (yrot / 180) * 3.141592654 'zrotd = (zrot / 180) * 3.141592654 If newx <> oldx Then Dx = (newx - oldx) * toolsens Dx1 = (oldx - newx) * toolsens End If If newy <> oldy Then Dy1 = (newy - oldy) * toolsens Dy = (oldy - newy) * toolsens End If If MouseLeft Then If oldx < newx Then '(MOUSE MOVE RIGHT) If mouse = 0 Then yrot += (newx - oldx) * 0.2 If yrot > 360 Then yrot = 0 End If ElseIf mouse = 1 And (movest = 0 Or movest = 1) Then If door Then For i = 0 To selactorsc.Count - 1 i1 = selactorsc(i) doorx(i1) += Cos(yrotd) * Dx doorz(i1) += Sin(yrotd) * Dx Next ElseIf link Then For i = 0 To sellink.Count - 1 linkx(sellink(i)) += Cos(yrotd) * Dx linkz(sellink(i)) += Sin(yrotd) * Dx Next Else For i = 0 To selactor.Count - 1 i1 = selactor(i) actorx(i1) += Cos(yrotd) * Dx actorz(i1) += Sin(yrotd) * Dx Next End If UpdateActorPos() ElseIf mouse = 2 And (movest = 0 Or movest = 1) Then If renderobj And selmesh.Count > 0 Then For i2 = 0 To selmesh.Count - 1 'Vertices(selmesh(i2)).x(selvert(i2)) += Cos(yrotd) * Dx 'Vertices(selmesh(i2)).z(selvert(i2)) += Sin(yrotd) * Dx Next End If If rendersc Then For i2 = 0 To selvertc.Count - 1 CollisionVerts.x(selvertc(i2)) += Cos(yrotd) * Dx CollisionVerts.z(selvertc(i2)) += Sin(yrotd) * Dx Next End If UpdateVertM() End If End If If oldx > newx Then '(MOUSE MOVE LEFT) If mouse = 0 Then yrot -= (oldx - newx) * 0.2 If yrot < -360 Then yrot = 0 End If ElseIf mouse = 1 And (movest = 0 Or movest = 1) Then If door Then For i = 0 To selactorsc.Count - 1 i1 = selactorsc(i) doorx(i1) -= Cos(yrotd) * Dx1 doorz(i1) -= Sin(yrotd) * Dx1 Next ElseIf link Then For i = 0 To sellink.Count - 1 linkx(sellink(i)) -= Cos(yrotd) * Dx1 linkz(sellink(i)) -= Sin(yrotd) * Dx1 Next Else For i = 0 To selactor.Count - 1 i1 = selactor(i) actorx(i1) -= Cos(yrotd) * Dx1 actorz(i1) -= Sin(yrotd) * Dx1 Next End If UpdateActorPos() ElseIf mouse = 2 And (movest = 0 Or movest = 1) Then If renderobj And selmesh.Count > 0 Then For i2 = 0 To selmesh.Count - 1 'Vertices(selmesh(i2)).x(selvert(i2)) -= Cos(yrotd) * Dx1 'Vertices(selmesh(i2)).z(selvert(i2)) -= Sin(yrotd) * Dx1 Next End If If rendersc Then For i2 = 0 To selvertc.Count - 1 CollisionVerts.x(selvertc(i2)) -= Cos(yrotd) * Dx1 CollisionVerts.z(selvertc(i2)) -= Sin(yrotd) * Dx1 Next End If UpdateVertM() End If End If If oldy > newy Then '(MOUSE MOVE UP) If mouse = 0 Then If xrot <= -90 Then xrot = -90 Else xrot -= (oldy - newy) * 0.2 End If ElseIf mouse = 1 And (movest = 0 Or movest = 2) Then If door Then For i = 0 To selactorsc.Count - 1 doory(selactorsc(i)) += Dy Next ElseIf link Then For i = 0 To sellink.Count - 1 linky(sellink(i)) += Dy Next Else For i = 0 To selactor.Count - 1 actory(selactor(i)) += Dy Next End If UpdateActorPos() ElseIf mouse = 2 And (movest = 0 Or movest = 2) Then If renderobj And selmesh.Count > 0 Then For i2 = 0 To selmesh.Count - 1 'Vertices(selmesh(i2)).y(selvert(i2)) += Dy Next End If If rendersc Then For i2 = 0 To selvertc.Count - 1 CollisionVerts.y(selvertc(i2)) += Dy Next End If UpdateVertM() End If End If If oldy < newy Then '(MOUSE MOVE DOWN) If mouse = 0 Then If xrot >= 90 Then xrot = 90 Else xrot += (newy - oldy) * 0.2 End If ElseIf mouse = 1 And (movest = 0 Or movest = 2) Then If door Then For i = 0 To selactorsc.Count - 1 doory(selactorsc(i)) -= Dy1 Next ElseIf link Then For i = 0 To sellink.Count - 1 linky(sellink(i)) -= Dy1 Next Else For i = 0 To selactor.Count - 1 actory(selactor(i)) -= Dy1 Next End If UpdateActorPos() ElseIf mouse = 2 And (movest = 0 Or movest = 2) Then If renderobj And selmesh.Count > 0 Then For i2 = 0 To selmesh.Count - 1 'Vertices(selmesh(i2)).y(selvert(i2)) -= Dy1 Next End If If rendersc Then For i2 = 0 To selvertc.Count - 1 CollisionVerts.y(selvertc(i2)) -= Dy1 Next End If UpdateVertM() End If End If End If If MouseMiddle And MouseRight Then If oldy < newy Then If mouse = 1 Then If Not link Then For i = 0 To selactor.Count - 1 i1 = selactor(i) If actorzrot(i1) + (newy - oldy) * 180 > -32768 Then actorzrot(i1) += (newy - oldy) * 180 Else actorzrot(i1) = -32768 End If Next Else For i = 0 To sellink.Count - 1 If linkzr(sellink(i)) + (newy - oldy) * 180 > -32768 Then linkzr(sellink(i)) += (newy - oldy) * 180 Else linkzr(sellink(i)) = -32768 End If Next End If UpdateActorPos() End If End If If oldy > newy Then If mouse = 1 Then If Not link Then For i = 0 To selactor.Count - 1 i1 = selactor(i) If actorzrot(i1) - (oldy - newy) * 180 < 32767 Then actorzrot(i1) -= (oldy - newy) * 180 Else actorzrot(i1) = 32767 End If Next Else For i = 0 To sellink.Count - 1 If linkzr(sellink(i)) - (oldy - newy) * 180 < 32767 Then linkzr(sellink(i)) -= (oldy - newy) * 180 Else linkzr(sellink(i)) = 32767 End If Next End If UpdateActorPos() End If End If ElseIf MouseRight Then If oldy > newy Then '(MOUSE MOVE UP) If mouse = 1 Then If door Then For i = 0 To selactorsc.Count - 1 i1 = selactorsc(i) doorx(i1) -= Sin(yrotd) * Dy1 doorz(i1) += Cos(yrotd) * Dy1 Next ElseIf link Then For i = 0 To sellink.Count - 1 linkx(sellink(i)) -= Sin(yrotd) * Dy1 linkz(sellink(i)) += Cos(yrotd) * Dy1 Next Else For i = 0 To selactor.Count - 1 i1 = selactor(i) actorx(i1) -= Sin(yrotd) * Dy1 actorz(i1) += Cos(yrotd) * Dy1 Next End If UpdateActorPos() End If End If If oldy < newy Then '(MOUSE MOVE DOWN) If mouse = 1 Then If door Then For i = 0 To selactorsc.Count - 1 i1 = selactorsc(i) doorx(i1) += Sin(yrotd) * Dy doorz(i1) -= Cos(yrotd) * Dy Next ElseIf link Then For i = 0 To sellink.Count - 1 linkx(sellink(i)) += Sin(yrotd) * Dy linkz(sellink(i)) -= Cos(yrotd) * Dy Next Else For i = 0 To selactor.Count - 1 i1 = selactor(i) actorx(i1) += Sin(yrotd) * Dy actorz(i1) -= Cos(yrotd) * Dy Next End If UpdateActorPos() End If End If ElseIf MouseMiddle Then If oldx < newx Then '(MOUSE MOVE RIGHT) If mouse = 1 And (movest = 0 Or movest = 1) Then If Not link Then For i = 0 To selactor.Count - 1 i1 = selactor(i) If actoryrot(i1) - (oldx - newx) * 180 < 32767 Then actoryrot(i1) -= (oldx - newx) * 180 Else actoryrot(i1) = 32767 End If Next Else For i = 0 To sellink.Count - 1 If linkyr(sellink(i)) - (oldx - newx) * 180 < 32767 Then linkyr(sellink(i)) -= (oldx - newx) * 180 Else linkyr(sellink(i)) = 32767 End If Next End If UpdateActorPos() End If End If If oldx > newx Then '(MOUSE MOVE LEFT) If mouse = 1 And (movest = 0 Or movest = 1) Then If Not link Then For i = 0 To selactor.Count - 1 i1 = selactor(i) If actoryrot(i1) + (newx - oldx) * 180 > -32768 Then actoryrot(i1) += (newx - oldx) * 180 Else actoryrot(i1) = -32768 End If Next Else For i = 0 To sellink.Count - 1 If linkyr(sellink(i)) + (newx - oldx) * 180 > -32768 Then linkyr(sellink(i)) += (newx - oldx) * 180 Else linkyr(sellink(i)) = -32768 End If Next End If UpdateActorPos() End If End If If oldy > newy Then '(MOUSE MOVE UP) If mouse = 0 Then finaly += (oldy - newy) * (run / 8) ElseIf mouse = 1 And (movest = 0 Or movest = 2) Then If Not link Then For i = 0 To selactor.Count - 1 i1 = selactor(i) If actorxrot(i1) - (oldy - newy) * 180 > -32768 Then actorxrot(i1) -= (oldy - newy) * 180 Else actorxrot(i1) = -32768 End If Next Else For i = 0 To sellink.Count - 1 If linkxr(sellink(i)) - (oldy - newy) * 180 > -32768 Then linkxr(sellink(i)) -= (oldy - newy) * 180 Else linkxr(sellink(i)) = -32768 End If Next End If UpdateActorPos() ElseIf mouse = 2 Then If renderobj Then For i = 0 To selmesh.Count - 1 'Vertices(selmesh(i)).x(selvert(i)) -= Sin(yrotd) * Dy1 'Vertices(selmesh(i)).z(selvert(i)) += Cos(yrotd) * Dy1 Next End If If rendersc Then For i2 = 0 To selvertc.Count - 1 CollisionVerts.x(selvertc(i2)) -= Sin(yrotd) * Dy1 CollisionVerts.z(selvertc(i2)) += Cos(yrotd) * Dy1 Next End If End If End If If oldy < newy Then '(MOUSE MOVE DOWN) If mouse = 0 Then finaly -= (newy - oldy) * (run / 8) ElseIf mouse = 1 And (movest = 0 Or movest = 2) Then If Not link Then For i = 0 To selactor.Count - 1 i1 = selactor(i) If actorxrot(i1) + (newy - oldy) * 180 > -32768 Then actorxrot(i1) += (newy - oldy) * 180 Else actorxrot(i1) = -32768 End If Next Else For i = 0 To sellink.Count - 1 If linkxr(sellink(i)) + (newy - oldy) * 180 > -32768 Then linkxr(sellink(i)) += (newy - oldy) * 180 Else linkxr(sellink(i)) = -32768 End If Next End If UpdateActorPos() ElseIf mouse = 2 Then If renderobj Then For i = 0 To selmesh.Count - 1 'Vertices(selmesh(i)).x(selvert(i)) += Sin(yrotd) * Dy 'Vertices(selmesh(i)).z(selvert(i)) -= Cos(yrotd) * Dy Next End If If rendersc Then For i2 = 0 To selvertc.Count - 1 CollisionVerts.x(selvertc(i2)) += Sin(yrotd) * Dy CollisionVerts.z(selvertc(i2)) -= Cos(yrotd) * Dy Next End If End If End If End If oldx = oldLocalMouse.X oldy = oldLocalMouse.Y If key_w Then If xrot >= 83 Or xrot <= -83 Then finaly += Sin(xrotd) * run Else finalx -= Sin(yrotd) * run finalz += Cos(yrotd) * run finaly += Sin(xrotd) * run End If End If If key_s Then If xrot >= 83 Or xrot <= -83 Then finaly -= Sin(xrotd) * run Else finalx += Sin(yrotd) * run finalz -= Cos(yrotd) * run finaly -= Sin(xrotd) * run End If End If If key_d Then finalx -= Cos(yrotd) * run finalz -= Sin(yrotd) * run End If If key_a Then finalx += Cos(yrotd) * run finalz += Sin(yrotd) * run End If Gl.glDisable(Gl.GL_TEXTURE_2D) Gl.glDisable(Gl.GL_BLEND) Gl.glDisable(Gl.GL_ALPHA_TEST) Gl.glDisable(Gl.GL_FRAGMENT_PROGRAM_ARB) If FPSCountSTR <> "" Then If CInt(FPSCountSTR) < 30 Then ToolStripStatusLabel5.BackColor = Color.Red Else ToolStripStatusLabel5.BackColor = Color.Green End If End If ToolStripStatusLabel5.Text = FPSCountSTR & " FPS" If osd Then GLPrint2D("X Pos: " & CInt(finalx.ToString), oglleft, ogltop - 25) GLPrint2D("Y Pos: " & CInt(finaly.ToString), oglleft, ogltop - 10) GLPrint2D("Z Pos: " & CInt(finalz.ToString), oglleft, ogltop + 5) GLPrint2D("X Rot: " & CInt(yrot.ToString), oglleft, ogltop + 20) GLPrint2D("Y Rot: " & CInt(xrot.ToString), oglleft, ogltop + 35) If maploaded Then If Not link And Not door And selactor.Count = 1 And comb7 > -1 Then GLPrint2D("Actor (rm): " & ComboBox7.SelectedItem.ToString, oglleft, winh - ogltop - 85) GLPrint2D("X Pos: " & actorx(comb7).ToString, oglleft, winh - ogltop - 50) GLPrint2D("Y Pos: " & actory(comb7).ToString, oglleft, winh - ogltop - 35) GLPrint2D("Z Pos: " & actorz(comb7).ToString, oglleft, winh - ogltop - 20) GLPrint2D("X Rot: " & actorxrot(comb7).ToString, oglleft, winh - ogltop - 5) GLPrint2D("Y Rot: " & actoryrot(comb7).ToString, oglleft, winh - ogltop + 10) GLPrint2D("Z Rot: " & actorzrot(comb7).ToString, oglleft, winh - ogltop + 25) ElseIf door And selactorsc.Count = 1 And comb5 > -1 Then GLPrint2D("Actor (sc): " & ComboBox5.SelectedItem.ToString, oglleft, winh - ogltop - 85) GLPrint2D("X Pos: " & doorx(comb5).ToString, oglleft, winh - ogltop - 50) GLPrint2D("Y Pos: " & doory(comb5).ToString, oglleft, winh - ogltop - 35) GLPrint2D("Z Pos: " & doorz(comb5).ToString, oglleft, winh - ogltop - 20) ElseIf link And sellink.Count = 1 Then GLPrint2D("Actor (sc): " & ComboBox5.SelectedItem.ToString, oglleft, winh - ogltop - 85) GLPrint2D("X Pos: " & linkx(sellink(0)).ToString, oglleft, winh - ogltop - 50) GLPrint2D("Y Pos: " & linky(sellink(0)).ToString, oglleft, winh - ogltop - 35) GLPrint2D("Z Pos: " & linkz(sellink(0)).ToString, oglleft, winh - ogltop - 20) GLPrint2D("X Rot: " & linkxr(sellink(0)).ToString, oglleft, winh - ogltop - 5) GLPrint2D("Y Rot: " & linkyr(sellink(0)).ToString, oglleft, winh - ogltop + 10) GLPrint2D("Z Rot: " & linkzr(sellink(0)).ToString, oglleft, winh - ogltop + 25) End If End If End If Gl.glPushMatrix() Gl.glLoadIdentity() Gl.glRotatef(xrot, 1.0F, 0.0F, 0.0F) Gl.glRotatef(yrot, 0.0F, 1.0F, 0.0F) Gl.glTranslatef(finalx, finaly, finalz) Gl.glColor4f(1, 1, 1, 1) If maploaded Then DrawActorBoxes() If highlight And Not wireframe Then DrawHighlight() Else If Not highlight And rendersc And Not wireframe Then DrawHighlight() If renderobj Then DrawLoaded() 'draws loaded file's parsed graphics If rendersc Then DrawCollision() 'draws loaded scene's collision Gl.glPopMatrix() SimpleOpenGlControl1.SwapBuffers() Catch err As Exception MsgBox("Fatal error! Sorry, unrecoverable; the program will now exit.", MsgBoxStyle.Critical, "Renderer died I think, damned bugs.") GC.Collect() End Me.Dispose() End Try End Sub Private Sub DrawActorBoxes() Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) Gl.glDisable(Gl.GL_POLYGON_OFFSET_FILL) If actorfound > 0 And Not hide0(0) Then For i = 0 To actorx.Count - 1 Gl.glPushMatrix() Gl.glTranslatef(actorx(i), actory(i), actorz(i)) Gl.glRotated(actorxrot(i) \ 180, 1.0F, 0.0F, 0.0F) Gl.glRotated(actoryrot(i) \ 180, 0.0F, 1.0F, 0.0F) Gl.glRotated(actorzrot(i) \ 180, 0.0F, 0.0F, 1.0F) If selmode Then Gl.glColor3ub(tr(i), tg(i), tb(i)) Glut.glutSolidCube(30D) Else Gl.glScalef(13.0F, 13.0F, 13.0F) Gl.glCallList(ActorBox) End If If Not selactor.Contains(i) Then Gl.glColor3f(0, 0, 0) Gl.glLineWidth(2) Else If Not hide0(2) Then Gl.glCallList(AxisGuideDList) End If Gl.glColor3f(0.0F, 0.6F, 0.2F) Gl.glLineWidth(3) End If Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) Glut.glutSolidCube(2.01F) Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) Gl.glLineWidth(1) Gl.glPopMatrix() Next End If If scenedoorcnt > 0 And Not hide0(1) Then For i = 0 To doorx.Count - 1 Gl.glPushMatrix() Gl.glTranslatef(doorx(i), doory(i), doorz(i)) If selmode Then Gl.glColor3ub(tr1(i), tg1(i), tb1(i)) Glut.glutSolidCube(30D) Else Gl.glScalef(13.0F, 13.0F, 13.0F) Gl.glCallList(ActorBox) End If If Not selactorsc.Contains(i) Then Gl.glColor3f(0, 0, 0) Gl.glLineWidth(2) Else If Not hide0(2) Then Gl.glCallList(AxisGuideDList) End If Gl.glColor3f(0.0F, 0.6F, 0.2F) Gl.glLineWidth(3) End If Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) Glut.glutSolidCube(2.01F) Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) Gl.glLineWidth(1) Gl.glPopMatrix() Next End If If Not hide0(3) Then For i = 0 To linkx.Count - 1 Gl.glPushMatrix() Gl.glTranslatef(linkx(i), linky(i), linkz(i)) Gl.glRotated(linkxr(i) \ 180, 1.0F, 0.0F, 0.0F) Gl.glRotated(linkyr(i) \ 180, 0.0F, 1.0F, 0.0F) Gl.glRotated(linkzr(i) \ 180, 0.0F, 0.0F, 1.0F) If selmode Then Gl.glColor3ub(lr(i), lg(i), lb(i)) Glut.glutSolidCube(30D) Else Gl.glScalef(13.0F, 13.0F, 13.0F) Gl.glCallList(ActorBox) End If If Not sellink.Contains(i) Then Gl.glColor3f(0, 0, 0) Gl.glLineWidth(2) Else If Not hide0(2) Then Gl.glCallList(AxisGuideDList) End If Gl.glColor3f(0.0F, 0.6F, 0.2F) Gl.glLineWidth(3) End If Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) Glut.glutSolidCube(2.01F) Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) Gl.glLineWidth(1) Gl.glPopMatrix() Next End If If wireframe Then Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) End If End Sub Private Sub DrawLoaded() If Not selmode Then If vertexsel Then Gl.glDisable(Gl.GL_TEXTURE_2D) Gl.glEnable(Gl.GL_BLEND) Gl.glDisable(Gl.GL_ALPHA_TEST) Gl.glPointSize(10) Gl.glColor4f(1, 1, 1, 0.5) 'Gl.glBegin(Gl.GL_POINTS) 'For i As Integer = 0 To Vertices.Length - 1 ' For i1 = 0 To Vertices(i).x.Count - 1 ' Gl.glVertex3i(Vertices(i).x(i1), Vertices(i).y(i1), Vertices(i).z(i1)) ' Next 'Next 'Gl.glEnd() Gl.glPointSize(12) Gl.glColor3f(0, 0, 0) 'Gl.glBegin(Gl.GL_POINTS) 'For i As Integer = 0 To Vertices.Length - 1 ' For i1 = 0 To Vertices(i).x.Count - 1 ' Gl.glVertex3i(Vertices(i).x(i1), Vertices(i).y(i1), Vertices(i).z(i1)) ' Next 'Next 'Gl.glEnd() If selmesh.Count > 0 Then Gl.glPointSize(17) Gl.glColor3f(1, 0, 0) 'Gl.glBegin(Gl.GL_POINTS) 'For i = 0 To selmesh.Count - 1 ' Gl.glVertex3i(Vertices(selmesh(i)).x(selvert(i)), Vertices(selmesh(i)).y(selvert(i)), Vertices(selmesh(i)).z(selvert(i))) 'Next 'Gl.glEnd() End If End If If refreshdebug Then DebugTree.Nodes.Clear() End If cmdno = 0 If canrun Then For i = 0 To DLInfo.Length - 1 If Not DLInfo(i).skip Then Gl.glDisable(Gl.GL_TEXTURE_2D) Gl.glDisable(Gl.GL_FOG) Gl.glDisable(Gl.GL_CULL_FACE) Gl.glDisable(Gl.GL_LIGHTING) Gl.glDisable(Gl.GL_FRAGMENT_PROGRAM_ARB) Gl.glBindTexture(Gl.GL_TEXTURE_2D, 1) Gl.glDisable(Gl.GL_POLYGON_OFFSET_FILL) NewTexture = False If refreshdebug Then DebugTree.Nodes.Add(" - Display list " & (cmdno + 1).ToString & " -") For i1 = 0 To DLInfo(i).CommandCount - 1 CMDHigh = Convert.ToUInt32(CByte(DLInfo(i).Commands(i1).CMDDword(4)).ToString("X2") & _ CByte(DLInfo(i).Commands(i1).CMDDword(5)).ToString("X2") & _ CByte(DLInfo(i).Commands(i1).CMDDword(6)).ToString("X2") & _ CByte(DLInfo(i).Commands(i1).CMDDword(7)).ToString("X2"), 16) CMDLow = Convert.ToUInt32(CByte(DLInfo(i).Commands(i1).CMDDword(1)).ToString("X2") & _ CByte(DLInfo(i).Commands(i1).CMDDword(2)).ToString("X2") & _ CByte(DLInfo(i).Commands(i1).CMDDword(3)).ToString("X2"), 16) CMDStr = CByte(DLInfo(i).Commands(i1).CMDDword(0)).ToString("X2") If Not DLInfo(i).Commands(i1).SkipCommand Then ParseCurrentCommand() SetCMDStr() If refreshdebug Then DebugTree.Nodes(cmdno).Nodes.Add(cmdtext & " (0x" & CMDStr & ")") Select Case cmdtext Case "G_SETPRIMCOLOR" DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("R: " & PrimColor(0)) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("G: " & PrimColor(1)) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("B: " & PrimColor(2)) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("A: " & PrimColor(3)) Case "G_SETENVCOLOR" DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("R: " & EnvironmentColor(0)) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("G: " & EnvironmentColor(1)) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("B: " & EnvironmentColor(2)) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("A: " & EnvironmentColor(3)) Case "G_SETCOMBINE" DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("cA0: " & cA0) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("cB0: " & cB0) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("cC0: " & cC0) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("cD0: " & cD0) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("aA0: " & aA0) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("aB0: " & aB0) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("aC0: " & aC0) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("aD0: " & aD0) Case "F3DEX2_TRI1" DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri1 - 1: " & DLInfo(i).Commands(i1).CMDDword(1) \ 2) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri1 - 2: " & DLInfo(i).Commands(i1).CMDDword(2) \ 2) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri1 - 3: " & DLInfo(i).Commands(i1).CMDDword(3) \ 2) Case "F3DEX2_TRI2" DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri1 - 1: " & DLInfo(i).Commands(i1).CMDDword(1) \ 2) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri1 - 2: " & DLInfo(i).Commands(i1).CMDDword(2) \ 2) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri1 - 3: " & DLInfo(i).Commands(i1).CMDDword(3) \ 2) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri2 - 1: " & DLInfo(i).Commands(i1).CMDDword(5) \ 2) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri2 - 2: " & DLInfo(i).Commands(i1).CMDDword(6) \ 2) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Tri2 - 3: " & DLInfo(i).Commands(i1).CMDDword(7) \ 2) Case "F3DEX2_VTX" DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Bank: 0x" & Hex(DLInfo(i).Commands(i1).CMDDword(4))) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Offset: 0x" & Hex(oldvtoff)) DebugTree.Nodes(cmdno).Nodes(DebugTree.Nodes(cmdno).Nodes.Count - 1).Nodes.Add("Count: " & DLInfo(i).Commands(i1).CMDDword(3) \ 2) End Select End If Next cmdno += 1 End If Next End If Gl.glDisable(Gl.GL_FRAGMENT_PROGRAM_ARB) If refreshdebug Then refreshdebug = False End If End Sub Sub DrawCollision() Gl.glDisable(Gl.GL_TEXTURE_2D) Gl.glEnable(Gl.GL_BLEND) If Not selmode Then Gl.glPolygonOffset(-6, -6) Gl.glEnable(Gl.GL_POLYGON_OFFSET_FILL) Gl.glBegin(Gl.GL_TRIANGLES) For i = 0 To CollisionPolies.A.Count - 1 cA = CollisionPolies.A(i) cB = CollisionPolies.B(i) cC = CollisionPolies.C(i) Gl.glColor4f(1, ctris(i).g, ctris(i).b, 0.5) Gl.glVertex3i(CollisionVerts.x(cA), CollisionVerts.y(cA), CollisionVerts.z(cA)) Gl.glVertex3i(CollisionVerts.x(cB), CollisionVerts.y(cB), CollisionVerts.z(cB)) Gl.glVertex3i(CollisionVerts.x(cC), CollisionVerts.y(cC), CollisionVerts.z(cC)) Next Gl.glEnd() If vertexsel Then Gl.glPointSize(10) Gl.glColor4f(1, 1, 1, 0.7) Gl.glBegin(Gl.GL_POINTS) For i = 0 To CollisionVerts.x.Count - 1 Gl.glVertex3i(CollisionVerts.x(i), CollisionVerts.y(i), CollisionVerts.z(i)) Next Gl.glEnd() Gl.glPointSize(12) Gl.glColor3f(0, 0, 0) Gl.glBegin(Gl.GL_POINTS) For i = 0 To CollisionVerts.x.Count - 1 Gl.glVertex3i(CollisionVerts.x(i), CollisionVerts.y(i), CollisionVerts.z(i)) Next Gl.glEnd() If selvertc.Count > 0 Then Gl.glPointSize(17) Gl.glColor3f(1, 0, 0) Gl.glBegin(Gl.GL_POINTS) For i = 0 To selvertc.Count - 1 Gl.glVertex3i(CollisionVerts.x(selvertc(i)), CollisionVerts.y(selvertc(i)), CollisionVerts.z(selvertc(i))) Next Gl.glEnd() End If End If Else If trisel Then Gl.glPolygonOffset(-9, -9) Gl.glEnable(Gl.GL_POLYGON_OFFSET_FILL) Gl.glBegin(Gl.GL_TRIANGLES) For i = 0 To CollisionPolies.A.Count - 1 cA = CollisionPolies.A(i) cB = CollisionPolies.B(i) cC = CollisionPolies.C(i) Gl.glColor3ub(CollisionPolies.tr5(i), CollisionPolies.tg5(i), CollisionPolies.tb5(i)) Gl.glVertex3i(CollisionVerts.x(cA), CollisionVerts.y(cA), CollisionVerts.z(cA)) Gl.glVertex3i(CollisionVerts.x(cB), CollisionVerts.y(cB), CollisionVerts.z(cB)) Gl.glVertex3i(CollisionVerts.x(cC), CollisionVerts.y(cC), CollisionVerts.z(cC)) Next Gl.glEnd() Gl.glDisable(Gl.GL_POLYGON_OFFSET_FILL) ElseIf vertexsel Then Gl.glDisable(Gl.GL_BLEND) Gl.glPointSize(23) Gl.glPolygonOffset(-1, -1) Gl.glEnable(Gl.GL_POLYGON_OFFSET_POINT) Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_POINT) Gl.glBegin(Gl.GL_TRIANGLES) For i = 0 To CollisionVerts.x.Count - 1 Gl.glColor3ub(CollisionVerts.tr3(i), CollisionVerts.tg3(i), CollisionVerts.tb3(i)) Gl.glVertex3i(CollisionVerts.x(i), CollisionVerts.y(i), CollisionVerts.z(i)) Next Gl.glEnd() Gl.glDisable(Gl.GL_POLYGON_OFFSET_POINT) Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) End If End If Gl.glDisable(Gl.GL_BLEND) End Sub Sub DrawHighlight() Gl.glPolygonOffset(-1.0, -1.0) Gl.glEnable(Gl.GL_POLYGON_OFFSET_LINE) If Not wireframe Then Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) End If 'If renderobj And highlight And Not wireframe Then ' Gl.glBegin(Gl.GL_TRIANGLES) ' Gl.glColor3f(1, 0, 0) ' For i = 0 To Polygons.Length - 1 ' For i1 = 0 To Polygons(i).A.Count - 1 ' A = Polygons(i).A(i1) ' B = Polygons(i).B(i1) ' C = Polygons(i).C(i1) ' 'Gl.glVertex3i(Vertices(i).x(A), Vertices(i).y(A), Vertices(i).z(A)) ' 'Gl.glVertex3i(Vertices(i).x(B), Vertices(i).y(B), Vertices(i).z(B)) ' 'Gl.glVertex3i(Vertices(i).x(C), Vertices(i).y(C), Vertices(i).z(C)) ' Next ' Next ' Gl.glEnd() 'End If Gl.glPolygonOffset(-7.0, -7.0) If rendersc And Not wireframe Then Gl.glBegin(Gl.GL_TRIANGLES) Gl.glColor3f(0, 0, 0) For i = 0 To CollisionPolies.A.Count - 1 cA = CollisionPolies.A(i) cB = CollisionPolies.B(i) cC = CollisionPolies.C(i) Gl.glVertex3i(CollisionVerts.x(cA), CollisionVerts.y(cA), CollisionVerts.z(cA)) Gl.glVertex3i(CollisionVerts.x(cB), CollisionVerts.y(cB), CollisionVerts.z(cB)) Gl.glVertex3i(CollisionVerts.x(cC), CollisionVerts.y(cC), CollisionVerts.z(cC)) Next Gl.glEnd() End If Gl.glDisable(Gl.GL_POLYGON_OFFSET_LINE) If Not wireframe Then Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) End If End Sub Sub UpdateVertM() 'TextBox21.Enabled = True 'TextBox22.Enabled = True 'If renderobj And selvert.Count = 1 Then ' TextBox1.Text = CInt(Vertices(selmesh(0)).x(selvert(0))) ' If Mid(TextBox1.Text, 1, 1) = "-" Then ' Button12.Text = "+" ' Else ' Button12.Text = "-" ' End If ' TextBox2.Text = CInt(Vertices(selmesh(0)).y(selvert(0))) ' If Mid(TextBox2.Text, 1, 1) = "-" Then ' Button14.Text = "+" ' Else ' Button14.Text = "-" ' End If ' TextBox3.Text = CInt(Vertices(selmesh(0)).z(selvert(0))) ' If Mid(TextBox3.Text, 1, 1) = "-" Then ' Button13.Text = "+" ' Else ' Button13.Text = "-" ' End If ' TextBox22.Text = CInt(Vertices(selmesh(0)).u(selvert(0))) ' If Mid(TextBox22.Text, 1, 1) = "-" Then ' Button29.Text = "+" ' Else ' Button29.Text = "-" ' End If ' TextBox21.Text = CInt(Vertices(selmesh(0)).v(selvert(0))) ' If Mid(TextBox21.Text, 1, 1) = "-" Then ' Button28.Text = "+" ' Else ' Button28.Text = "-" ' End If ' Dim vcolor As String = "#" & zerofill2(Hex(CInt(Vertices(selmesh(0)).r(selvert(0))))) & zerofill2(Hex(CInt(Vertices(selmesh(0)).g(selvert(0))))) & zerofill2(Hex(CInt(Vertices(selmesh(0)).b(selvert(0))))) ' Button10.BackColor = ColorTranslator.FromHtml(vcolor) 'Else ' TextBox1.Text = "" ' TextBox2.Text = "" ' TextBox3.Text = "" ' TextBox22.Text = "" ' TextBox21.Text = "" 'End If 'If rendersc And selvertc.Count = 1 Then ' TextBox1.Text = CInt(CollisionVerts.x(selvertc(0))) ' If Mid(TextBox1.Text, 1, 1) = "-" Then ' Button12.Text = "+" ' Else ' Button12.Text = "-" ' End If ' TextBox2.Text = CInt(CollisionVerts.y(selvertc(0))) ' If Mid(TextBox2.Text, 1, 1) = "-" Then ' Button14.Text = "+" ' Else ' Button14.Text = "-" ' End If ' TextBox3.Text = CInt(CollisionVerts.z(selvertc(0))) ' If Mid(TextBox3.Text, 1, 1) = "-" Then ' Button13.Text = "+" ' Else ' Button13.Text = "-" ' End If ' TextBox22.Enabled = False ' TextBox21.Enabled = False 'End If 'changevert(0) = False 'changevert(1) = False 'changevert(2) = False 'changevert(3) = False 'changevert(4) = False End Sub Sub FixCollision() cfix.Start() cfix.WaitForExit() File.Delete(Application.StartupPath & "\ext\collision_fixer.ini") File.Delete(Application.StartupPath & "\ext\romname.ini") End Sub Private Sub SimpleOpenGlControl1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles SimpleOpenGlControl1.KeyDown Select Case e.KeyCode Case Keys.E CameraSensitivity(True) Case Keys.Q CameraSensitivity(False) Case Keys.ControlKey If Not key_ctrl Then key_ctrl = True End If Case Keys.F If vertexsel And vtmode = 1 Then If Button37.Text = "Please select a vertex" Then DisableWeld() Else If selmesh.Count = 1 Or selvertc.Count = 1 Then EnableWeld() End If End If End If Case Keys.I btnno = 1 Timer1.Start() Case Keys.K btnno = 2 Timer1.Start() Case Keys.J btnno = 0 Timer1.Start() Case Keys.L btnno = 3 Timer1.Start() Case Keys.U btnno = 4 Timer1.Start() Case Keys.O btnno = 5 Timer1.Start() Case Keys.F2 If texfilt = 0 Then texfilt = 1 Else texfilt = 0 End If Case Keys.F5 If osd Then osd = False Else osd = True End If Case Keys.F6 If osdshadow Then osdshadow = False Else osdshadow = True End If Case Keys.Q If Not key_q Then key_q = True Case Keys.E If Not key_e Then key_e = True Case Keys.W If Not key_w Then key_w = True Case Keys.D If Not key_d Then key_d = True Case Keys.S If Not key_s Then key_s = True Case Keys.A If Not key_a Then key_a = True Case Keys.V ResetVerts(0) Case Keys.F1 ToggleWire() Case Keys.T btnno = 6 Timer1.Start() Case Keys.Y btnno = 7 Timer1.Start() Case Keys.G btnno = 8 Timer1.Start() Case Keys.H btnno = 9 Timer1.Start() Case Keys.B If maploaded Then ResetSelActor() End If Case Keys.R If key_ctrl Then If renderobj And Not rendersc Then renderobj = False rendersc = True ViewingMeshToolStripMenuItem1.Checked = False CollisionMeshToolStripMenuItem.Checked = True timerstr = "Collision True, Graphics False" ElseIf renderobj And rendersc Then renderobj = True rendersc = False ViewingMeshToolStripMenuItem1.Checked = True CollisionMeshToolStripMenuItem.Checked = False timerstr = "Collision False, Graphics True" Else renderobj = True rendersc = True ViewingMeshToolStripMenuItem1.Checked = True CollisionMeshToolStripMenuItem.Checked = True timerstr = "Graphics and Collision True" End If Else ResetView() End If Case Keys.U key_u = True Case Keys.F3 If highlight Then highlight = False Else highlight = True End If Case Keys.Alt key_alt = True Case Keys.D1 meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Camera only" actorsel = False vertexsel = False trisel = False VertexSelectorToolStripMenuItem.Checked = False ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False Case Keys.D2 If maploaded Then meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr actorsel = True vertexsel = False trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = False ActorSelectorToolStripMenuItem.Checked = True TriangleEditorToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False End If Case Keys.D3 CheckBox16.Enabled = True CheckBox17.Enabled = True CheckBox18.Enabled = True CheckBox19.Enabled = True Button37.Enabled = True Label44.Enabled = True ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (single)" actorsel = False vertexsel = True trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = True PerMeshToolStripMenuItem.Checked = False Case Keys.D4 vertw = -1 meshw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (mesh)" actorsel = False vertexsel = True trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = True Case Keys.D5 vertw = -1 meshw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (all)" actorsel = False vertexsel = True trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = True SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False Case Keys.D6 meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Collision triangle editor" actorsel = False vertexsel = False trisel = True VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = False ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = True AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False Case Keys.D8 axestr = "(X + Y)" If actorsel = True Then ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr ElseIf vertexsel = True Then ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr End If movest = 0 ToolStripMenuItem7.Checked = True ToolStripMenuItem8.Checked = False ToolStripMenuItem6.Checked = False Case Keys.D9 axestr = "(X)" If actorsel = True Then ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr ElseIf vertexsel = True Then ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr End If movest = 1 ToolStripMenuItem7.Checked = False ToolStripMenuItem8.Checked = True ToolStripMenuItem6.Checked = False Case Keys.D0 axestr = "(Y)" If actorsel = True Then ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr ElseIf vertexsel = True Then ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr End If movest = 2 ToolStripMenuItem7.Checked = False ToolStripMenuItem8.Checked = False ToolStripMenuItem6.Checked = True Case Keys.P If key_ctrl And maploaded Then ActorPresets.Show() ActorPresets.Focus() key_ctrl = False End If End Select End Sub Sub ToggleWire() If Not wireframe Then wireframe = True Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) ToolStripButton12.Image = My.Resources.Clipboard01 ToolStripButton12.Text = "Wire" Else wireframe = False Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) ToolStripButton12.Image = My.Resources.Clipboard022 ToolStripButton12.Text = "Filled" End If End Sub Sub ResetMesh() 'If Vertices.Length > 0 Then ' key_ctrl = False ' VertResetPrefs.ShowDialog() ' If resetbools(0) Or resetbools(1) Or resetbools(2) Or resetbools(3) Or resetbools(4) Or resetbools(5) Then ' For i1 = 0 To Vertices.Length - 1 ' For i = 0 To Vertices(i1).x.Count - 1 ' If resetbools(0) Then Vertices(i1).x(i) = Vertices(i1).ox(i) ' If resetbools(1) Then Vertices(i1).y(i) = Vertices(i1).oy(i) ' If resetbools(2) Then Vertices(i1).z(i) = Vertices(i1).oz(i) ' If resetbools(3) Then Vertices(i1).u(i) = Vertices(i1).ou(i) ' If resetbools(4) Then Vertices(i1).v(i) = Vertices(i1).ov(i) ' Next ' Next ' End If 'End If End Sub Sub ResetCollision() If CollisionVerts.x.Count > 0 Then key_ctrl = False VertResetPrefs.Text = "Reset all collision" VertResetPrefs.CheckBox4.Enabled = False VertResetPrefs.CheckBox5.Enabled = False VertResetPrefs.CheckBox6.Enabled = False VertResetPrefs.CheckBox4.Checked = False VertResetPrefs.CheckBox5.Checked = False VertResetPrefs.CheckBox6.Checked = False VertResetPrefs.ShowDialog() For i = 0 To CollisionVerts.x.Count - 1 If resetbools(0) Then CollisionVerts.x(i) = CollisionVerts.ox(i) If resetbools(1) Then CollisionVerts.y(i) = CollisionVerts.oy(i) If resetbools(2) Then CollisionVerts.z(i) = CollisionVerts.oz(i) Next End If End Sub Sub BuildAxis() AxisGuideDList = Gl.glGenLists(1) Gl.glNewList(AxisGuideDList, Gl.GL_COMPILE) Gl.glBegin(Gl.GL_LINES) Gl.glColor3f(0, 0, 1) Gl.glVertex3f(420, 0.1, 0.1) Gl.glVertex3f(-420, 0.1, 0.1) Gl.glEnd() Gl.glBegin(Gl.GL_LINES) Gl.glColor3f(1, 0, 0) Gl.glVertex3f(0.1, 420, 0.1) Gl.glVertex3f(0.1, -420, 0.1) Gl.glEnd() Gl.glBegin(Gl.GL_LINES) Gl.glColor3f(0, 1, 0) Gl.glVertex3f(0.1, 0.1, 420) Gl.glVertex3f(0.1, 0.1, -420) Gl.glVertex3f(0.1, 0.1, 420) Gl.glEnd() Gl.glEndList() Gl.glLineWidth(1) ActorBox = Gl.glGenLists(1) Gl.glNewList(ActorBox, Gl.GL_COMPILE) Gl.glBegin(Gl.GL_QUADS) 'top Gl.glColor3f(1, 1, 1) Gl.glVertex3f(1.0F, 1.0F, -1.0F) Gl.glVertex3f(-1.0F, 1.0F, -1.0F) Gl.glVertex3f(-1.0F, 1.0F, 1.0F) Gl.glVertex3f(1.0F, 1.0F, 1.0F) 'bottom Gl.glColor3f(0, 0, 0) Gl.glVertex3f(1.0F, -1.0F, 1.0F) Gl.glVertex3f(-1.0F, -1.0F, 1.0F) Gl.glVertex3f(-1.0F, -1.0F, -1.0F) Gl.glVertex3f(1.0F, -1.0F, -1.0F) 'front Gl.glColor3f(1, 0, 0) Gl.glVertex3f(1.0F, 1.0F, 1.0F) Gl.glVertex3f(-1.0F, 1.0F, 1.0F) Gl.glVertex3f(-1.0F, -1.0F, 1.0F) Gl.glVertex3f(1.0F, -1.0F, 1.0F) 'back Gl.glColor3f(0, 1, 0) Gl.glVertex3f(1.0F, -1.0F, -1.0F) Gl.glVertex3f(-1.0F, -1.0F, -1.0F) Gl.glVertex3f(-1.0F, 1.0F, -1.0F) Gl.glVertex3f(1.0F, 1.0F, -1.0F) 'left Gl.glColor3f(1, 1, 0) Gl.glVertex3f(-1.0F, 1.0F, 1.0F) Gl.glVertex3f(-1.0F, 1.0F, -1.0F) Gl.glVertex3f(-1.0F, -1.0F, -1.0F) Gl.glVertex3f(-1.0F, -1.0F, 1.0F) 'right Gl.glColor3f(0, 0, 1) Gl.glVertex3f(1.0F, 1.0F, -1.0F) Gl.glVertex3f(1.0F, 1.0F, 1.0F) Gl.glVertex3f(1.0F, -1.0F, 1.0F) Gl.glVertex3f(1.0F, -1.0F, -1.0F) Gl.glEnd() Gl.glEndList() End Sub Private Sub QuitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click, QuitToolStripMenuItem.Click Me.Close() End Sub Private Sub LoadZOBJToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click, OpenModelToolStripMenuItem.Click LoadROM.ShowDialog() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try extracted.r = New ArrayList extracted.g = New ArrayList extracted.b = New ArrayList extracted.a = New ArrayList ReDim DLInfo(-1) With CollisionPolies .A = New ArrayList .B = New ArrayList .C = New ArrayList .tr5 = New ArrayList .tg5 = New ArrayList .tb5 = New ArrayList End With With CollisionVerts .x = New ArrayList .y = New ArrayList .z = New ArrayList .ox = New ArrayList .oy = New ArrayList .oz = New ArrayList .tb3 = New ArrayList .tg3 = New ArrayList .tr3 = New ArrayList End With For i = 0 To 2 weldpos(i) = True Next If Gl.glGetString(Gl.GL_EXTENSIONS).Contains("GL_EXT_texture_filter_anisotropic") Then Gl.glGetFloatv(Gl.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, MaxAnisotropy) End If weldautooff = True su = Application.StartupPath If Not File.Exists(su & "/uot.ini") Then File.Create(su & "/uot.ini") End If Dim objfile As New StreamReader(su & "\ext\objlist.txt") Dim curline As String = "" While objfile.Peek <> -1 curline = objfile.ReadLine objects.Add(Mid(curline, 1, 4)) objectss.Add(Mid(curline, 28)) End While objfile.Dispose() ClearArrayLists() Il.ilInit() BuildAxis() Dim colpres As StreamReader = New StreamReader(su & "\ext\CollisionPresets.txt") Dim endpos As Integer = 0 Dim no As Integer = 0 While colpres.Peek <> -1 curline = colpres.ReadLine If Mid(curline, 1, 1) = "!" Then no = CInt(Mid(curline, curline.IndexOf("[") + 2, 1)) FlagsToolStripMenuItem.DropDownItems.Add(Mid(curline, 2)) curline = colpres.ReadLine presets.Add(curline) presetind.Add(no) End If End While colpres.Dispose() With cfix.StartInfo .UseShellExecute = True .CreateNoWindow = True .WindowStyle = ProcessWindowStyle.Hidden .FileName = su & "\ext\collision_fixer.exe" .WorkingDirectory = su & "\ext" End With With crc.StartInfo .UseShellExecute = True .CreateNoWindow = True .WindowStyle = ProcessWindowStyle.Hidden .FileName = Application.StartupPath & "\ext\rn64crc.exe" End With Dim acpres As StreamReader = New StreamReader(Application.StartupPath & "\ext\actor_db.txt") While acpres.Peek <> -1 curline = acpres.ReadLine If curline <> "" And Not adescbuff.Contains(Mid(curline, 16)) Then agrbuff.Add(Mid(curline, 6, 4)) anobuff.Add(Mid(curline, 1, 4)) avarbuff.Add(Mid(curline, 11, 4)) adescbuff.Add(Mid(curline, 16)) End If End While acpres.Dispose() Dim config As String = "" Dim texupt As String = iniwrite.GetString("Settings", "TextureBPP", Nothing) Dim winw As String = iniwrite.GetString("Settings", "WinResW", Nothing) Dim osdt As String = iniwrite.GetString("Settings", "OSD", Nothing) Dim winh As String = iniwrite.GetString("Settings", "WinResH", Nothing) Dim toolst As String = iniwrite.GetString("Settings", "ToolSensitivity", Nothing) Dim camst As String = iniwrite.GetString("Settings", "CameraSpeed", Nothing) Dim dumpt As String = iniwrite.GetString("Settings", "DumpTextures", Nothing) Dim texfiltt As String = iniwrite.GetString("Settings", "TextureFiltering", Nothing) Dim osdst As String = iniwrite.GetString("Settings", "OSDShadow", Nothing) If osdst = "True" Then osdshadow = True Else osdshadow = False End If If texfiltt <> "" And (texfiltt = "0" Or texfiltt = "1") Then texfilt = CInt(texfiltt) Else texfilt = 1 End If If dumpt = "True" Then Dim dumpdt As String = iniwrite.GetString("Settings", "DumpDirectory", Nothing) If Directory.Exists(dumpdt) Then dump = True dumpdir = dumpdt & "\" Else dump = False dumpdir = "" End If Else dump = False End If defrom = iniwrite.GetString("Settings", "DefaultROM", Nothing) If File.Exists(defrom) Then LoadROM.FileName = defrom canrun = False If filebuff IsNot Nothing Then filebuff.Dispose() End If ToolStripButton3.Enabled = True LoadFile() End If If toolst <= 15 And toolst >= 1 And toolst <> "" Then TrackBar4.Value = CInt(toolst) toolsens = CSng(toolst) - 0.5 Else TrackBar4.Value = 2 toolsens = 1.5 End If If camst <= 40 And camst >= 1 And camst <> "" Then TrackBar1.Value = CInt(camst) run = CInt(camst) Else TrackBar1.Value = 20 run = 20 End If If winw <> "" And winh <> "" Then Me.Size = New Size(winw, winh) End If config = iniwrite.GetString("Settings", "Configured", Nothing) dumpto = iniwrite.GetString("Settings", "DumpDirectory", Nothing) Dim dumpenable As String = iniwrite.GetString("Settings", "DumpTextures", Nothing) Dim frameskipt As String = iniwrite.GetString("Settings", "RenderDelay", Nothing) Dim toolt As String = iniwrite.GetString("Settings", "ToolSensitivity", Nothing) Dim hight As String = iniwrite.GetString("Settings", "WireframeHighlight", Nothing) If hight = "True" Then highlight = True Else highlight = False End If pjdir = iniwrite.GetString("Settings", "PJDir", Nothing) If osdt = "" Or osdt = "False" Then osd = False ElseIf osdt = "True" Then osd = True End If If frameskipt = "" Then frameskip = 0 Else frameskip = CInt(frameskipt) End If winw = "" winh = "" dumpenable = "" If config <> "True" Then SetupDialog.Cancel_Button.Enabled = False SetupDialog.ShowDialog() SetupDialog.Text = "Utility of Time First Time Setup" SetupDialog.Focus() SetupDialog.ComboBox1.SelectedIndex = 3 Else SetupDialog.Cancel_Button.Enabled = True End If gameplaykeep = New FileStream(Application.StartupPath & "/ext/renderer.zav", FileMode.Open) dangenkeep = New FileStream(Application.StartupPath & "/ext/renderer1.zav", FileMode.Open) fieldkeep = New FileStream(Application.StartupPath & "/ext/renderer3.zav", FileMode.Open) args = Environment.GetCommandLineArgs() If args.Length = 2 Then LoadROM.FileName = args(1) Start() End If ReDim args(-1) Me.Show() Me.Focus() GC.Collect() Initialize() Catch err As Exception End Try End Sub Private Sub ResetView() ' Reset to default view rendersc = False xrot = 0.0 yrot = 0.0 zrot = 0.0 finalx = 0.0 finaly = 0.0 finalz = 0.0 If LoadROM.FileName.Contains("gi_") Then finalz = -300 Else finalz = -1400 End If End Sub Private Sub StoreDisplayLists() End Sub Public Sub RipAndProcessDLists() Try Dim filename1 As String = GetFileName(LoadROM.FileName) If dump Then Directory.CreateDirectory(dumpdir) Else Directory.CreateDirectory("C:/TexCache/") End If Dim cmd(7) As Byte Dim start As Integer = 0 For i = 0 To DLInfo.Length - 1 start = DLInfo(i).startpos ReDim Preserve DLInfo(i).Commands(DLInfo(i).CommandCount - 1) For i1 = 0 To DLInfo(i).CommandCount - 1 ReDim DLInfo(i).Commands(i1).CMDDword(7) DLInfo(i).Commands(i1).SkipCommand = False For i2 = 0 To 7 DLInfo(i).Commands(i1).CMDDword(i2) = (ZFileBuffer(start + i2)) Next start += 8 Next Next i = 0 canrun = True Catch err As Exception MsgBox("An error has occured in storing display lists: " & err.Message) Exit Sub End Try End Sub Private Sub GetCollision() Try Dim ptloopt(2) As Integer Dim loopamtt(1) As Integer Dim loopamt As Integer = 0 Dim colvart(2) As Integer Dim gobackto As Integer = 0 Dim fgoto As Integer = 0 Dim returnto1 As Integer = 0 Dim colx2 As Integer = 0 Dim headercmd(1) As Integer ComboBox8.Items.Clear() colxsave.Clear() With CollisionPolies .A.Clear() .B.Clear() .C.Clear() .tr5.Clear() .tg5.Clear() .tb5.Clear() End With With CollisionVerts .x.Clear() .y.Clear() .z.Clear() .ox.Clear() .oy.Clear() .oz.Clear() .tb3.Clear() .tg3.Clear() .tr3.Clear() End With colvar.Clear() colvaroff.Clear() exits.Clear() Dim tb As String = "" Dim ta As String = "" ReDim ctris(0) If maploaded Then ComboBox8.Items.Add("Exit Selection") ComboBox8.Enabled = True TextBox16.Enabled = True scene.Position = 0 Else filebuff.Position = 0 ComboBox8.Items.Add("N/A") TextBox16.Enabled = False ComboBox8.Enabled = False End If ComboBox8.SelectedIndex = 0 Dim r1 As Integer = 0 If maploaded Then While scene.Position < scene.Length - 10 headercmd(0) = scene.ReadByte scene.Position += 1 Select Case headercmd(0) Case 20 Exit While Case 19 scene.Position += 3 Dim pos As Integer = Convert.ToUInt32(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) scene.Position += 5 Dim loopcnt1 As Integer = ((Convert.ToUInt32(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) - pos) \ 2) - 1 exitoff = pos scene.Position = pos For i = 0 To loopcnt1 exits.Add(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2")) ComboBox8.Items.Add(i) Next Exit While Case 3 scene.Position += 3 r1 = scene.Position + 3 collgoto1 = Convert.ToUInt32(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) scene.Position = collgoto1 + 17 ptloop = Convert.ToUInt32(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) loopamt = Convert.ToUInt32(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) scene.Position += 3 fgoto = Convert.ToUInt32(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) scene.Position += 1 Dim vargoto As Int32 = Convert.ToUInt32(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) scene.Position = vargoto ComboBox1.Items.Clear() ComboBox1.Items.Add("Collision Types") Dim int3 As Integer = 0 While scene.Position < fgoto coltypeoff.Add(scene.Position + 1) coltypes.Add(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2")) ComboBox1.Items.Add(int3) int3 += 1 End While ComboBox1.SelectedIndex = 0 scene.Position = fgoto zlestart16 = fgoto zlestart6 = ptloop zleend6 = collgoto1 For i3 = 0 To loopamt - 1 colvaroff.Add(scene.Position) colvar.Add(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2")) tb = Mid(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 2, 3) CollisionPolies.A.Add(Convert.ToUInt32(tb, 16)) tb = Mid(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 2, 3) CollisionPolies.B.Add(Convert.ToUInt32(tb, 16)) tb = Mid(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 2, 3) CollisionPolies.C.Add(Convert.ToUInt32(tb, 16)) CollisionPolies.tr5.Add(rand.Next(0, 255)) CollisionPolies.tg5.Add(rand.Next(0, 255)) CollisionPolies.tb5.Add(rand.Next(0, 255)) scene.Position += 8 Next ReDim ctris(colvar.Count - 1) scene.Position = ptloop Dim cx As Int16 = 0 Dim cy As Int16 = 0 Dim cz As Int16 = 0 While scene.Position < collgoto1 colxsave.Add(scene.Position) cx = Convert.ToInt16(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) CollisionVerts.x.Add(cx) CollisionVerts.ox.Add(cx) cy = Convert.ToInt16(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) CollisionVerts.y.Add(cy) CollisionVerts.oy.Add(cy) cz = Convert.ToInt16(scene.ReadByte.ToString("X2") & scene.ReadByte.ToString("X2"), 16) CollisionVerts.z.Add(cz) CollisionVerts.oz.Add(cz) CollisionVerts.tr3.Add(rand.Next(0, 255)) CollisionVerts.tg3.Add(rand.Next(0, 255)) CollisionVerts.tb3.Add(rand.Next(0, 255)) End While ComboBox7.SelectedIndex = 0 ChangeColor() scene.Position = r1 Case Else scene.Position += 6 End Select End While Else While filebuff.Position < filebuff.Length - 14 filebuff.Position += 14 headercmd(0) = filebuff.ReadByte headercmd(1) = filebuff.ReadByte Select Case Mid(headercmd(0).ToString("X2") & headercmd(1).ToString("X2"), 1, 3) Case "07C" Do Until headercmd(0) = 6 And headercmd(1) = 0 Or filebuff.Position > filebuff.Length - 1 headercmd(0) = filebuff.ReadByte headercmd(1) = filebuff.ReadByte Loop If filebuff.Position >= filebuff.Length - 1 Then Exit While End If filebuff.Position -= 1 ptloop = Convert.ToUInt32(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) loopamt = Convert.ToUInt32(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) filebuff.Position += 3 fgoto = Convert.ToUInt32(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) If fgoto > filebuff.Length - 1 Then Exit While End If filebuff.Position += 1 Dim vargoto As Int32 = Convert.ToUInt32(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) filebuff.Position = vargoto ComboBox1.Items.Clear() ComboBox1.Items.Add("Collision Types") Dim int3 As Integer = 0 While filebuff.Position < fgoto coltypeoff.Add(filebuff.Position + 1) coltypes.Add(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2")) ComboBox1.Items.Add(int3) int3 += 1 End While filebuff.Position = fgoto zlestart16 = fgoto zlestart6 = ptloop zleend6 = collgoto1 For i3 = 0 To loopamt - 1 colvaroff.Add(filebuff.Position) colvar.Add(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2")) tb = Mid(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 2, 3) CollisionPolies.A.Add(Convert.ToUInt32(tb, 16)) tb = Mid(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 2, 3) CollisionPolies.B.Add(Convert.ToUInt32(tb, 16)) tb = Mid(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 2, 3) CollisionPolies.C.Add(Convert.ToUInt32(tb, 16)) CollisionPolies.tr5.Add(rand.Next(0, 255)) CollisionPolies.tg5.Add(rand.Next(0, 255)) CollisionPolies.tb5.Add(rand.Next(0, 255)) filebuff.Position += 8 Next filebuff.Position = ptloop Dim yx As Int16 = 0 Dim yy As Int16 = 0 Dim yz As Int16 = 0 While filebuff.Position < collgoto1 colxsave.Add(filebuff.Position) yx = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) CollisionVerts.x.Add(yx) CollisionVerts.ox.Add(yx) yy = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) CollisionVerts.y.Add(yy) CollisionVerts.oy.Add(yy) yz = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) CollisionVerts.z.Add(yz) CollisionVerts.oz.Add(yz) CollisionVerts.tr3.Add(rand.Next(0, 255)) CollisionVerts.tg3.Add(rand.Next(0, 255)) CollisionVerts.tb3.Add(rand.Next(0, 255)) End While If ComboBox7.Items.Count > 0 Then ComboBox7.SelectedIndex = 0 End If ChangeColor() filebuff.Position = r1 Exit While End Select End While End If GC.Collect() Catch err As Exception colx.Clear() coly.Clear() colz.Clear() colvar.Clear() colvaroff.Clear() MsgBox("Error in collision reading: " & Environment.NewLine & Environment.NewLine & "Debug Info: " & err.Message) Exit Sub End Try End Sub Private Sub GetEntryPoints() Try Dim TempPos(0, 0) As Int16 Dim epcnt As Integer = 0 Dim gobackto As Integer = 0 Dim cp As Integer = 0 Dim endd As Integer = 0 Dim cpold As Integer = 0 Dim currep As Integer = 0 ReDim DLInfo(-1) epcnt = 0 ComboBox3.Items.Clear() ComboBox3.Items.Add("Render all") For cp = 0 To ZFileBuffer.Length - 8 Step 8 If ZFileBuffer(cp) = &HE7 And ZFileBuffer(cp + 1) = 0 And ZFileBuffer(cp + 2) = 0 _ And ZFileBuffer(cp + 3) = 0 And ZFileBuffer(cp + 4) = 0 And ZFileBuffer(cp + 5) = 0 _ And ZFileBuffer(cp + 6) = 0 And ZFileBuffer(cp + 7) = 0 Then cpold = cp ReDim Preserve DLInfo(epcnt) DLInfo(epcnt) = New DisplayList DLInfo(epcnt).startpos = cp DLInfo(epcnt).skip = True Do DLInfo(epcnt).CommandCount += 1 If ZFileBuffer(cp) = &HDF Then DLInfo(epcnt).endpos = cp Exit Do End If cp += 8 Loop ComboBox3.Items.Add("0x" & Hex(cpold)) epcnt += 1 End If Next epcnt = 0 GC.Collect() Catch err As System.Exception MsgBox("Error in entry point searching: " & Environment.NewLine & Environment.NewLine & "Debug Info: " & err.Message) Exit Sub End Try End Sub Private Sub ClearArrayLists() lr.Clear() lb.Clear() lg.Clear() sellink.Clear() linkx.Clear() linky.Clear() linkz.Clear() linkxr.Clear() linkyr.Clear() linkzr.Clear() linkno.Clear() linkvar.Clear() objxsave.Clear() meshw = -1 vertw = -1 actorgr.Clear() texfilename.Clear() PolyStart.Clear() ArrayOff.Clear() selactor.Clear() selmesh.Clear() selvert.Clear() selvertc.Clear() actorx.Clear() actory.Clear() actorz.Clear() actorxrot.Clear() actoryrot.Clear() actorzrot.Clear() oactorx.Clear() oactory.Clear() oactorz.Clear() oactorxrot.Clear() oactoryrot.Clear() oactorzrot.Clear() actorno.Clear() actorvar.Clear() actorvaroff.Clear() actornooff.Clear() End Sub Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) AboutBoxDialog.Show() AboutBoxDialog.Focus() End Sub Private Sub DetectExtension() Button10.Enabled = True Label28.Visible = False Label45.Text = "" If mapfilename.Contains("room_") Then bankno = 3 EPDLoad = False renderobj = True maploaded = True RenderModeToolStripMenuItem.Enabled = True ViewingMeshToolStripMenuItem1.Checked = True CollisionMeshToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Enabled = True ComboBox3.Enabled = True TabControl1.TabPages.Remove(TabPage2) TabControl1.TabPages.Remove(TabPage3) TabControl1.TabPages.Remove(TabPage1) TabControl1.TabPages.Add(TabPage2) TabControl1.TabPages.Add(TabPage3) TabControl1.TabPages.Add(TabPage1) ComboBox3.Items.Clear() ElseIf objectfilename.Contains("object_") Then bankno = 6 renderobj = True rendersc = False maploaded = False actorsel = False ComboBox3.Enabled = True ActorSelectorToolStripMenuItem.Enabled = False ActorSelectorToolStripMenuItem.Checked = False EPDLoad = True TabControl1.TabPages.Remove(TabPage2) TabControl1.TabPages.Remove(TabPage3) TabControl1.TabPages.Remove(TabPage1) TabControl1.TabPages.Add(TabPage1) ComboBox3.Items.Clear() Else bankno = 1 renderobj = True rendersc = False maploaded = False actorsel = False ComboBox3.Enabled = True ActorSelectorToolStripMenuItem.Enabled = False ActorSelectorToolStripMenuItem.Checked = False EPDLoad = True TabControl1.TabPages.Remove(TabPage1) TabControl1.TabPages.Add(TabPage1) End If End Sub Private Sub GetMapActors() Try Dim findgroup As Byte = 0 Dim envvar(3) As Byte Dim returntooff As Integer = 0 Dim actornumtest As Integer = 0 Dim finalgrouptest As String = "" Dim identity As String = "" ComboBox7.Items.Clear() ComboBox7.Items.Add("Room Actor Selection") ComboBox7.SelectedIndex = 0 ComboBox6.SelectedIndex = 0 actorfound = 0 groupcnt = 0 ObjectSetDialog.ComboBox1.Items.Clear() filebuff.Position = objectset Do Until envvar(0).ToString("X2") & envvar(1).ToString("X2") & envvar(2).ToString("X2") & envvar(3).ToString("X2") = "12000000" Or filebuff.Position > objectset + 96 envvar(0) = filebuff.ReadByte envvar(1) = filebuff.ReadByte envvar(2) = filebuff.ReadByte envvar(3) = filebuff.ReadByte Loop envlightoff = filebuff.Position + 9 TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox4.Enabled = True TextBox5.Enabled = True TextBox6.Enabled = True ComboBox4.Items.Clear() Do Until findgroup = 11 Or filebuff.Position > objectset + 96 findgroup = filebuff.ReadByte filebuff.Position += 1 Loop filebuff.Position -= 1 If filebuff.Position > objectset + 96 Or findgroup <> 11 Then TextBox4.Text = "" TextBox4.Enabled = False TextBox5.Text = "" TextBox5.Enabled = False TextBox6.Text = "" TextBox6.Enabled = False ComboBox4.Items.Clear() ComboBox4.Items.Add("None") ComboBox4.SelectedIndex = 0 ComboBox4.Enabled = False ComboBox7.Items.Clear() ComboBox7.Items.Add("None") ComboBox7.SelectedIndex = 0 ComboBox7.Enabled = False Exit Sub Else TextBox4.Enabled = True TextBox5.Enabled = True TextBox6.Enabled = True ComboBox4.Enabled = True ComboBox7.Enabled = True End If groupcntoff = filebuff.Position groupcnt = filebuff.ReadByte If groupcnt = 0 Then TextBox4.Text = "" TextBox4.Enabled = False TextBox5.Text = "" TextBox5.Enabled = False TextBox6.Text = "" TextBox6.Enabled = False ComboBox4.Items.Clear() ComboBox4.Items.Add("None") ComboBox4.SelectedIndex = 0 ComboBox4.Enabled = False ComboBox7.Items.Clear() ComboBox7.Items.Add("None") ComboBox7.SelectedIndex = 0 ComboBox7.Enabled = False Exit Sub Else TextBox4.Enabled = True TextBox5.Enabled = True TextBox6.Enabled = True ComboBox4.Enabled = True ComboBox7.Enabled = True End If filebuff.Position += 3 grppoff = filebuff.Position + 4 filebuff.Position = Convert.ToUInt32(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) actorgroff = filebuff.Position + 1 For grabxyz = 0 To groupcnt actorgr.Add(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2")) ComboBox4.Items.Add((grabxyz + 1).ToString) Next ComboBox4.SelectedIndex = 0 filebuff.Position = grppoff Dim ax As Int16 = 0 Dim ay As Int16 = 0 Dim az As Int16 = 0 Dim axr As Int16 = 0 Dim ayr As Int16 = 0 Dim azr As Int16 = 0 ReDim actorposoff(0) ReDim physgrp(0) If filebuff.Position < filebuff.Length - 10 Then actorfound = filebuff.ReadByte For e As Integer = 0 To actorfound - 1 tr.Add(rand.Next(0, 255)) tg.Add(rand.Next(0, 255)) tb.Add(rand.Next(0, 255)) Next ReDim actorposoff(actorfound - 1) ReDim physgrp(actorfound - 1) Dim loopgroup As Integer = 0 filebuff.Position += 3 actorpoff = filebuff.Position filebuff.Position = Convert.ToUInt32(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) ComboBox7.Items.Clear() ComboBox7.Items.Add("Room Actor Selection") ComboBox7.SelectedIndex = 0 If actorfound > 0 Then For i = 0 To actorfound - 1 'Position, number, and identification actornooff.Add(filebuff.Position) actorno.Add(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2")) filebuff.Position += 12 actorvaroff.Add(filebuff.Position) actorvar.Add(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2")) filebuff.Position -= 14 actordb = New StreamReader(Application.StartupPath & "/ext/actor_db.txt") identity = "?" While actordb.Peek <> -1 actorindex = actordb.ReadLine If Mid(actorindex, 6, 4) = "0001" Then If Mid(actorindex, 1, 4) = actorno(i) And Mid(actorindex, 11, 4) = actorvar(i) Then identity = Mid(actorindex, 16) Exit While End If Else For i1 = 0 To groupcnt - 1 If Mid(actorindex, 1, 9) = actorno(i) & ":" & actorgr(i1) And Mid(actorindex, 11, 4) = actorvar(i) Then identity = Mid(actorindex, 16) Dim grpint As Integer = actorgr.IndexOf(Mid(actorindex, 6, 4)) If grpint > -1 Then physgrp(i) = grpint End If Exit While End If Next End If End While ComboBox7.Items.Add((i).ToString & " - " & identity) actorposoff(i) = filebuff.Position ax = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) ay = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) + 10 az = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) axr = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) ayr = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) azr = Convert.ToInt16(filebuff.ReadByte.ToString("X2") & filebuff.ReadByte.ToString("X2"), 16) actorx.Add(ax) actory.Add(ay) actorz.Add(az) actorxrot.Add(axr) actoryrot.Add(ayr) actorzrot.Add(azr) oactorx.Add(ax) oactory.Add(ay) oactorz.Add(az) oactorxrot.Add(axr) oactoryrot.Add(ayr) oactorzrot.Add(azr) filebuff.Position += 2 Next ComboBox7.SelectedIndex = 0 End If End If Catch err As Exception actorfound = 0 MsgBox("Error in grabbing actors: " & Environment.NewLine & Environment.NewLine & "Debug Info: " & err.Message) Exit Sub End Try End Sub Private Sub YesScene() Try TextBox13.Enabled = True ComboBox5.Enabled = True TextBox6.ReadOnly = False TextBox4.ReadOnly = False Catch err As Exception MsgBox("Error in scene setup: " & Environment.NewLine & Environment.NewLine & "Debug Info: " & err.Message) Exit Sub End Try End Sub Private Sub ShowObjSetD() If ObjectSetDialog.ComboBox1.Items.Count > 1 Or ObjectSetDialog.ComboBox2.Items.Count > 1 Then If ObjectSetDialog.ComboBox1.Items.Count < 1 Then ObjectSetDialog.ComboBox1.Enabled = False Else ObjectSetDialog.ComboBox1.SelectedIndex = 0 End If If ObjectSetDialog.ComboBox2.Items.Count < 1 Then ObjectSetDialog.ComboBox2.Enabled = False Else ObjectSetDialog.ComboBox2.SelectedIndex = 0 End If ObjectSetDialog.ShowDialog() ObjectSetDialog.Focus() Else objectset = 0 sceneobjset = 0 End If End Sub Private Sub ClearActors() actorno.Clear() actorvar.Clear() actorx.Clear() actory.Clear() actorz.Clear() actorxrot.Clear() actoryrot.Clear() actorzrot.Clear() doorno1.Clear() doorx.Clear() doory.Clear() doorz.Clear() End Sub Private Sub LoadActorGFX_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles LoadROM.FileOk canrun = False If filebuff IsNot Nothing Then filebuff.Dispose() End If ToolStripButton3.Enabled = True LoadFile() End Sub Private Sub GetROMFileTable(ByVal segoff As UInt32, ByVal nameoff As UInt32) Dim curfilebyte() As Byte = {} Dim nameinc As Integer = 0 Dim seginc As Integer = 0 Dim namebuffpos As Integer = 0 Dim segbuffpos As Integer = 0 Dim curnamepos As Integer = 0 Dim cursegpos As Integer = 0 Dim curfilename As String = "" Dim sccount As Integer = -1 Dim othercount As Integer = 0 Dim mapcount As Integer = 0 Dim objcount As Integer = 0 Dim scinc As Integer = 0 Dim scfile As Integer = -1 Dim done As Boolean = False Dim endb As Integer = 0 Dim startb As Integer = 0 Dim tempstart() As UInt32 = {} Dim tempend() As UInt32 = {} FileTree.Nodes.Clear() FileTree.Nodes.Add("Actor models") FileTree.Nodes.Add("Levels") FileTree.Nodes.Add("Others") namebuffpos = 0 curnamepos = nameoff segbuffpos = segoff While 1 = 1 startb = DataBuffer(segbuffpos) * &H1000000 + _ DataBuffer(segbuffpos + 1) * &H10000 + _ DataBuffer(segbuffpos + 2) * &H100 + _ DataBuffer(segbuffpos + 3) endb = DataBuffer(segbuffpos + 4) * &H1000000 + _ DataBuffer(segbuffpos + 5) * &H10000 + _ DataBuffer(segbuffpos + 6) * &H100 + _ DataBuffer(segbuffpos + 7) If startb = 0 And endb = 0 Then Exit While End If ReDim Preserve tempstart(seginc) ReDim Preserve tempend(seginc) tempend(seginc) = endb tempstart(seginc) = startb segbuffpos += 16 seginc += 1 End While While nameinc <= seginc - 1 namebuffpos = 0 If DataBuffer(curnamepos) = 0 Then Do Until DataBuffer(curnamepos) <> 0 curnamepos += 1 Loop End If Do Until DataBuffer(curnamepos) = 0 ReDim Preserve curfilebyte(namebuffpos) curfilebyte(namebuffpos) = DataBuffer(curnamepos) curnamepos += 1 namebuffpos += 1 Loop curfilename = System.Text.Encoding.UTF8.GetString(curfilebyte, 0, namebuffpos) If curfilename.Contains("_scene") Then sccount += 1 ReDim Preserve ROMFiles.Levels(sccount) ROMFiles.Levels(sccount).filename = curfilename ROMFiles.Levels(sccount).startoff = tempstart(nameinc) ROMFiles.Levels(sccount).endoff = tempend(nameinc) FileTree.Nodes(1).Nodes.Add(curfilename) mapcount = 0 ElseIf curfilename.Contains("room_") Then ReDim Preserve ROMFiles.Levels(sccount).Maps(mapcount) ROMFiles.Levels(sccount).Maps(mapcount).filename = curfilename ROMFiles.Levels(sccount).Maps(mapcount).startoff = tempstart(nameinc) ROMFiles.Levels(sccount).Maps(mapcount).endoff = tempend(nameinc) FileTree.Nodes(1).Nodes(sccount).Nodes.Add(curfilename) mapcount += 1 ElseIf Mid(curfilename, 1, 7) = "object_" Then ReDim Preserve ROMFiles.Objects(objcount) ROMFiles.Objects(objcount).filename = curfilename ROMFiles.Objects(objcount).startoff = tempstart(nameinc) ROMFiles.Objects(objcount).endoff = tempend(nameinc) FileTree.Nodes(0).Nodes.Add(curfilename) objcount += 1 mapcount = 0 sccount = -1 Else ReDim Preserve ROMFiles.Others(othercount) ROMFiles.Others(othercount).filename = curfilename ROMFiles.Others(othercount).startoff = tempstart(nameinc) ROMFiles.Others(othercount).endoff = tempend(nameinc) FileTree.Nodes(2).Nodes.Add(curfilename) othercount += 1 mapcount = 0 sccount = -1 End If nameinc += 1 End While Dim img1 As New Bitmap(My.Resources.ChestOpen) ToolStripButton1.Image = img1 TabControl1.SelectedTab = TabControl1.TabPages(6) If Not TabControl1.Visible Then SimpleOpenGlControl1.Width -= 235 TabControl1.Visible = True End If Reshape() GC.Collect() End Sub Private Sub Start() working = True filebuff = New FileStream(LoadROM.FileName, FileMode.Open) If filebuff IsNot Nothing Then ReDim DataBuffer(filebuff.Length - 1) filebuff.Position = 0 filebuff.Read(DataBuffer, 0, filebuff.Length - 1) End If Me.Text = "Utility of Time 0.95 - " & LoadROM.FileName ReDim DLInfo(-1) seltype = 0 ComboBox5.Items.Clear() ComboBox7.Items.Clear() ComboBox4.Items.Clear() PictureBox1.Image = Nothing Label29.Text = "" Label30.Text = "" GetROMFileTable(&H12F80, &HBE80) GC.Collect() working = False End Sub Private Sub Reshape() winw = SimpleOpenGlControl1.Width winh = SimpleOpenGlControl1.Height ogltop = SimpleOpenGlControl1.Top oglleft = SimpleOpenGlControl1.Left Gl.glViewport(0, 0, SimpleOpenGlControl1.Width, SimpleOpenGlControl1.Height) Gl.glMatrixMode(Gl.GL_PROJECTION) Gl.glLoadIdentity() Glu.gluPerspective(45.0F, SimpleOpenGlControl1.Width / SimpleOpenGlControl1.Height, 1.0F, 999999) Gl.glMatrixMode(Gl.GL_MODELVIEW) Gl.glLoadIdentity() End Sub Private Sub Form1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Enter Me.Focus() End Sub Private Sub KeyCheckUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Select Case e.KeyCode Case Keys.Alt key_alt = False Case Keys.ControlKey key_ctrl = False Case Keys.I, Keys.J, Keys.K, Keys.L, Keys.U, Keys.O, Keys.T, Keys.Y, Keys.G, Keys.H Timer1.Stop() Case Keys.W key_w = False Case Keys.D key_d = False Case Keys.S key_s = False Case Keys.A key_a = False Case Keys.O key_o = False Case Keys.U key_u = False Case Keys.Q key_q = False Case Keys.E key_e = False End Select End Sub Private Sub SimpleOpenGlControl1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles SimpleOpenGlControl1.KeyUp KeyCheckUp(sender, e) End Sub Private Sub SetupToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) SetupDialog.ShowDialog() End Sub Private Sub MousePixelRead() selmode = True Gl.glDisable(Gl.GL_TEXTURE_2D) Gl.glPushMatrix() Gl.glLoadIdentity() Gl.glRotatef(xrot, 1.0F, 0.0F, 0.0F) Gl.glRotatef(yrot, 0.0F, 1.0F, 0.0F) Gl.glRotatef(zrot, 0.0F, 0.0F, 1.0F) Gl.glTranslatef(finalx, finaly, finalz) If actorsel Then DrawActorBoxes() ElseIf vertexsel Or trisel Then If renderobj Then DrawLoaded() End If If rendersc Then DrawCollision() End If End If Gl.glPopMatrix() selmode = False mpick = False Gl.glGetIntegerv(Gl.GL_VIEWPORT, viewport) Gl.glReadPixels(newx, viewport(3) - newy, 1, 1, Gl.GL_RGB, Gl.GL_UNSIGNED_BYTE, pixel) If maploaded Then If actorsel Then For g As Integer = 0 To tr.Count - 1 If pixel(0) = tr(g) And pixel(1) = tg(g) And pixel(2) = tb(g) Then mpick = True ComboBox5.SelectedIndex = 0 selactorsc.Clear() sellink.Clear() If Not key_ctrl Then selactor.Clear() selactor.Add(g) ComboBox7.SelectedIndex = g + 1 Else If selactor.Contains(g) Then selactor.Remove(g) Else selactor.Add(g) End If If selactor.Count = 1 Then ComboBox7.SelectedIndex = selactor(0) + 1 Else ComboBox7.SelectedIndex = 0 End If End If mouse = 1 UpdateActorPos() Exit Sub End If Next For g As Integer = 0 To tr1.Count - 1 If pixel(0) = tr1(g) And pixel(1) = tg1(g) And pixel(2) = tb1(g) Then mpick = True ComboBox7.SelectedIndex = 0 selactor.Clear() sellink.Clear() If Not key_ctrl Then selactorsc.Clear() selactorsc.Add(g) ComboBox5.SelectedIndex = g + linkx.Count + 1 Else If selactorsc.Contains(g) Then selactorsc.Remove(g) Else selactorsc.Add(g) End If If selactorsc.Count = 1 Then ComboBox5.SelectedIndex = selactorsc(0) + linkx.Count + 1 Else ComboBox5.SelectedIndex = 0 End If End If mouse = 1 UpdateActorPos() Exit Sub End If Next For g As Integer = 0 To lr.Count - 1 If pixel(0) = lr(g) And pixel(1) = lg(g) And pixel(2) = lb(g) Then mpick = True ComboBox7.SelectedIndex = 0 selactor.Clear() selactorsc.Clear() If Not key_ctrl Then sellink.Clear() sellink.Add(g) ComboBox5.SelectedIndex = g + 1 Else If sellink.Contains(g) Then sellink.Remove(g) Else sellink.Add(g) End If If sellink.Count = 1 Then ComboBox5.SelectedIndex = sellink(0) + 1 Else ComboBox5.SelectedIndex = 0 End If End If mouse = 1 UpdateActorPos() Exit Sub End If Next ElseIf vertexsel Then VertexSelect() ElseIf trisel And rendersc Then TriangleSelect() End If Else If vertexsel Then VertexSelect() ElseIf trisel And rendersc Then TriangleSelect() Else If pixel(0) = 7 And pixel(1) = 212 And pixel(2) = 95 Then mouse = 3 Exit Sub End If End If End If End Sub Private Sub TriangleSelect() If Not showcdialog Then For i1 = 0 To CollisionPolies.A.Count - 1 If pixel(0) = CollisionPolies.tr5(i1) And pixel(1) = CollisionPolies.tg5(i1) And pixel(2) = CollisionPolies.tb5(i1) Then TextBox14.Text = colvar(i1) Dim sel As Integer = Convert.ToUInt32(Mid(colvar(i1), 3, 2), 16) ComboBox1.SelectedIndex = sel + 1 TextBox14.Text = zerofill1(Hex(sel)) Dim v1 As String = Convert.ToString(Convert.ToUInt32(Mid(coltypes(sel), 1, 2), 16), 2) Dim v2 As String = Convert.ToString(Convert.ToUInt32(Mid(coltypes(sel), 3, 4), 16), 2) Dim v3 As String = Convert.ToString(Convert.ToUInt32(Mid(coltypes(sel), 7, 2), 16), 2) Dim v4 As String = Convert.ToString(Convert.ToUInt32(Mid(coltypes(sel), 10, 8), 16), 2) pixel(0) = 0 pixel(1) = 0 pixel(2) = 0 End If Next End If End Sub Private Sub VertexSelect() If renderobj Then ' For g As Integer = 0 To Vertices.Length - 1 ' For h As Integer = 0 To Vertices(g).x.Count - 1 ' If pixel(0) = Vertices(g).tr2(h) And pixel(1) = Vertices(g).tg2(h) And pixel(2) = Vertices(g).tb2(h) Then ' selvertc.Clear() ' mouse = 2 ' If key_ctrl Then ' If showcdialog Then ' If selvert.Contains(h) And selmesh.Contains(g) Then ' selvert.Remove(h) ' selmesh.Remove(g) ' pixel(0) = 0 ' pixel(1) = 0 ' pixel(2) = 0 ' Exit Sub ' End If ' End If ' If selvert.Contains(h) And selmesh.Contains(g) Then ' GoTo def ' End If ' If PerMeshToolStripMenuItem.Checked Then ' For i = 0 To Vertices(g).x.Count - 1 ' selmesh.Add(g) ' selvert.Add(i) ' Next ' ElseIf AllSharedToolStripMenuItem.Checked Then ' For i1 = 0 To Vertices.Length - 1 ' For i2 = 0 To Vertices(i1).x.Count - 1 ' If Vertices(i1).ox(i2) = Vertices(g).ox(h) And Vertices(i1).oy(i2) = Vertices(g).oy(h) And Vertices(i1).oz(i2) = Vertices(g).oz(h) Then ' selmesh.Add(i1) ' selvert.Add(i2) ' End If ' Next ' Next ' Else ' selmesh.Add(g) ' selvert.Add(h) ' End If 'def: pixel(0) = 0 ' pixel(1) = 0 ' pixel(2) = 0 ' UpdateVertM() ' Else ' If selmesh.Count > 1 Then ' If showcdialog Then ' If selvert.Contains(h) And selmesh.Contains(g) Then ' ColorChange() ' pixel(0) = 0 ' pixel(1) = 0 ' pixel(2) = 0 ' UpdateVertM() ' Exit Sub ' End If ' End If ' selvert.Clear() ' selmesh.Clear() ' If PerMeshToolStripMenuItem.Checked Then ' For i = 0 To Vertices(g).x.Count - 1 ' selmesh.Add(g) ' selvert.Add(i) ' Next ' ElseIf AllSharedToolStripMenuItem.Checked Then ' For i1 = 0 To Vertices.Length - 1 ' For i2 = 0 To Vertices(i1).x.Count - 1 ' If Vertices(i1).ox(i2) = Vertices(g).ox(h) And Vertices(i1).oy(i2) = Vertices(g).oy(h) And Vertices(i1).oz(i2) = Vertices(g).oz(h) Then ' selmesh.Add(i1) ' selvert.Add(i2) ' End If ' Next ' Next ' Else ' selmesh.Add(g) ' selvert.Add(h) ' End If ' pixel(0) = 0 ' pixel(1) = 0 ' pixel(2) = 0 ' UpdateVertM() ' Exit Sub ' Else ' If weld Then ' If weldpos(0) Then Vertices(meshw).x(vertw) = Vertices(g).x(h) ' If weldpos(1) Then Vertices(meshw).y(vertw) = Vertices(g).y(h) ' If weldpos(2) Then Vertices(meshw).z(vertw) = Vertices(g).z(h) ' If weldautooff Then DisableWeld() ' Else ' selvert.Clear() ' selmesh.Clear() ' If PerMeshToolStripMenuItem.Checked Then ' For i = 0 To Vertices(g).x.Count - 1 ' selmesh.Add(g) ' selvert.Add(i) ' Next ' ElseIf AllSharedToolStripMenuItem.Checked Then ' For i1 = 0 To Vertices.Length - 1 ' For i2 = 0 To Vertices(i1).x.Count - 1 ' If Vertices(i1).ox(i2) = Vertices(g).ox(h) And Vertices(i1).oy(i2) = Vertices(g).oy(h) And Vertices(i1).oz(i2) = Vertices(g).oz(h) Then ' selmesh.Add(i1) ' selvert.Add(i2) ' End If ' Next ' Next ' Else ' selmesh.Add(g) ' selvert.Add(h) ' End If ' If showcdialog Then ' ColorChange() ' End If ' End If ' pixel(0) = 0 ' pixel(1) = 0 ' pixel(2) = 0 ' UpdateVertM() ' Exit Sub ' End If ' End If ' End If ' Next ' Next ' End If ' If rendersc Then ' For g As Integer = 0 To CollisionVerts.tr3.Count - 1 ' If pixel(0) = CollisionVerts.tr3(g) And pixel(1) = CollisionVerts.tg3(g) And pixel(2) = CollisionVerts.tb3(g) Then ' selvert.Clear() ' selmesh.Clear() ' If key_ctrl Then ' If showcdialog Then ' If selvertc.Contains(g) Then ' selvertc.Remove(g) ' pixel(0) = 0 ' pixel(1) = 0 ' pixel(2) = 0 ' GoTo def2 ' End If ' End If ' If Not selvertc.Contains(g) Then ' selvertc.Add(g) ' End If ' Else ' If selvertc.Count > 1 Then ' selvertc.Clear() ' selvertc.Add(g) ' Else ' If weld Then ' If weldpos(0) Then CollisionVerts.x(vertw) = CollisionVerts.x(g) ' If weldpos(1) Then CollisionVerts.y(vertw) = CollisionVerts.y(g) ' If weldpos(2) Then CollisionVerts.z(vertw) = CollisionVerts.z(g) ' If weldautooff Then DisableWeld() ' Else ' selvertc.Clear() ' selvertc.Add(g) ' End If ' End If ' End If 'def2: mouse = 2 ' pixel(0) = 0 ' pixel(1) = 0 ' pixel(2) = 0 ' UpdateVertM() ' Exit Sub ' End If 'Next End If End Sub Private Sub SimpleOpenGlControl1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles SimpleOpenGlControl1.MouseDown If e.Button = Windows.Forms.MouseButtons.Right Then showcdialog = True MousePixelRead() Else showcdialog = False MousePixelRead() End If Select Case e.Button Case MouseButtons.Left MouseLeft = True Case MouseButtons.Right MouseRight = True Case MouseButtons.Middle MouseMiddle = True End Select End Sub Private Sub SimpleOpenGlControl1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles SimpleOpenGlControl1.MouseUp MouseUp1(sender, e) End Sub Private Sub MouseUp1(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) mouse = 0 Select Case e.Button Case MouseButtons.Left MouseLeft = False Case MouseButtons.Right MouseRight = False Case MouseButtons.Middle MouseMiddle = False End Select End Sub Private Sub UpdateActorPos() If Not link And Not door Then If ComboBox7.SelectedIndex > 0 Then Dim c7 As Integer = ComboBox7.SelectedIndex - 1 TextBox7.Text = CInt(actorx(c7)) TextBox8.Text = CInt(actory(c7)) TextBox9.Text = CInt(actorz(c7)) TextBox10.Text = CInt(actorxrot(c7)) TextBox11.Text = CInt(actoryrot(c7)) TextBox12.Text = CInt(actorzrot(c7)) TextBox10.Enabled = True TextBox11.Enabled = True TextBox12.Enabled = True End If ElseIf link And Not door Then If sellink.Count = 1 Then TextBox7.Text = CInt(linkx(sellink(0))) TextBox8.Text = CInt(linky(sellink(0))) TextBox9.Text = CInt(linkz(sellink(0))) TextBox10.Text = CInt(linkxr(sellink(0))) TextBox11.Text = CInt(linkyr(sellink(0))) TextBox12.Text = CInt(linkzr(sellink(0))) TextBox10.Enabled = True TextBox11.Enabled = True TextBox12.Enabled = True End If ElseIf Not link And door Then If ComboBox5.SelectedIndex > 1 Then TextBox7.Text = CInt(doorx(ComboBox5.SelectedIndex - linkx.Count - 1)) TextBox8.Text = CInt(doory(ComboBox5.SelectedIndex - linkx.Count - 1)) TextBox9.Text = CInt(doorz(ComboBox5.SelectedIndex - linkx.Count - 1)) TextBox10.Enabled = False TextBox11.Enabled = False TextBox12.Enabled = False End If End If changepos(0) = False changepos(1) = False changepos(2) = False changepos(3) = False changepos(4) = False changepos(5) = False End Sub Private Sub SaveGraphics() Dim vertsaveoff As Integer = 0 Dim i01 As Integer = 0 ' For i1 = 0 To Vertices.Length - 1 ' For i = 0 To Vertices(i1).x.Count - 1 ' vertsaveoff = CInt(objxsave(i01)) ' If Hex(Vertices(i1).x(i)).ToString.Length > 4 Then ' FilePut(8, Hex2(Mid(Hex(Vertices(i1).x(i)), 5, 4)), vertsaveoff) ' Else ' FilePut(8, Hex2(zerofill1(Hex(Vertices(i1).x(i)))), vertsaveoff) ' End If ' If Hex(Vertices(i1).y(i)).ToString.Length > 4 Then ' FilePut(8, Hex2(Mid(Hex(Vertices(i1).y(i)), 5, 4)), vertsaveoff + 2) ' Else ' FilePut(8, Hex2(zerofill1(Hex(Vertices(i1).y(i)))), vertsaveoff + 2) ' End If ' If Hex(Vertices(i1).z(i)).ToString.Length > 4 Then ' FilePut(8, Hex2(Mid(Hex(Vertices(i1).z(i)), 5, 4)), vertsaveoff + 4) ' Else ' FilePut(8, Hex2(zerofill1(Hex(Vertices(i1).z(i)))), vertsaveoff + 4) ' End If ' If Hex(CInt(Vertices(i1).u(i))).ToString.Length > 4 Then ' FilePut(8, Hex2(Mid(Hex(CInt(Vertices(i1).u(i))), 5, 4)), vertsaveoff + 8) ' Else ' FilePut(8, Hex2(zerofill1(Hex(CInt(Vertices(i1).u(i))))), vertsaveoff + 8) ' End If ' If Hex(CInt(Vertices(i1).v(i))).ToString.Length > 4 Then ' FilePut(8, Hex2(Mid(Hex(CInt(Vertices(i1).v(i))), 5, 4)), vertsaveoff + 10) ' Else ' FilePut(8, Hex2(zerofill1(Hex(CInt(Vertices(i1).v(i))))), vertsaveoff + 10) ' End If ' FilePut(8, Hex2(Hex(Vertices(i1).r(i))), vertsaveoff + 12) ' FilePut(8, Hex2(Hex(Vertices(i1).g(i))), vertsaveoff + 13) ' FilePut(8, Hex2(Hex(Vertices(i1).b(i))), vertsaveoff + 14) ' i01 += 1 ' Next ' Next End Sub Private Sub SaveActor() Try FileOpen(8, LoadROM.FileName, OpenMode.Binary) SaveGraphics() 'If CollisionVerts.x.Count > 0 Then ' Dim vertsaveoff As Integer = 0 ' For i = 0 To CollisionVerts.x.Count - 1 ' vertsaveoff = CInt(colxsave(i)) ' If Hex(CollisionVerts.x(i)).ToString.Length > 4 Then ' FilePut(9, Hex2(Mid(Hex(CollisionVerts.x(i)), 5, 4)), vertsaveoff + 1) ' Else ' FilePut(9, Hex2(zerofill1(Hex(CollisionVerts.x(i)))), vertsaveoff + 1) ' End If ' If Hex(CollisionVerts.y(i)).ToString.Length > 4 Then ' FilePut(9, Hex2(Mid(Hex(CollisionVerts.y(i)), 5, 4)), vertsaveoff + 3) ' Else ' FilePut(9, Hex2(zerofill1(Hex(CollisionVerts.y(i)))), vertsaveoff + 3) ' End If ' If Hex(CollisionVerts.z(i)).ToString.Length > 4 Then ' FilePut(9, Hex2(Mid(Hex(CollisionVerts.z(i)), 5, 4)), vertsaveoff + 5) ' Else ' FilePut(9, Hex2(zerofill1(Hex(CollisionVerts.z(i)))), vertsaveoff + 5) ' End If ' Next ' Dim zleini As StreamWriter = New StreamWriter(Application.StartupPath & "\ext\collision_fixer.ini") ' Dim zlerom As StreamWriter = New StreamWriter(Application.StartupPath & "\ext\romname.ini") ' zleini.WriteLine("'6-byte") ' zleini.WriteLine(zerofill2(Hex(zlestart6))) ' zleini.WriteLine(zerofill2(Hex(zleend6))) ' zleini.WriteLine("'16-byte") ' zleini.WriteLine(zerofill2(Hex(zlestart16))) ' zleini.WriteLine(zerofill2(Hex(zlestart6))) ' zlerom.WriteLine("'Rom you want to edit") ' zlerom.WriteLine(OpenFileDialog1.FileName) ' zleini.Close() ' zlerom.Close() ' FixCollision() ' For i = 0 To coltypes.Count - 1 ' FilePut(8, Hex2(coltypes(i)), CInt(coltypeoff(i))) ' Next ' For i = 0 To colvar.Count - 1 ' FilePut(8, Hex2(colvar(i)), CInt(colvaroff(i))) ' Next 'End If FileClose(8) If question Then Dim question0 As Integer = MsgBox("Object changes have been saved successfully! Inject into your default ROM now?", MsgBoxStyle.YesNo, "Saved") If question0 = DialogResult.Yes Then SaveToRom() End If End If Catch err As Exception End Try End Sub Private Sub ToolStripButton12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton12.Click ToggleWire() SimpleOpenGlControl1.Focus() End Sub Private Sub ToolStripButton13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton13.Click, SaveChangesToolStripMenuItem.Click Try working = True Timer3.Stop() question = True If maploaded Then SaveRoom() timerstr = "Room/Scene saved" Else SaveActor() timerstr = "Actor saved" End If working = False GC.Collect() Catch err As Exception MsgBox("An error has occured: " & err.Message) Exit Sub End Try End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) SetupDialog.ShowDialog() SetupDialog.Focus() End Sub Private Sub ToolStripButton7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click AboutBoxDialog.Show() AboutBoxDialog.Focus() End Sub Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ControlsInfoToolStripMenuItem.Click ControlsHelp.Show() ControlsHelp.Focus() End Sub Private Sub EndVals() texfilename.Clear() If PictureBox1.Image IsNot Nothing Then PictureBox1.Image.Dispose() If Directory.Exists("C:/TexCache") Then Directory.Delete("C:/TexCache", True) iniwrite.WriteString("Settings", "ToolSensitivity", TrackBar4.Value.ToString) iniwrite.WriteString("Settings", "CameraSpeed", TrackBar1.Value.ToString) End Sub Private Sub MainWin_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing Try question = False Dim asku1 As String = MsgBox("Would you like to save any changes you have made?", MsgBoxStyle.YesNoCancel, "Save Changes?") If asku1 = DialogResult.Yes Then If maploaded Then SaveRoom() Else SaveActor() End If EndVals() e.Cancel = False End ElseIf asku1 = DialogResult.No Then texfilename.Clear() EndVals() e.Cancel = False End ElseIf asku1 = DialogResult.Cancel Then e.Cancel = True End If Catch err As Exception e.Cancel = False End End Try End Sub Private Sub ToolStripButton17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton17.Click, LaunchROMInPJ64ToolStripMenuItem.Click If Not File.Exists(pjdir) Then MsgBox("Either your configured PJ64 exe is invalid, or you have not configured one. You can do so by clicking the Setup button in the Preferences menu.", MsgBoxStyle.Critical, "PJ64 Launch Failed") Exit Sub End If If Not File.Exists(defrom) Then MsgBox("Either your configured default ROM is invalid, or you have not configured one. You can do so by clicking the Setup button in the Preferences menu.", MsgBoxStyle.Critical, "PJ64 Launch Failed") Exit Sub End If Process.Start(pjdir, defrom) End Sub Private Sub ToolStripButton18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton18.Click, MouseToolToolStripMenuItem.Click ContextMenuStrip4.Show(MousePosition.X, MousePosition.Y) End Sub Private Sub ActorSelectorToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActorSelectorToolStripMenuItem.Click meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr actorsel = True vertexsel = False trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = False ActorSelectorToolStripMenuItem.Checked = True TriangleEditorToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False End Sub Private Sub cameraonlyerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VertexWelderToolStripMenuItem.Click meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Camera only" actorsel = False vertexsel = False trisel = False VertexSelectorToolStripMenuItem.Checked = False ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False End Sub Private Sub Get3dCoord(ByVal x As Integer, ByVal y As Integer) Dim viewport(3) As Integer Dim modelview(15) As Double Dim projection(15) As Double Dim winz, winy As Single Gl.glGetDoublev(Gl.GL_MODELVIEW_MATRIX, modelview) Gl.glGetDoublev(Gl.GL_PROJECTION_MATRIX, projection) Gl.glGetIntegerv(Gl.GL_VIEWPORT, viewport) winy = viewport(3) - y Gl.glReadPixels(x, CInt(Round(winy)), 1, 1, Gl.GL_DEPTH_COMPONENT, Gl.GL_FLOAT, winz) If winz > 0 Then MsgBox("LOL") End If Glu.gluUnProject(x, y, 0, modelview, projection, viewport, final3dpos(0), final3dpos(1), final3dpos(2)) End Sub Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try If selmesh.Count > 0 Then For i2 = 0 To selmesh.Count - 1 'If changevert(0) And IsNumeric(TextBox1.Text) Then ' Vertices(selmesh(i2)).x(selvert(i2)) = CInt(TextBox1.Text) 'End If 'If changevert(1) And IsNumeric(TextBox2.Text) Then ' Vertices(selmesh(i2)).y(selvert(i2)) = CInt(TextBox2.Text) 'End If 'If changevert(2) And IsNumeric(TextBox3.Text) Then ' Vertices(selmesh(i2)).z(selvert(i2)) = CInt(TextBox3.Text) 'End If 'If changevert(3) And IsNumeric(TextBox22.Text) Then ' Vertices(selmesh(i2)).u(selvert(i2)) = CInt(TextBox22.Text) 'End If 'If changevert(4) And IsNumeric(TextBox21.Text) Then ' Vertices(selmesh(i2)).v(selvert(i2)) = CInt(TextBox21.Text) 'End If Next ElseIf selvertc.Count > 0 Then For i1 = 0 To selvertc.Count - 1 If changevert(0) And IsNumeric(TextBox1.Text) Then CollisionVerts.x(selvertc(i1)) = CInt(TextBox1.Text) End If If changevert(1) And IsNumeric(TextBox2.Text) Then CollisionVerts.y(selvertc(i1)) = CInt(TextBox2.Text) End If If changevert(2) And IsNumeric(TextBox3.Text) Then CollisionVerts.z(selvertc(i1)) = CInt(TextBox3.Text) End If Next End If Catch err As Exception End Try End Sub Private Sub ComboBox4_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox4.SelectedIndexChanged If actorgr.Count > 0 Then TextBox5.Text = actorgr(ComboBox4.SelectedIndex) Dim objind As Integer = objects.IndexOf(TextBox5.Text) If objind > -1 Then Label45.Text = objectss(objind) Else Label45.Text = "Unknown!" End If End If End Sub Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) ContextMenuStrip5.Show(MousePosition.X, MousePosition.Y) End Sub 'Private Sub Button8_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) ' If ColorDialog2.ShowDialog() = DialogResult.Cancel Then ' ColorDialog2.Dispose() ' Else ' fogcolor = Drawing.ColorTranslator.ToOle(ColorDialog2.Color).ToString("X6") ' fogcolor = Mid(fogcolor, 5, 2) & Mid(fogcolor, 3, 2) & Mid(fogcolor, 1, 2) 'swap from OLE to standard HTML format that OoT uses ' End If 'End Sub Public Sub SaveRoom() Try 'Using deprecated FileOpen, FileGet, FilePut for simplicity over FileStream 'FileOpen(9, OpenFileDialog1.FileName, OpenMode.Binary) FileOpen(8, LoadROM.FileName, OpenMode.Binary) If TextBox13.Text.Length = 2 Then FilePut(9, Hex2(TextBox13.Text), musicsave) End If If ComboBox8.SelectedIndex > 0 Then exits(ComboBox8.SelectedIndex - 1) = zerofill1(TextBox16.Text) End If For i = 0 To exits.Count - 1 FilePut(9, Hex2(exits(i)), (exitoff + (i * 2)) + 1) Next Dim doorsaveoff As Integer = 0 For i = 0 To scenedoorcnt - 1 doorsaveoff = CInt(doorxoff(i)) + 1 FilePut(9, Hex2(doorno1(i)), doorsaveoff - 2) FilePut(9, Hex2(doorvar(i)), doorsaveoff + 8) If Hex(doorx(i)).Length > 4 Then FilePut(9, Hex2(Mid(Hex(doorx(i)), 5)), doorsaveoff) Else FilePut(9, Hex2(zerofill1(Hex(doorx(i)))), doorsaveoff) End If If Hex(doory(i) - 10).Length > 4 Then FilePut(9, Hex2(Mid(Hex(doory(i) - 10), 5)), doorsaveoff + 2) Else FilePut(9, Hex2(zerofill1(Hex(doory(i) - 10))), doorsaveoff + 2) End If If Hex(doorz(i)).Length > 4 Then FilePut(9, Hex2(Mid(Hex(doorz(i)), 5)), doorsaveoff + 4) Else FilePut(9, Hex2(zerofill1(Hex(doorz(i)))), doorsaveoff + 4) End If Next If ComboBox1.SelectedIndex > 0 Then coltypes(ComboBox1.SelectedIndex - 1) = TextBox15.Text & TextBox18.Text & TextBox17.Text & TextBox19.Text & TextBox20.Text End If For i = 0 To coltypes.Count - 1 FilePut(9, Hex2(coltypes(i)), CInt(coltypeoff(i))) Next i = 0 Dim finalskyb As String = "" For i = 0 To skyflagss.Length - 1 finalskyb += skyflagss(i) Next For i = 0 To colvar.Count - 1 FilePut(9, Hex2(colvar(i)), CInt(colvaroff(i) + 1)) Next FilePut(9, Hex2(finalskyb), envboxoff + 1) Dim loff As UInt32 = 0 For i = 0 To linkx.Count - 1 loff = CInt(linkxoff(i)) If Hex(linkx(i)).Length > 4 Then FilePut(9, Hex2(Mid(Hex(linkx(i)), 5)), loff + 1) Else FilePut(9, Hex2(zerofill1(Hex(linkx(i)))), loff + 1) End If If Hex(linky(i) - 10).Length > 4 Then FilePut(9, Hex2(Mid(Hex(linky(i) - 10), 5)), loff + 3) Else FilePut(9, Hex2(zerofill1(Hex(linky(i) - 10))), loff + 3) End If If Hex(linkz(i)).Length > 4 Then FilePut(9, Hex2(Mid(Hex(linkz(i)), 5)), loff + 5) Else FilePut(9, Hex2(zerofill1(Hex(linkz(i)))), loff + 5) End If If Hex(linkxr(i)).Length > 4 Then FilePut(9, Hex2(Mid(Hex(linkxr(i)), 5)), loff + 7) Else FilePut(9, Hex2(zerofill1(Hex(linkxr(i)))), loff + 7) End If If Hex(linkyr(i)).Length > 4 Then FilePut(9, Hex2(Mid(Hex(linkyr(i)), 5)), loff + 9) Else FilePut(9, Hex2(zerofill1(Hex(linkyr(i)))), loff + 9) End If If Hex(linkzr(i)).Length > 4 Then FilePut(9, Hex2(Mid(Hex(linkzr(i)), 5)), loff + 11) Else FilePut(9, Hex2(zerofill1(Hex(linkzr(i)))), loff + 11) End If Next Dim vertsaveoff As Integer = 0 For i = 0 To CollisionVerts.x.Count - 1 vertsaveoff = CInt(colxsave(i)) If Hex(CollisionVerts.x(i)).ToString.Length > 4 Then FilePut(9, Hex2(Mid(Hex(CollisionVerts.x(i)), 5, 4)), vertsaveoff + 1) Else FilePut(9, Hex2(zerofill1(Hex(CollisionVerts.x(i)))), vertsaveoff + 1) End If If Hex(CollisionVerts.y(i)).ToString.Length > 4 Then FilePut(9, Hex2(Mid(Hex(CollisionVerts.y(i)), 5, 4)), vertsaveoff + 3) Else FilePut(9, Hex2(zerofill1(Hex(CollisionVerts.y(i)))), vertsaveoff + 3) End If If Hex(CollisionVerts.z(i)).ToString.Length > 4 Then FilePut(9, Hex2(Mid(Hex(CollisionVerts.z(i)), 5, 4)), vertsaveoff + 5) Else FilePut(9, Hex2(zerofill1(Hex(CollisionVerts.z(i)))), vertsaveoff + 5) End If Next FileClose(9) Dim zleini As StreamWriter = New StreamWriter(Application.StartupPath & "\ext\collision_fixer.ini") Dim zlerom As StreamWriter = New StreamWriter(Application.StartupPath & "\ext\romname.ini") zleini.WriteLine(zerofill2(Hex(zlestart6))) zleini.WriteLine(zerofill2(Hex(zleend6))) zleini.WriteLine(zerofill2(Hex(zlestart16))) zleini.WriteLine(zerofill2(Hex(zlestart6))) zleini.Dispose() zlerom.Dispose() SaveGraphics() For i = 0 To actorfound - 1 FilePut(8, Hex2(actorno(i)), CInt(actornooff(i)) + 1) FilePut(8, Hex2(actorvar(i)), CInt(actorvaroff(i)) + 1) If Hex(actorx(i)).ToString.Length > 4 Then FilePut(8, Hex2(Mid(Hex(actorx(i)), 5)), actorposoff(i) + 1) Else FilePut(8, Hex2(zerofill1(Hex(actorx(i)))), actorposoff(i) + 1) End If If Hex(actory(i) - 10).ToString.Length > 4 Then FilePut(8, Hex2(Mid(Hex(actory(i) - 10), 5)), actorposoff(i) + 3) Else FilePut(8, Hex2(zerofill1(Hex(actory(i) - 10))), actorposoff(i) + 3) End If If Hex(actorz(i)).ToString.Length > 4 Then FilePut(8, Hex2(Mid(Hex(actorz(i)), 5)), actorposoff(i) + 5) Else FilePut(8, Hex2(zerofill1(Hex(actorz(i)))), actorposoff(i) + 5) End If If Hex(actorxrot(i)).Length > 4 Then FilePut(8, Hex2(Mid(Hex(actorxrot(i)), 5)), actorposoff(i) + 7) Else FilePut(8, Hex2(zerofill1(Hex(actorxrot(i)))), actorposoff(i) + 7) End If If Hex(actoryrot(i)).Length > 4 Then FilePut(8, Hex2(Mid(Hex(actoryrot(i)), 5)), actorposoff(i) + 9) Else FilePut(8, Hex2(zerofill1(Hex(actoryrot(i)))), actorposoff(i) + 9) End If If Hex(actorzrot(i)).Length > 4 Then FilePut(8, Hex2(Mid(Hex(actorzrot(i)), 5)), actorposoff(i) + 11) Else FilePut(8, Hex2(zerofill1(Hex(actorzrot(i)))), actorposoff(i) + 11) End If Next If ComboBox6.SelectedItem.ToString = "Night" Then FilePut(8, Hex2("0000"), envlightoff) ElseIf ComboBox6.SelectedItem.ToString = "Morning" Then FilePut(8, Hex2("01CC"), envlightoff) ElseIf ComboBox6.SelectedItem.ToString = "Mid Day" Then FilePut(8, Hex2("FFFF"), envlightoff) End If For i = 0 To actorgr.Count - 1 FilePut(8, Hex2(actorgr(i)), (actorgroff + (i * 2))) Next FixCollision() FileClose(8) If Not File.Exists(defrom) Then MsgBox("File Saved! To configure a default ROM to save this data to, go to the setup dialog (Options).", MsgBoxStyle.Information, "Default ROM not defined") Else Dim question As String = MsgBox("Map changes have been saved successfully. Inject into your default ROM now?", MsgBoxStyle.YesNo, "Saved") If question = DialogResult.Yes Then SaveToRom() End If End If Catch err As Global.System.Exception FileClose(8, 9) MsgBox("An error has occured: " & err.ToString & " Can not continue!", MsgBoxStyle.Critical, "Error!") Exit Sub End Try End Sub Private Sub SaveToRom() Try If Not File.Exists(defrom) Then MsgBox("Either your configured default ROM is invalid, or you have not configured one. You can do so in the main setup dialog (Options).", MsgBoxStyle.Critical, "Default ROM") Exit Sub End If Dim foff As Integer = 0 Dim inpbox As String = "" Dim rom As New FileStream(defrom, FileMode.Open) Dim romwr As New BufferedStream(rom, rom.Length) If maploaded Then Else End If crc.StartInfo.Arguments = "-u " & defrom crc.Start() Catch err As Global.System.Exception MsgBox("An error has occured: " & err.Message & " Can not continue!", MsgBoxStyle.Critical, "Error!") Exit Sub End Try End Sub Private Sub ClearSkyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearSkyToolStripMenuItem.Click CloudySkyToolStripMenuItem.Checked = False ClearSkyToolStripMenuItem.Checked = True skyflagss(4) = "00" skyflags(4) = False End Sub Private Sub CloudySkyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloudySkyToolStripMenuItem.Click CloudySkyToolStripMenuItem.Checked = True ClearSkyToolStripMenuItem.Checked = False skyflagss(4) = "01" skyflags(4) = True End Sub Private Sub ComboBox7_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox7.SelectedIndexChanged Try comb7 = ComboBox7.SelectedIndex - 1 If ComboBox7.SelectedIndex = 0 Then TextBox4.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" TextBox9.Text = "" TextBox10.Text = "" TextBox11.Text = "" TextBox12.Text = "" mouse = 0 If Not mpick Then selactor.Clear() Else mpick = False End If Else ComboBox5.SelectedIndex = 0 link = False door = False TextBox6.Enabled = True TextBox4.Enabled = True Dim c7 As Integer = ComboBox7.SelectedIndex - 1 TextBox6.Text = actorno(c7) TextBox4.Text = actorvar(c7) TextBox7.Text = actorx(c7) TextBox8.Text = actory(c7) TextBox9.Text = actorz(c7) TextBox10.Text = actorxrot(c7) TextBox11.Text = actoryrot(c7) TextBox12.Text = actorzrot(c7) TextBox10.Enabled = True TextBox11.Enabled = True TextBox12.Enabled = True selectedind = c7 ComboBox4.SelectedIndex = physgrp(c7) If Not mpick Then selactor.Clear() selactor.Add(c7) Else mpick = False End If End If Catch err As Exception MsgBox("Error in room actor selection processing." & Environment.NewLine & Environment.NewLine & "Debug Info: " & err.Message, MsgBoxStyle.Critical) ComboBox7.SelectedIndex = 0 ComboBox5.SelectedIndex = 0 Exit Sub End Try End Sub Private Sub ComboBox5_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox5.SelectedIndexChanged Try comb5 = ComboBox5.SelectedIndex - linkx.Count - 1 If ComboBox5.SelectedIndex = 0 Then link = False door = False mouse = 0 TextBox4.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" TextBox9.Text = "" TextBox10.Text = "" TextBox11.Text = "" TextBox12.Text = "" If Not mpick Then selactorsc.Clear() sellink.Clear() Else mpick = False End If Else ComboBox7.SelectedIndex = 0 If ComboBox5.SelectedIndex - 1 < linkx.Count Then ComboBox4.SelectedIndex = Nothing door = False link = True TextBox10.Enabled = True TextBox11.Enabled = True TextBox12.Enabled = True TextBox6.Text = linkno(ComboBox5.SelectedIndex - 1) TextBox4.Text = linkvar(ComboBox5.SelectedIndex - 1) TextBox7.Text = linkx(ComboBox5.SelectedIndex - 1) TextBox8.Text = linky(ComboBox5.SelectedIndex - 1) TextBox9.Text = linkz(ComboBox5.SelectedIndex - 1) TextBox10.Text = linkxr(ComboBox5.SelectedIndex - 1) TextBox11.Text = linkyr(ComboBox5.SelectedIndex - 1) TextBox12.Text = linkzr(ComboBox5.SelectedIndex - 1) TextBox6.Enabled = False TextBox4.Enabled = False selactor.Clear() selactorsc.Clear() If Not mpick Then sellink.Clear() sellink.Add(ComboBox5.SelectedIndex - 1) Else mpick = False End If Else linkr = 0 door = True link = False TextBox10.Enabled = False TextBox11.Enabled = False TextBox12.Enabled = False TextBox7.Text = doorx(ComboBox5.SelectedIndex - linkx.Count - 1) TextBox8.Text = doory(ComboBox5.SelectedIndex - linkx.Count - 1) TextBox9.Text = doorz(ComboBox5.SelectedIndex - linkx.Count - 1) TextBox6.Text = doorno1(ComboBox5.SelectedIndex - linkx.Count - 1) TextBox4.Text = doorvar(ComboBox5.SelectedIndex - linkx.Count - 1) TextBox6.Enabled = True TextBox4.Enabled = True ComboBox4.SelectedIndex = physgrpc(ComboBox5.SelectedIndex - linkx.Count - 1) sellink.Clear() selactor.Clear() If Not mpick Then selactorsc.Clear() selactorsc.Add(ComboBox5.SelectedIndex - linkx.Count - 1) Else mpick = False End If End If selectedinddr = ComboBox5.SelectedIndex - 1 End If Catch err As Exception MsgBox("Error in scene actor selection processing." & Environment.NewLine & Environment.NewLine & "Debug Info: " & err.Message, MsgBoxStyle.Critical) ComboBox5.SelectedIndex = 0 ComboBox7.SelectedIndex = 0 Exit Sub End Try End Sub Private Sub Button3_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ContextMenuStrip5.Show(MousePosition.X, MousePosition.Y) End Sub Private Sub CheckBox9_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not myownrm Then myownrm = True Else myownrm = False End If End Sub Private Sub CheckBox8_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not myownrm Then myownrm = True Else myownrm = False End If End Sub Private Sub CheckBox1_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged If Not working Then If skyflags(0) = True Then skyflags(0) = False skyflagss(0) = "00" ElseIf skyflags(0) = False Then skyflags(0) = True skyflagss(0) = "01" End If End If End Sub Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If Not working Then If skyflags(1) Then skyflags(1) = False skyflagss(1) = "00" Else skyflags(1) = True skyflagss(1) = "01" End If End If End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged If Not working Then If skyflags(2) Then skyflags(2) = False skyflagss(2) = "00" Else skyflags(2) = True skyflagss(2) = "01" End If End If End Sub Private Sub CheckBox4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox4.CheckedChanged If Not working Then If skyflags(3) Then skyflags(3) = False skyflagss(3) = "00" Else skyflags(3) = True skyflagss(3) = "01" End If End If End Sub Private Sub CheckBox6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not working Then If skyflags(5) Then skyflags(5) = False skyflagss(5) = "00" Else skyflags(5) = True skyflagss(5) = "01" End If End If End Sub Private Sub CheckBox7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox7.CheckedChanged If Not working Then If skyflags(6) Then skyflags(6) = False skyflagss(6) = "00" Else skyflags(6) = True skyflagss(6) = "01" End If End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Try Dim c7 As Integer = ComboBox7.SelectedIndex If door Then For i = 0 To selactorsc.Count - 1 i1 = selactorsc(i) If TextBox6.Text.Length = 4 Then doorno1(i1) = zerofill1(TextBox6.Text) End If If TextBox4.Text.Length = 4 Then doorvar(i1) = zerofill1(TextBox4.Text) End If If IsNumeric(TextBox7.Text) And changepos(0) Then doorx(i1) = CInt(TextBox7.Text) If IsNumeric(TextBox8.Text) And changepos(1) Then doory(i1) = CInt(TextBox8.Text) If IsNumeric(TextBox9.Text) And changepos(2) Then doorz(i1) = CInt(TextBox9.Text) Next ElseIf link Then For i = 0 To sellink.Count - 1 i1 = sellink(i) If IsNumeric(TextBox7.Text) And changepos(0) Then linkx(i1) = CInt(TextBox7.Text) End If If IsNumeric(TextBox8.Text) And changepos(1) Then linky(i1) = CInt(TextBox8.Text) End If If IsNumeric(TextBox9.Text) And changepos(2) Then linkz(i1) = CInt(TextBox9.Text) End If If IsNumeric(TextBox10.Text) And changepos(3) Then linkxr(i1) = CInt(TextBox10.Text) End If If IsNumeric(TextBox11.Text) And changepos(4) Then linkyr(i1) = CInt(TextBox11.Text) End If If IsNumeric(TextBox12.Text) And changepos(5) Then linkzr(i1) = CInt(TextBox12.Text) End If Next Else For i = 0 To selactor.Count - 1 i1 = selactor(i) If IsNumeric(TextBox7.Text) And changepos(0) Then actorx(i1) = CInt(TextBox7.Text) End If If IsNumeric(TextBox8.Text) And changepos(1) Then actory(i1) = CInt(TextBox8.Text) End If If IsNumeric(TextBox9.Text) And changepos(2) Then actorz(i1) = CInt(TextBox9.Text) End If If IsNumeric(TextBox10.Text) And changepos(3) Then actorxrot(i1) = CInt(TextBox10.Text) End If If IsNumeric(TextBox11.Text) And changepos(4) Then actoryrot(i1) = CInt(TextBox11.Text) End If If IsNumeric(TextBox12.Text) And changepos(5) Then actorzrot(i1) = CInt(TextBox12.Text) End If If TextBox6.Text.Length = 4 Then actorno(i1) = zerofill1(TextBox6.Text) End If If TextBox4.Text.Length = 4 Then actorvar(i1) = zerofill1(TextBox4.Text) End If Next End If Dim identity As String = "" Dim oldint As Integer = 0 actorgr(ComboBox4.SelectedIndex) = zerofill1(TextBox5.Text) If Not door And Not link Then oldint = c7 ComboBox7.Items.Clear() ComboBox7.Items.Add("Room Actor Selection") For i = 0 To actorx.Count - 1 actordb = New StreamReader(Application.StartupPath & "/ext/actor_db.txt") identity = "?" While actordb.Peek <> -1 actorindex = actordb.ReadLine If Mid(actorindex, 6, 4) = "0001" Then If Mid(actorindex, 1, 4) = actorno(i) And Mid(actorindex, 11, 4) = actorvar(i) Then identity = Mid(actorindex, 16) Exit While End If Else For i1 = 0 To groupcnt - 1 If Mid(actorindex, 1, 9) = actorno(i) & ":" & actorgr(i1) And Mid(actorindex, 11, 4) = actorvar(i) Then identity = Mid(actorindex, 16) Dim grpint As Integer = actorgr.IndexOf(Mid(actorindex, 6, 4)) If grpint > -1 Then physgrp(i) = grpint End If Exit While End If Next End If End While ComboBox7.Items.Add((i).ToString & " - " & identity) actordb.Dispose() Next If selactor.Count = 1 Then ComboBox7.SelectedIndex = oldint End If ElseIf door And Not link Then oldint = ComboBox5.SelectedIndex For i = 1 To linkx.Count linkarray.Add(ComboBox5.Items.Item(i)) Next ComboBox5.Items.Clear() ComboBox5.Items.Add("Scene Actor Selection") For i = 0 To linkx.Count - 1 ComboBox5.Items.Add(linkarray(i)) Next linkarray.Clear() For i As Integer = 0 To doorx.Count - 1 actordb = New StreamReader(Application.StartupPath & "/ext/actor_db.txt") identity = "?" While actordb.Peek <> -1 actorindex = actordb.ReadLine If Mid(actorindex, 6, 4) = "0001" Then If Mid(actorindex, 1, 4) = doorno1(i) And Mid(actorindex, 11, 4) = doorvar(i) Then identity = Mid(actorindex, 16) Exit While End If Else For i1 = 0 To groupcnt - 1 If Mid(actorindex, 1, 9) = doorno1(i) & ":" & actorgr(i1) And Mid(actorindex, 11, 4) = doorvar(i) Then identity = Mid(actorindex, 16) Dim grpint As Integer = actorgr.IndexOf(Mid(actorindex, 6, 4)) If grpint > -1 Then physgrp(i) = grpint End If Exit While End If Next End If End While ComboBox5.Items.Add((linkx.Count + 1 + i).ToString & " - " & identity) actordb.Dispose() Next If selactorsc.Count = 1 Then ComboBox5.SelectedIndex = oldint End If End If Catch err As Exception End Try End Sub Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick Application.DoEvents() FPSCountSTR = FPSCount.ToString FPSCount = 0 End Sub Private Sub TrackBar4_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar4.Scroll toolsens = TrackBar4.Value - 0.5 End Sub Private Sub ScrollSensitivity(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles SimpleOpenGlControl1.MouseWheel If e.Delta < 0 Then If TrackBar4.Value > TrackBar4.Minimum Then TrackBar4.Value -= 1 End If Else If TrackBar4.Value < TrackBar4.Maximum Then TrackBar4.Value += 1 End If End If If TrackBar4.Value = TrackBar4.Minimum Then toolsens = 0 Else toolsens = TrackBar4.Value - 0.5 End If End Sub Private Sub CameraSensitivity(ByVal up As Boolean) If Not up Then If TrackBar1.Value > TrackBar1.Minimum Then TrackBar1.Value -= 1 End If Else If TrackBar1.Value < TrackBar1.Maximum Then TrackBar1.Value += 1 End If End If run = TrackBar1.Value End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click If maploaded Then SaveFileDialog2.FileName = NoExt(GetFileName(LoadROM.FileName)) & "_actors.txt" If SaveFileDialog2.ShowDialog = DialogResult.Cancel Then SaveFileDialog2.Dispose() Else Dim file As StreamWriter = New StreamWriter(SaveFileDialog2.FileName, True) file.Write("Model files _" & Environment.NewLine & Environment.NewLine) For i = 0 To groupcnt - 1 file.Write("0x" & actorgr(i) & " - " & objectss(objects.IndexOf(actorgr(i))) & Environment.NewLine) Next file.Write(Environment.NewLine & "Number - Description (Actor:Variable) _" & Environment.NewLine & Environment.NewLine) For i = 0 To actorfound - 1 file.Write(ComboBox7.Items.Item(i + 1) & " (0x" & actorno(i) & ":0x" & actorvar(i) & ")" & Environment.NewLine) Next file.Dispose() End If End If End Sub Private Sub ColorChange() If MouseLeft Then MouseLeft = False If MouseRight Then MouseRight = False If MouseMiddle Then MouseMiddle = False mouse = 0 key_ctrl = False If ColorDialog1.ShowDialog() = DialogResult.Cancel Then ColorDialog1.Dispose() Else For i2 = 0 To selmesh.Count - 1 If selmesh(i2) <> -1 Then 'Vertices(selmesh(i2)).r(selvert(i2)) = Convert.ToByte(Mid(ColorTranslator.ToOle(ColorDialog1.Color).ToString("X6"), 5, 2), 16) 'Vertices(selmesh(i2)).g(selvert(i2)) = Convert.ToByte(Mid(ColorTranslator.ToOle(ColorDialog1.Color).ToString("X6"), 3, 2), 16) 'Vertices(selmesh(i2)).b(selvert(i2)) = Convert.ToByte(Mid(ColorTranslator.ToOle(ColorDialog1.Color).ToString("X6"), 1, 2), 16) End If Next End If If selmesh.Count = 1 Then 'Dim vcolor As String = "#" & zerofill2(Hex(CInt(Vertices(selmesh(0)).r(selvert(0))))) & zerofill2(Hex(CInt(Vertices(selmesh(0)).g(selvert(0))))) & zerofill2(Hex(CInt(Vertices(selmesh(0)).b(selvert(0))))) 'Button10.BackColor = ColorTranslator.FromHtml(vcolor) End If End Sub Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click ColorChange() End Sub 'Private Sub Button8_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) ' If ColorDialog1.ShowDialog() = DialogResult.Cancel Then ' ColorDialog1.Dispose() ' Else ' fogcolor = Drawing.ColorTranslator.ToOle(ColorDialog1.Color).ToString("X6") ' fogcolor = Mid(fogcolor, 5, 2) & Mid(fogcolor, 3, 2) & Mid(fogcolor, 1, 2) 'swap from OLE to standard HTML format that OoT uses ' End If 'End Sub Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click MusicModValues.Show() End Sub Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click If IsNumeric(TextBox1.Text) Then If Mid(TextBox1.Text, 1, 1) = "-" Then TextBox1.Text = Mid(TextBox1.Text, 2) Button12.Text = "-" Else TextBox1.Text = "-" & TextBox1.Text Button12.Text = "+" End If End If End Sub Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click If IsNumeric(TextBox2.Text) Then If Mid(TextBox2.Text, 1, 1) = "-" Then TextBox2.Text = Mid(TextBox2.Text, 2) Button14.Text = "-" Else TextBox2.Text = "-" & TextBox2.Text Button14.Text = "+" End If End If End Sub Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click If IsNumeric(TextBox3.Text) Then If Mid(TextBox3.Text, 1, 1) = "-" Then TextBox3.Text = Mid(TextBox3.Text, 2) Button13.Text = "-" Else TextBox3.Text = "-" & TextBox3.Text Button13.Text = "+" End If End If End Sub Private Sub MatchCollision(ByVal mm As Integer) working = True Label28.Show() ProgressBar1.Maximum = CollisionVerts.x.Count For i = 0 To CollisionVerts.x.Count - 1 ProgressBar1.Value += 1 ProgressBar1.Refresh() 'For i0 As Integer = 0 To Vertices.Length - 1 ' For i1 = 0 To Vertices(i0).x.Count - 1 ' If Vertices(i0).ox(i1) = CollisionVerts.ox(i) And Vertices(i0).oy(i1) = CollisionVerts.oy(i) And Vertices(i0).oz(i1) = CollisionVerts.oz(i) Then ' Select Case mm ' Case 0 ' CollisionVerts.x(i) = Vertices(i0).x(i1) ' CollisionVerts.y(i) = Vertices(i0).y(i1) ' CollisionVerts.z(i) = Vertices(i0).z(i1) ' Case 1 ' Vertices(i0).x(i1) = CollisionVerts.x(i) ' Vertices(i0).y(i1) = CollisionVerts.y(i) ' Vertices(i0).z(i1) = CollisionVerts.z(i) ' End Select ' End If ' Next 'Next Next ProgressBar1.Value = 0 Label28.Hide() working = False End Sub Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MatchCollision(1) End Sub Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MatchCollision(0) End Sub Private Sub CollisionMeshToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) rendersc = True renderobj = False End Sub Private Sub BothToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) renderobj = True rendersc = True End Sub Private Sub FilledToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FilledToolStripMenuItem.Click wireframe = False Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL) ToolStripButton12.Image = My.Resources.Clipboard022 End Sub Private Sub WireframeToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WireframeToolStripMenuItem.Click wireframe = True Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE) ToolStripButton12.Image = My.Resources.Clipboard01 End Sub Private Sub SimpleOpenGlControl1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles SimpleOpenGlControl1.MouseMove oldLocalMouse = SimpleOpenGlControl1.PointToClient(Windows.Forms.Cursor.Position) End Sub Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged If ComboBox3.SelectedIndex = 0 Then For i4 = 0 To DLInfo.Length - 1 DLInfo(i4).skip = False Next Else For i4 = 0 To DLInfo.Length - 1 If Not i4 = ComboBox3.SelectedIndex - 1 Then DLInfo(i4).skip = True Else DLInfo(i4).skip = False End If Next End If EntryPointLoad() End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) PictureBox1.SizeMode = PictureBoxSizeMode.Normal End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) PictureBox1.SizeMode = PictureBoxSizeMode.Zoom End Sub Public Sub ToggleTabs() If TabControl1.Visible Then Dim img1 As New Bitmap(My.Resources.ChestClosed) ToolStripButton1.Image = img1 TabControl1.Visible = False SimpleOpenGlControl1.Width += 235 Reshape() Else Dim img1 As New Bitmap(My.Resources.ChestOpen) ToolStripButton1.Image = img1 TabControl1.Visible = True SimpleOpenGlControl1.Width -= 235 Reshape() End If End Sub Private Sub Button18_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button18.MouseDown btnno = 0 Timer1.Start() End Sub Private Sub Button18_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button18.MouseUp Timer1.Stop() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 'cv = Cos(yrotd) * toolsens 'sv = Sin(yrotd) * toolsens 'If vertexsel Then ' If selmesh.Count > 0 Then ' For i2 = 0 To selmesh.Count - 1 ' 'Dim xorig As Int16 = Vertices(selmesh(i2)).x(selvert(i2)) ' 'Dim zorig As Int16 = Vertices(selmesh(i2)).z(selvert(i2)) ' Select Case btnno ' Case 0 ' Vertices(selmesh(i2)).x(selvert(i2)) -= cv ' Vertices(selmesh(i2)).z(selvert(i2)) -= sv ' Case 1 ' Vertices(selmesh(i2)).y(selvert(i2)) += toolsens ' Case 2 ' Vertices(selmesh(i2)).y(selvert(i2)) -= toolsens ' Case 3 ' Vertices(selmesh(i2)).x(selvert(i2)) += cv ' Vertices(selmesh(i2)).z(selvert(i2)) += sv ' Case 4 ' Vertices(selmesh(i2)).x(selvert(i2)) -= sv ' Vertices(selmesh(i2)).z(selvert(i2)) += cv ' Case 5 ' Vertices(selmesh(i2)).x(selvert(i2)) += sv ' Vertices(selmesh(i2)).z(selvert(i2)) -= cv ' Case 6 ' Vertices(selmesh(i2)).v(selvert(i2)) += 15 ' Case 7 ' Vertices(selmesh(i2)).v(selvert(i2)) -= 15 ' Case 8 ' Vertices(selmesh(i2)).u(selvert(i2)) -= 15 ' Case 9 ' Vertices(selmesh(i2)).u(selvert(i2)) += 15 ' End Select ' Next ' UpdateVertM() ' ElseIf selvertc.Count > 0 Then ' For i1 = 0 To selvertc.Count - 1 ' Select Case btnno ' Case 0 ' CollisionVerts.x(selvertc(i1)) -= cv ' CollisionVerts.z(selvertc(i1)) -= sv ' Case 1 ' CollisionVerts.y(selvertc(i1)) += toolsens ' Case 2 ' CollisionVerts.y(selvertc(i1)) -= toolsens ' Case 3 ' CollisionVerts.x(selvertc(i1)) += cv ' CollisionVerts.z(selvertc(i1)) += sv ' Case 4 ' CollisionVerts.x(selvertc(i1)) -= sv ' CollisionVerts.z(selvertc(i1)) += cv ' Case 5 ' CollisionVerts.x(selvertc(i1)) += sv ' CollisionVerts.z(selvertc(i1)) -= cv ' End Select ' Next ' UpdateVertM() ' End If 'ElseIf actorsel Then ' Select Case btnno ' Case 0 ' If door Then ' For i = 0 To selactorsc.Count - 1 ' i1 = selactorsc(i) ' doorx(i1) -= cv ' doorz(i1) -= sv ' Next ' ElseIf link Then ' For i = 0 To sellink.Count - 1 ' linkx(sellink(i)) -= Cos(yrotd) * toolsens ' linkz(sellink(i)) -= Sin(yrotd) * toolsens ' Next ' Else ' For i = 0 To selactor.Count - 1 ' actorx(selactor(i)) -= cv ' actorz(selactor(i)) -= sv ' Next ' End If ' Case 1 ' If door Then ' For i = 0 To selactorsc.Count - 1 ' doory(selactorsc(i)) += toolsens ' Next ' ElseIf link Then ' For i = 0 To sellink.Count - 1 ' linky(sellink(i)) += toolsens ' Next ' Else ' For i = 0 To selactor.Count - 1 ' actory(selactor(i)) += toolsens ' Next ' End If ' Case 2 ' If door Then ' For i = 0 To selactorsc.Count - 1 ' doory(selactorsc(i)) -= toolsens ' Next ' ElseIf link Then ' For i = 0 To sellink.Count - 1 ' linky(sellink(i)) -= toolsens ' Next ' Else ' For i = 0 To selactor.Count - 1 ' actory(selactor(i)) -= toolsens ' Next ' End If ' Case 3 ' If door Then ' For i = 0 To selactorsc.Count - 1 ' i1 = selactorsc(i) ' doorx(i1) += cv ' doorz(i1) += sv ' Next ' ElseIf link Then ' For i = 0 To sellink.Count - 1 ' linkx(sellink(i)) += cv ' linkz(sellink(i)) += sv ' Next ' Else ' For i = 0 To selactor.Count - 1 ' actorx(selactor(i)) += cv ' actorz(selactor(i)) += sv ' Next ' End If ' Case 4 ' If door Then ' For i = 0 To selactorsc.Count - 1 ' i1 = selactorsc(i) ' doorx(i1) -= sv ' doorz(i1) += cv ' Next ' ElseIf link Then ' For i = 0 To sellink.Count - 1 ' linkx(sellink(i)) -= sv ' linkz(sellink(i)) += cv ' Next ' Else ' For i = 0 To selactor.Count - 1 ' actorx(selactor(i)) -= sv ' actorz(selactor(i)) += cv ' Next ' End If ' Case 5 ' If door Then ' For i = 0 To selactorsc.Count - 1 ' i1 = selactorsc(i) ' doorx(i1) += sv ' doorz(i1) -= cv ' Next ' ElseIf link Then ' For i = 0 To sellink.Count - 1 ' linkx(sellink(i)) += sv ' linkz(sellink(i)) -= cv ' Next ' Else ' For i = 0 To selactor.Count - 1 ' actorx(selactor(i)) += sv ' actorz(selactor(i)) -= cv ' Next ' End If ' End Select ' UpdateActorPos() 'End If End Sub Private Sub Button8_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button8.MouseDown btnno = 1 Timer1.Start() End Sub Private Sub Button8_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button8.MouseUp Timer1.Stop() End Sub Private Sub Button20_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button20.MouseDown btnno = 2 Timer1.Start() End Sub Private Sub Button20_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button20.MouseUp Timer1.Stop() End Sub Private Sub Button4_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button4.MouseDown btnno = 3 Timer1.Start() End Sub Private Sub Button4_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button4.MouseUp Timer1.Stop() End Sub Private Sub Button19_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button19.MouseDown btnno = 5 Timer1.Start() End Sub Private Sub Button19_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button19.MouseUp Timer1.Stop() End Sub Private Sub Button17_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button17.MouseDown btnno = 4 Timer1.Start() End Sub Private Sub Button17_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button17.MouseUp Timer1.Stop() End Sub Private Sub SetupToolStripMenuItem_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetupToolStripMenuItem.Click SetupDialog.ShowDialog() End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged changevert(0) = True End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged changevert(1) = True End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged changevert(2) = True End Sub Private Sub CollisionMeshToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CollisionMeshToolStripMenuItem.Click If rendersc = False Then rendersc = True CollisionMeshToolStripMenuItem.Checked = True Else rendersc = False CollisionMeshToolStripMenuItem.Checked = False End If End Sub Private Sub MainWin_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed End End Sub Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MatchCollision(2) End Sub Private Sub ResetVerts(ByVal mode As Integer) 'VertResetPrefs.Text = "Reset selected vertices" 'key_ctrl = False 'If mode = 0 Then ' If selvert.Count > 0 Then ' VertResetPrefs.CheckBox4.Enabled = True ' VertResetPrefs.CheckBox5.Enabled = True ' VertResetPrefs.CheckBox6.Enabled = True ' VertResetPrefs.CheckBox4.Checked = True ' VertResetPrefs.CheckBox5.Checked = True ' VertResetPrefs.CheckBox6.Checked = True ' VertResetPrefs.ShowDialog() ' For i2 = 0 To selmesh.Count - 1 ' If resetbools(0) Then Vertices(selmesh(i2)).x(selvert(i2)) = Vertices(selmesh(i2)).ox(selvert(i2)) ' If resetbools(1) Then Vertices(selmesh(i2)).y(selvert(i2)) = Vertices(selmesh(i2)).oy(selvert(i2)) ' If resetbools(2) Then Vertices(selmesh(i2)).z(selvert(i2)) = Vertices(selmesh(i2)).oz(selvert(i2)) ' If resetbools(3) Then Vertices(selmesh(i2)).u(selvert(i2)) = Vertices(selmesh(i2)).ou(selvert(i2)) ' If resetbools(4) Then Vertices(selmesh(i2)).v(selvert(i2)) = Vertices(selmesh(i2)).ov(selvert(i2)) ' If resetbools(5) Then ' Vertices(selmesh(i2)).r(selvert(i2)) = Vertices(selmesh(i2)).r0(selvert(i2)) ' Vertices(selmesh(i2)).g(selvert(i2)) = Vertices(selmesh(i2)).g0(selvert(i2)) ' Vertices(selmesh(i2)).b(selvert(i2)) = Vertices(selmesh(i2)).b0(selvert(i2)) ' End If ' Next ' ElseIf selvertc.Count > 0 Then ' VertResetPrefs.CheckBox4.Enabled = False ' VertResetPrefs.CheckBox5.Enabled = False ' VertResetPrefs.CheckBox6.Enabled = False ' VertResetPrefs.CheckBox4.Checked = False ' VertResetPrefs.CheckBox5.Checked = False ' VertResetPrefs.CheckBox6.Checked = False ' VertResetPrefs.ShowDialog() ' For i2 = 0 To selvertc.Count - 1 ' If resetbools(0) Then CollisionVerts.x(selvertc(i2)) = CollisionVerts.ox(selvertc(i2)) ' If resetbools(1) Then CollisionVerts.y(selvertc(i2)) = CollisionVerts.oy(selvertc(i2)) ' If resetbools(2) Then CollisionVerts.z(selvertc(i2)) = CollisionVerts.oz(selvertc(i2)) ' Next ' End If 'Else ' VertResetPrefs.CheckBox4.Enabled = True ' VertResetPrefs.CheckBox5.Enabled = True ' VertResetPrefs.CheckBox6.Enabled = True ' VertResetPrefs.CheckBox4.Checked = True ' VertResetPrefs.CheckBox5.Checked = True ' VertResetPrefs.CheckBox6.Checked = True ' VertResetPrefs.Text = "Reset all vertices" ' VertResetPrefs.ShowDialog() ' 'For i = 0 To Vertices.Length - 1 ' ' For i1 = 0 To Vertices(i).x.Count - 1 ' ' If resetbools(0) Then Vertices(i).x(i1) = Vertices(i).ox(i1) ' ' If resetbools(1) Then Vertices(i).y(i1) = Vertices(i).oy(i1) ' ' If resetbools(2) Then Vertices(i).z(i1) = Vertices(i).oz(i1) ' ' If resetbools(3) Then Vertices(i).u(i1) = Vertices(i).ou(i1) ' ' If resetbools(4) Then Vertices(i).v(i1) = Vertices(i).ov(i1) ' ' If resetbools(5) Then ' ' Vertices(i).r(i1) = Vertices(i).r0(i1) ' ' Vertices(i).g(i1) = Vertices(i).g0(i1) ' ' Vertices(i).b(i1) = Vertices(i).b0(i1) ' ' End If ' ' Next ' 'Next 'End If End Sub Private Sub ResetAllGraphicsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetAllGraphicsToolStripMenuItem.Click ResetVerts(1) Timer3.Stop() End Sub Private Sub ResetAllCollisionToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetAllCollisionToolStripMenuItem.Click ResetCollision() End Sub Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) vertexsel = False actorsel = False trisel = True End Sub Private Sub ToolStripMenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem7.Click If Not vertexsel Then meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False End If axestr = "(X + Y)" If actorsel Then ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr ElseIf vertexsel Then ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " " & n(vtmode) End If movest = 0 ToolStripMenuItem7.Checked = True ToolStripMenuItem8.Checked = False ToolStripMenuItem6.Checked = False End Sub Private Sub ToolStripMenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem8.Click If Not vertexsel Then meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False End If axestr = "(X)" If actorsel Then ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr ElseIf vertexsel Then ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " " & n(vtmode) End If movest = 1 ToolStripMenuItem7.Checked = False ToolStripMenuItem8.Checked = True ToolStripMenuItem6.Checked = False End Sub Private Sub ToolStripMenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem6.Click If Not vertexsel Then meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False End If axestr = "(Y)" If actorsel Then ToolStripStatusLabel4.Text = "Tool: Actor mover " & axestr ElseIf vertexsel Then ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " " & n(vtmode) End If movest = 2 ToolStripMenuItem7.Checked = False ToolStripMenuItem8.Checked = False ToolStripMenuItem6.Checked = True End Sub Private Sub TriangleEditorToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TriangleEditorToolStripMenuItem.Click meshw = -1 vertw = -1 CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False ToolStripStatusLabel4.Text = "Tool: Collision triangle editor" actorsel = False vertexsel = False trisel = True VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = False ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = True AllSharedToolStripMenuItem.Checked = False SinglePointToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False End Sub Private Sub CheckBox9_CheckedChanged_2(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not myownrm Then myownrm = True Else myownrm = False End If End Sub Private Sub CheckBox8_CheckedChanged_2(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not myownobj Then myownobj = True Else myownobj = False End If End Sub Private Sub CheckBox12_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not myownsc Then myownsc = True Else myownsc = False End If End Sub Private Sub RadioButton3_CheckedChanged_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged PictureBox1.SizeMode = PictureBoxSizeMode.Zoom End Sub Private Sub RadioButton2_CheckedChanged_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub RadioButton1_CheckedChanged_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage End Sub Private Sub MainWin_ResizeEnd(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.ResizeEnd If Me.Width < 800 Then Me.Width = 800 End If If Me.Height < 600 Then Me.Height = 600 End If Reshape() End Sub Private Sub MainWin_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize Reshape() End Sub Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) typecol = 0 End Sub Private Sub RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) typecol = 1 End Sub Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) typecol = 2 End Sub Private Sub ContextMenuStrip7_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles ContextMenuStrip7.ItemClicked If e.ClickedItem.ToString = "Add Preset..." Then ColPresetDialog.ShowDialog() End If End Sub Private Sub RadioButton7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) ChangeColor() End Sub Private Sub ChangeColor() If TextBox14.Text <> "" Then For i = 0 To colvar.Count - 1 If TextBox14.Text = colvar(i) Then ctris(i).g = 0 ctris(i).b = 0 Else ctris(i).g = 1 ctris(i).b = 1 End If Next Else For i = 0 To colvar.Count - 1 ctris(i).g = 1 ctris(i).b = 1 Next End If End Sub Private Sub ComboBox1_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.SelectedIndex > 0 Then seltype = coltypes(ComboBox1.SelectedIndex - 1) Dim v1 As String = Mid(seltype, 1, 4) Dim v2 As String = Mid(seltype, 5, 4) Dim v3 As String = Mid(seltype, 9, 4) Dim v4 As String = Mid(seltype, 13, 4) TextBox15.Text = v1 TextBox18.Text = v2 TextBox17.Text = v3 TextBox19.Text = Mid(v4, 1, 3) TextBox20.Text = Mid(v4, 4, 1) TextBox15.Enabled = True TextBox17.Enabled = True TextBox18.Enabled = True TextBox19.Enabled = True ChangeColor() Else TextBox15.Text = "" TextBox17.Text = "" TextBox18.Text = "" TextBox19.Text = "" TextBox20.Text = "" TextBox20.Enabled = False TextBox15.Enabled = False TextBox17.Enabled = False TextBox18.Enabled = False TextBox19.Enabled = False ChangeColor() End If End Sub Private Sub Button22_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click If colvar.Count > 0 Then If ComboBox8.SelectedIndex > 0 Then exits(ComboBox8.SelectedIndex - 1) = zerofill1(TextBox16.Text) End If coltypes(ComboBox1.SelectedIndex - 1) = TextBox15.Text & TextBox18.Text & TextBox17.Text & TextBox19.Text & TextBox20.Text End If End Sub Private Sub Button21_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click ContextMenuStrip7.Show(MousePosition.X, MousePosition.Y) End Sub Private Sub ComboBox8_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox8.SelectedIndexChanged If ComboBox8.SelectedIndex > 0 Then TextBox16.Enabled = True TextBox16.Text = exits(ComboBox8.SelectedIndex - 1) Else TextBox16.Enabled = False TextBox16.Text = "" End If End Sub Private Sub Button16_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click MatchCollision(0) End Sub Private Sub Button15_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click MatchCollision(1) End Sub Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) ExitSelectDialog.ComboBox1.Items.Clear() For i = 0 To ComboBox8.Items.Count - 1 ExitSelectDialog.ComboBox1.Items.Add(ComboBox8.Items.Item(i)) Next ExitSelectDialog.ShowDialog() End Sub Private Sub ImportCSVToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImportCSVToolStripMenuItem.Click If OpenFileDialog3.ShowDialog = DialogResult.Cancel Then OpenFileDialog3.Dispose() End If End Sub Structure OBJPoints Dim x As Double Dim y As Double Dim z As Double End Structure Structure OBJUVs Dim u As Single Dim v As Single End Structure Structure OBJFaces Dim A As ArrayList Dim B As ArrayList Dim C As ArrayList Dim D As ArrayList Dim E As ArrayList Dim F As ArrayList Dim Rc As ArrayList Dim Gc As ArrayList Dim Bc As ArrayList Dim Ra As ArrayList Dim Ga As ArrayList Dim Ba As ArrayList End Structure Private Sub OpenFileDialog3_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog3.FileOk Dim objfile As StreamReader = New StreamReader(OpenFileDialog3.FileName) Dim matfile As StreamReader Dim curline As String = "" objtexcnt = 0 Dim matfilename As String = "" Dim ObjLines() As String = {} Dim MatLines() As String = {} Dim texfn As String = "" Dim grpcnt As Integer = -1 Dim tricnt As Integer = 0 Dim pointcnt As Integer = -1 Dim vtcnt As Integer = -1 Dim mattexfilename As String = "" Dim tr As Double = 0.0 Dim tg As Double = 0.0 Dim tb As Double = 0.0 Dim tra As Double = 0.0 Dim tga As Double = 0.0 Dim tba As Double = 0.0 Dim oldgrcnt As Integer = 0 Dim filesdir As String = Path.GetDirectoryName(OpenFileDialog3.FileName) Dim lineno As Integer = 0 Dim fA() As String FileOpen(1, "c:/test.zmap", OpenMode.Binary) While objfile.Peek <> -1 curline = objfile.ReadLine If lineno = 0 Then If Not curline.Contains("3ds Max") Then MsgBox("Due to strict specifics in formatting, the model importer currently only supports 3D Studio Max made .obj files. Import this model into 3DS Max and export it back out to .obj format make it compatible.", MsgBoxStyle.Critical, "Not a 3DS Max export!") FileClose(1) objfile.Close() Exit Sub End If End If ObjLines = curline.Split(" ") Select Case ObjLines(0) Case "mtllib" matfilename = ObjLines(1) Case "g" If ObjLines.Length > 1 Then grpcnt += 1 curline = objfile.ReadLine ObjLines = curline.Split(" ") If ObjLines(0) = "usemtl" Then matfile = New StreamReader(filesdir & "\" & matfilename) While matfile.Peek <> -1 curline = matfile.ReadLine MatLines = curline.Split(" ") If MatLines(0) = "newmtl" Then If MatLines(1) = ObjLines(1) Then Do Until MatLines(0) = "" curline = matfile.ReadLine If curline = Nothing Then Exit Do End If MatLines = curline.Split(" ") Select Case MatLines(0) Case "Kd", ControlChars.Tab & "Kd" If MatLines(1) = "" Then tr = CDbl(MatLines(2)) tg = CDbl(MatLines(3)) tb = CDbl(MatLines(4)) Else tr = CDbl(MatLines(1)) tg = CDbl(MatLines(2)) tb = CDbl(MatLines(3)) End If Case "Ks", ControlChars.Tab & "Ks" If MatLines(1) = "" Then tra = CDbl(MatLines(2)) tga = CDbl(MatLines(3)) tba = CDbl(MatLines(4)) Else tra = CDbl(MatLines(1)) tga = CDbl(MatLines(2)) tba = CDbl(MatLines(3)) End If Case "map_Ka", "map_Kd", ControlChars.Tab & "map_Ka", ControlChars.Tab & "map_Kd" If MatLines(1).Contains("\") Then mattexfilename = MatLines(1) Else mattexfilename = filesdir & "\" & GetFileName(MatLines(1)) End If End Select Loop 'Exit While End If End If End While If File.Exists(mattexfilename) Then Il.ilLoadImage(mattexfilename) Il.ilConvertImage(Il.IL_RGBA, Il.IL_UNSIGNED_BYTE) Dim texh As Integer = Il.ilGetInteger(Il.IL_IMAGE_HEIGHT) Dim texw As Integer = Il.ilGetInteger(Il.IL_IMAGE_WIDTH) Gl.glBindTexture(Gl.GL_TEXTURE_2D, grpcnt) Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Il.ilGetInteger(Il.IL_IMAGE_BPP), texw, texh, 0, Il.ilGetInteger(Il.IL_IMAGE_FORMAT), Gl.GL_UNSIGNED_BYTE, Il.ilGetData()) Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_REPEAT) Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_REPEAT) Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR) Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR) objtexcnt += 1 End If End If ReDim Preserve OBJPolygons(grpcnt) With OBJPolygons(grpcnt) .A = New ArrayList .B = New ArrayList .C = New ArrayList .D = New ArrayList .E = New ArrayList .F = New ArrayList .Rc = New ArrayList .Gc = New ArrayList .Bc = New ArrayList End With End If Case "v" pointcnt += 1 ReDim Preserve OBJVertices(pointcnt) With OBJVertices(pointcnt) If ObjLines.Length = 7 Then .x = CDbl(ObjLines(2)) .y = CDbl(ObjLines(4)) .z = CDbl(ObjLines(6)) Else If ObjLines(1) = "" Then .x = CDbl(ObjLines(2)) .y = CDbl(ObjLines(3)) .z = CDbl(ObjLines(4)) Else .x = CDbl(ObjLines(1)) .y = CDbl(ObjLines(2)) .z = CDbl(ObjLines(3)) End If End If End With Case "vt" vtcnt += 1 ReDim Preserve OBJTexCoord(vtcnt) With OBJTexCoord(vtcnt) If ObjLines(1) = "" Then .u = CDbl(ObjLines(2)) .v = CDbl(ObjLines(3)) Else .u = CDbl(ObjLines(1)) .v = CDbl(ObjLines(2)) End If End With Case "f" If ObjLines(1) <> "" Then tricnt += 1 With OBJPolygons(grpcnt) If ObjLines(1).IndexOf("/") = -1 Then .A.Add(CInt(ObjLines(1)) - 1) .B.Add(CInt(ObjLines(2)) - 1) .C.Add(CInt(ObjLines(3)) - 1) Else For i = 1 To 3 fA = ObjLines(i).Split("/") Select Case i Case 1 .A.Add(CInt(fA(0)) - 1) .D.Add(CInt(fA(1)) - 1) Case 2 .B.Add(CInt(fA(0)) - 1) .E.Add(CInt(fA(1)) - 1) Case 3 .C.Add(CInt(fA(0)) - 1) .F.Add(CInt(fA(1)) - 1) End Select Next End If .Rc.Add(tr) .Gc.Add(tg) .Bc.Add(tb) End With End If End Select If lineno = 0 Then lineno += 1 End While objfile.Close() FileClose(1) ResetView() GC.Collect() End Sub Private Sub ResetSelectedVerticesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetSelectedVerticesToolStripMenuItem.Click Timer3.Stop() ResetVerts(0) End Sub Private Sub AllPointsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) vtmode = 0 SinglePointToolStripMenuItem.Checked = False ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (all)" actorsel = False vertexsel = True trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False End Sub Private Sub SinglePointToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SinglePointToolStripMenuItem.Click CheckBox16.Enabled = True CheckBox17.Enabled = True CheckBox18.Enabled = True CheckBox19.Enabled = True Button37.Enabled = True Label44.Enabled = True vtmode = 1 SinglePointToolStripMenuItem.Checked = True ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (single)" actorsel = False vertexsel = True trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = False End Sub Private Sub PerMeshToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PerMeshToolStripMenuItem.Click CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False vertw = -1 vtmode = 2 SinglePointToolStripMenuItem.Checked = False ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (mesh)" actorsel = False vertexsel = True trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = True AllSharedToolStripMenuItem.Checked = False End Sub Private Sub CheckBox13_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) If hide0(0) Then hide0(0) = False Else hide0(0) = True End If End Sub Private Sub CheckBox14_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) If hide0(1) Then hide0(1) = False Else hide0(1) = True End If End Sub Private Sub CheckBox15_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) If hide0(2) Then hide0(2) = False Else hide0(2) = True End If End Sub Private Sub FlagsToolStripMenuItem_DropDownItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles FlagsToolStripMenuItem.DropDownItemClicked If e.ClickedItem.ToString.Contains("Exit") Then ExitSelectDialog.ComboBox1.Items.Clear() For i = 0 To exits.Count - 1 ExitSelectDialog.ComboBox1.Items.Add(exits(i)) Next ExitSelectDialog.ShowDialog() Else Dim tind As String = presetind(FlagsToolStripMenuItem.DropDownItems.IndexOf(e.ClickedItem)) Dim tstr As String = presets(FlagsToolStripMenuItem.DropDownItems.IndexOf(e.ClickedItem)) Select Case tind Case "1" TextBox15.Text = tstr Case "2" TextBox18.Text = tstr Case "3" TextBox17.Text = tstr End Select End If End Sub Private Sub AllSharedToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AllSharedToolStripMenuItem.Click CheckBox16.Enabled = False CheckBox17.Enabled = False CheckBox18.Enabled = False CheckBox19.Enabled = False Button37.Enabled = False Label44.Enabled = False vtmode = 3 SinglePointToolStripMenuItem.Checked = False ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (all shared)" actorsel = False vertexsel = True trisel = False VertexWelderToolStripMenuItem.Checked = False VertexSelectorToolStripMenuItem.Checked = True ActorSelectorToolStripMenuItem.Checked = False TriangleEditorToolStripMenuItem.Checked = False PerMeshToolStripMenuItem.Checked = False AllSharedToolStripMenuItem.Checked = True End Sub Private Sub AddPresetToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddPresetToolStripMenuItem.Click ColPresetDialog.ShowDialog() End Sub Private Sub Button23_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click ActorPresets.Show() ActorPresets.Focus() End Sub Private Sub TextBox22_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox22.TextChanged changevert(3) = True End Sub Private Sub TextBox21_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox21.TextChanged changevert(4) = True End Sub Private Sub Button26_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button26.MouseDown btnno = 6 Timer1.Start() End Sub Private Sub Button26_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button26.MouseUp Timer1.Stop() End Sub Private Sub Button24_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button24.MouseDown btnno = 7 Timer1.Start() End Sub Private Sub Button24_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button24.MouseUp Timer1.Stop() End Sub Private Sub Button27_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button27.MouseDown btnno = 8 Timer1.Start() End Sub Private Sub Button27_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button27.MouseUp Timer1.Stop() End Sub Private Sub Button25_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button25.MouseDown btnno = 9 Timer1.Start() End Sub Private Sub Button25_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button25.MouseUp Timer1.Stop() End Sub Private Sub Button29_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button29.Click If IsNumeric(TextBox22.Text) Then If Mid(TextBox22.Text, 1, 1) = "-" Then TextBox22.Text = Mid(TextBox22.Text, 2) Button29.Text = "-" Else TextBox22.Text = "-" & TextBox22.Text Button29.Text = "+" End If End If End Sub Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button28.Click If IsNumeric(TextBox21.Text) Then If Mid(TextBox21.Text, 1, 1) = "-" Then TextBox21.Text = Mid(TextBox21.Text, 2) Button28.Text = "-" Else TextBox21.Text = "-" & TextBox21.Text Button28.Text = "+" End If End If End Sub Private Sub ResetSelectedActorToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetSelectedActorToolStripMenuItem.Click ResetSelActor() End Sub Private Sub ResetAllActorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetAllActorsToolStripMenuItem.Click For i = 0 To actorx.Count - 1 actorx(i) = oactorx(i) actory(i) = oactory(i) actorz(i) = oactorz(i) actorxrot(i) = oactorxrot(i) actoryrot(i) = oactoryrot(i) actorzrot(i) = oactorzrot(i) Next End Sub Private Sub ResetAllSceneActorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetAllSceneActorsToolStripMenuItem.Click For i = 0 To doorx.Count - 1 doorx(i) = odoorx(i) doory(i) = odoory(i) doorz(i) = odoorz(i) Next For i = 0 To linkx.Count - 1 linkx(i) = olinkx(i) linky(i) = olinky(i) linkz(i) = olinkz(i) linkxr(i) = olinkxr(i) linkyr(i) = olinkyr(i) linkzr(i) = olinkzr(i) Next End Sub Private Sub ResetSelActor() If Not link And Not door Then For i = 0 To selactor.Count - 1 i1 = selactor(i) actorx(i1) = oactorx(i1) actory(i1) = oactory(i1) actorz(i1) = oactorz(i1) actorxrot(i1) = oactorxrot(i1) actoryrot(i1) = oactoryrot(i1) actorzrot(i1) = oactorzrot(i1) Next ElseIf Not link And door Then For i = 0 To selactorsc.Count - 1 i1 = selactorsc(i) doorx(i1) = odoorx(i1) doory(i1) = odoory(i1) doorz(i1) = odoorz(i1) Next ElseIf link And Not door Then If link Then For i = 0 To sellink.Count - 1 i1 = sellink(i) linkx(i1) = olinkx(i1) linky(i1) = olinky(i1) linkz(i1) = olinkz(i1) linkxr(i1) = olinkxr(i1) linkyr(i1) = olinkyr(i1) linkzr(i1) = olinkzr(i1) Next End If End If End Sub Public Sub DelimitActors() Dim curline As String = "" Dim gp As String = "" Dim np As String = "" Dim ap As String = "" Dim desc As String = "" actorgp.Clear() actornp.Clear() actorvp.Clear() actorgpu.Clear() actornpu.Clear() actorvpu.Clear() ActorPresets.ListBox1.Items.Clear() ActorPresets.ListBox2.Items.Clear() For i = 0 To agrbuff.Count - 1 gp = CStr(agrbuff(i)) np = CStr(anobuff(i)) ap = CStr(avarbuff(i)) desc = CStr(adescbuff(i)) If actorgr.Contains(gp) Or gp = "0001" Then ActorPresets.ListBox1.Items.Add(desc) actorgp.Add(gp) actornp.Add(np) actorvp.Add(ap) Else ActorPresets.ListBox2.Items.Add(desc) actorgpu.Add(gp) actornpu.Add(np) actorvpu.Add(ap) End If Next End Sub Private Sub AvailableToolStripMenuItem_DropDownItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) End Sub Private Sub NeedGroupsToolStripMenuItem_DropDownItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) End Sub Private Sub EditDatabaseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Process.Start(Application.StartupPath & "\ext\actor_db.txt") End Sub Private Sub CheckBox13_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox13.CheckedChanged If hide0(0) Then hide0(0) = False Else hide0(0) = True End If End Sub Private Sub CheckBox14_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox14.CheckedChanged If hide0(1) Then hide0(1) = False Else hide0(1) = True End If End Sub Private Sub CheckBox15_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox15.CheckedChanged If hide0(2) Then hide0(2) = False Else hide0(2) = True End If End Sub Private Sub Button35_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not ComboBox3.Items.Count = 0 Then If ComboBox3.SelectedIndex - 1 < 0 Then ComboBox3.SelectedIndex = ComboBox3.Items.Count - 1 Else ComboBox3.SelectedIndex -= 1 End If End If End Sub Private Sub Button36_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not ComboBox3.Items.Count = 0 Then If ComboBox3.SelectedIndex + 1 > ComboBox3.Items.Count - 1 Then ComboBox3.SelectedIndex = 0 Else ComboBox3.SelectedIndex += 1 End If End If End Sub Private Sub SelectAllRoomActorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectAllRoomActorsToolStripMenuItem.Click If actorx.Count > 0 Then mpick = True selactor.Clear() selactorsc.Clear() For i = 0 To actorfound - 1 selactor.Add(i) Next ComboBox7.SelectedIndex = 0 End If End Sub Private Sub SelectAllSceneActorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectAllSceneActorsToolStripMenuItem.Click If doorx.Count > 0 Then mpick = True selactor.Clear() selactorsc.Clear() For i = 0 To scenedoorcnt - 1 selactorsc.Add(i) Next ComboBox5.SelectedIndex = 0 End If End Sub Private Sub TextBox7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox7.TextChanged changepos(0) = True End Sub Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged changepos(1) = True End Sub Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged changepos(2) = True End Sub Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox10.TextChanged changepos(3) = True End Sub Private Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged changepos(4) = True End Sub Private Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged changepos(5) = True End Sub Private Sub EnableWeld() weld = True If selvertc.Count = 1 Then meshw = -1 vertw = selvertc(0) ElseIf selmesh.Count = 1 Then meshw = selmesh(0) vertw = selvert(0) End If Button37.Text = "Please select a vertex" Timer3.Stop() timerstr = "Vertex weld mode ON" ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (single - Weld)" WeldModesingleAndAllSharedOnlyToolStripMenuItem.Checked = True End Sub Private Sub DisableWeld() weld = False meshw = -1 vertw = -1 Button37.Text = "Start snap mode" timerstr = "Vertex weld mode OFF" ToolStripStatusLabel4.Text = "Tool: Vertex editor " & axestr & " (single)" WeldModesingleAndAllSharedOnlyToolStripMenuItem.Checked = False End Sub Private Sub Button37_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button37.Click If Button37.Text = "Please select a vertex" & Environment.NewLine & "(click to cancel)" Then DisableWeld() Else If selmesh.Count = 1 Or selvertc.Count = 1 Then EnableWeld() End If End If End Sub Private Sub WeldModesingleAndAllSharedOnlyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WeldModesingleAndAllSharedOnlyToolStripMenuItem.Click If Button37.Text = "Please select a vertex" & Environment.NewLine & "(click to cancel)" Then DisableWeld() Else If selmesh.Count = 1 Then EnableWeld() End If End If End Sub Private Sub CheckBox16_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox16.CheckedChanged If weldpos(0) Then weldpos(0) = False Else weldpos(0) = True End If End Sub Private Sub CheckBox17_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox17.CheckedChanged If weldpos(1) Then weldpos(1) = False Else weldpos(1) = True End If End Sub Private Sub CheckBox18_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox18.CheckedChanged If weldpos(2) Then weldpos(2) = False Else weldpos(2) = True End If End Sub Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll run = TrackBar1.Value End Sub Private Sub CheckBox19_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox19.CheckedChanged If weldautooff Then weldautooff = False Else weldautooff = True End If End Sub Private Sub TabPage1_PreviewKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TabPage1.PreviewKeyDown Select Case e.KeyCode Case Keys.F If vertexsel And vtmode = 1 Then If Button37.Text = "Please select a vertex" Then DisableWeld() Else If selmesh.Count = 1 Or selvertc.Count = 1 Then EnableWeld() End If End If End If End Select End Sub Private Sub LoadFile() If Not working Then Application.DoEvents() ClearArrayLists() Start() End If End Sub Private Sub Reload() If Not working Then Dim oc3 As Integer = 0 If ComboBox3.SelectedIndex > -1 Then oc3 = ComboBox3.SelectedIndex LoadFile() ComboBox3.SelectedIndex = oc3 Else LoadFile() End If End If End Sub Private Sub ReloadCurrentFileToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReloadCurrentFileToolStripMenuItem.Click Reload() End Sub Private Sub CheckBox5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox5.CheckedChanged If hide0(3) Then hide0(3) = False Else hide0(3) = True End If End Sub Private Sub ViewingMeshToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewingMeshToolStripMenuItem1.Click If renderobj Then renderobj = False ViewingMeshToolStripMenuItem1.Checked = False timerstr = "Graphics False" ElseIf Not renderobj Then renderobj = True ViewingMeshToolStripMenuItem1.Checked = True timerstr = "Graphics True" End If End Sub Private Sub SearchForUpdatesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchForUpdatesToolStripMenuItem.Click Try Dim ask As MsgBoxResult = MsgBox("Search for program updates? Requires an active internet connection.", MsgBoxStyle.YesNo, "Update UoT") If ask = DialogResult.Yes Then File.WriteAllText(Application.StartupPath & "\vercomp.txt", Application.ProductVersion) Dim uotupdate As Process = New Process() uotupdate.StartInfo.FileName = Application.StartupPath & "\UoT_Updater.exe" uotupdate.Start() End If Catch err As Exception File.Delete(Application.StartupPath & "\vernew.txt") File.Delete(Application.StartupPath & "\vercomp.txt") File.Delete(Application.StartupPath & "\UoTTemp.zip") End Try End Sub Private Sub SelectAllGraphicsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectAllGraphicsToolStripMenuItem.Click 'selvertc.Clear() 'selmesh.Clear() 'selvert.Clear() 'For i = 0 To Vertices.Length - 1 ' For i1 = 0 To Vertices(i).x.Count - 1 ' selmesh.Add(i) ' selvert.Add(i1) ' Next 'Next End Sub Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click Reload() End Sub Private Sub Button38_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button38.Click ContextMenuStrip1.Show(MousePosition.X, MousePosition.Y) End Sub Private Sub Button41_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button41.Click refreshdebug = True End Sub Private Sub DebugTree_AfterCheck(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles DebugTree.AfterCheck 'MsgBox(e.Node.Parent.Index & " " & e.Node.Index) If ComboBox3.SelectedIndex < 1 Then If e.Node.Checked Then DLInfo(e.Node.Parent.Index).Commands(e.Node.Index).SkipCommand = True Else DLInfo(e.Node.Parent.Index).Commands(e.Node.Index).SkipCommand = False End If Else Dim c3 As Integer = (ComboBox3.SelectedIndex - 1) + e.Node.Parent.Index If e.Node.Checked Then DLInfo(c3).Commands(e.Node.Index).SkipCommand = True Else DLInfo(c3).Commands(e.Node.Index).SkipCommand = False End If End If End Sub Private Sub FileTree_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles FileTree.AfterSelect Dim curnodestr1 As String = FileTree.SelectedNode.Text Select Case curnodestr1 Case "Actor models", "Levels", "Others" Exit Sub End Select Dim curnodestr As String = FileTree.SelectedNode.Parent.Text Dim filetype As Integer = FileTree.SelectedNode.Parent.Index Dim filename As Integer = FileTree.SelectedNode.Index Dim oldmapst As Integer = 0 Dim oldscst As Integer = 0 If curnodestr.Contains("_scene") Then filename -= 1 scenest = ROMFiles.Levels(filetype).startoff mapst = ROMFiles.Levels(filetype).Maps(filename).startoff mapbuffsize = (ROMFiles.Levels(filetype).Maps(filename).endoff - mapst) scbuffsize = (ROMFiles.Levels(filetype).endoff - scenest) mapfilename = ROMFiles.Levels(filetype).Maps(filename).filename scfilename = ROMFiles.Levels(filetype).filename ReDim ZSceneBuffer(scbuffsize - 1) filebuff.Position = scenest filebuff.Read(ZSceneBuffer, 0, scbuffsize) ReDim ZFileBuffer(mapbuffsize - 1) filebuff.Position = mapst filebuff.Read(ZFileBuffer, 0, mapbuffsize) Else Select Case curnodestr Case "Actor models" filename -= 1 objectfilename = ROMFiles.Objects(filename).filename objbuffsize = (ROMFiles.Objects(filename).endoff - ROMFiles.Objects(filename).startoff) ReDim ZFileBuffer(objbuffsize - 1) filebuff.Position = ROMFiles.Objects(filename).startoff filebuff.Read(ZFileBuffer, 0, objbuffsize) Case "Levels" Exit Sub Case "Others" Exit Sub Case Else Exit Sub End Select End If DetectExtension() GetEntryPoints() End Sub Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click LoadROM.ShowDialog() End Sub Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click Me.Close() End Sub Private Sub OptionsToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OptionsToolStripMenuItem1.Click SetupDialog.ShowDialog() End Sub Private Sub ContentsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContentsToolStripMenuItem.Click ControlsHelp.Show() End Sub Private Sub UndoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UndoToolStripMenuItem.Click ToggleTabs() End Sub End Class