private void Level_SelectedIndexChange(object sender, EventArgs e) { LevelScripts.SelectedLevel = (uint)LevelComboBox.SelectedIndex; LevelScripts.ExitDecode = false; ROMManager.InitialiseModelLoad(ClientRectangle, RenderPanel); //init without rendering LevelScripts.ParseLevelScripts(ROMManager.SM64ROM, LevelScripts.LVLSCRIPTSTART); AreaComboBox.Items.Clear(); for (int i = 0; i < LevelScripts.GeoLayoutOffsets.Length; i++) { AreaComboBox.Items.Add(i + 1); } AreaComboBox.SelectedIndex = 0; Renderer.Render(ClientRectangle, Width, Height, RenderPanel); if (AreaComboBox.Items.Count > 1) { AreaComboBox.Enabled = true; } else { AreaComboBox.Enabled = false; } TextureNumBox.Items.Clear(); UpdateStatusText(); if (ROMManager.SM64ROM.getSegmentStart(0x0E) < 0x1200000) { TexturesGroupBox.Visible = false; return; } groupBoxForce.Visible = ROMManager.LevelHasLighting(); TexturesGroupBox.Visible = true; for (uint i = 0; i < Textures.TextureArray.Length; i++) { TextureNumBox.Items.Add("Tex" + (i + 1)); } TextureNumBox.SelectedIndex = 0; }
private void ConvertALLDLs_Button_Click(object sender, EventArgs e) { if (SM64ROM == null) { MessageBox.Show("No ROM loaded"); return; } UInt32 LevelAddr = UInt32.Parse(textBox1.Text, System.Globalization.NumberStyles.HexNumber); DLConversion.AllAddresses = new uint[0]; LevelScripts.ParseLevelScripts(SM64ROM, LevelAddr); MessageBox.Show("Every Display List traceable from level scripts has been converted! Be sure to only to do this once before saving your ROM.", "Conversion complete!"); }