public void renameObjectCombo(string newName) { string oldComboName = Title; Title = newName; bool undefinedToDefined = oldComboName.StartsWith("Undefined Combo (") && !newName.StartsWith("Undefined Combo ("); if (!undefinedToDefined) // simple re-define { if (objectComboEntry != null) { objectComboEntry.Name = newName; } } else { uint modelAddress = 0; if (level.ModelIDs.ContainsKey(ModelID)) { modelAddress = level.ModelIDs[ModelID].GeoDataSegAddress; } ObjectComboEntry newOCE = new ObjectComboEntry(newName, ModelID, modelAddress, getBehaviorAddress()); objectComboEntry = newOCE; Globals.objectComboEntries.Add(newOCE); level.LevelObjectCombos.Add(newOCE); } ModelComboFile.writeObjectCombosFile(Globals.getDefaultObjectComboPath()); }
private void loadROM(bool startingUp) { ROM rom = ROM.Instance; if (startingUp && !Globals.pathToAutoLoadROM.Equals("")) { rom.readFile(Globals.pathToAutoLoadROM); } else { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "Z64 ROM|*.z64|V64 ROM|*.v64|N64 ROM|*.n64|All Files|*"; DialogResult result = openFileDialog1.ShowDialog(); if (result == DialogResult.OK) // Test result. { ROM.Instance.readFile(openFileDialog1.FileName); } else { return; } } Globals.objectComboEntries.Clear(); ModelComboFile.parseObjectCombos(Globals.getDefaultObjectComboPath()); rom.setSegment(0x15, Globals.seg15_location[0], Globals.seg15_location[1], false); rom.setSegment(0x02, Globals.seg02_location[0], Globals.seg02_location[1], rom.isSegmentMIO0(0x02)); level = new Level(0x10, 1); LevelScripts.parse(ref level, 0x15, 0); level.sortAndAddNoModelEntries(); level.CurrentAreaID = level.Areas[0].AreaID; refreshObjectsInList(); glControl1.Enabled = true; bgColor = Color.CornflowerBlue; camera.setLevel(level); updateAreaButtons(); glControl1.Invalidate(); }
private void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.P: if (Globals.list_selected != -1 && Globals.item_selected != -1) { int listSel = Globals.list_selected; int objSel = Globals.item_selected; Object3D obj = getSelectedObject(); if (obj == null) { return; } string newName = Prompts.ShowInputDialog("Type the new combo name", "New combo name"); if (newName.Length > 0) { obj.Title = newName; uint segmentAddress = 0; if (level.ModelIDs.ContainsKey(obj.ModelID)) { segmentAddress = level.ModelIDs[obj.ModelID].GeoDataSegAddress; } ObjectComboEntry oce = new ObjectComboEntry(newName, obj.ModelID, segmentAddress, obj.getBehaviorAddress()); Globals.insertNewEntry(oce); refreshObjectsInList(); treeView1.SelectedNode = treeView1.Nodes[listSel].Nodes[objSel]; Globals.list_selected = listSel; Globals.item_selected = objSel; propertyGrid1.Refresh(); } ModelComboFile.writeObjectCombosFile(Globals.getDefaultObjectComboPath()); Console.WriteLine("Saved Object Combos!"); } break; case Keys.D1: trySwitchArea(1); break; case Keys.D2: trySwitchArea(2); break; case Keys.D3: trySwitchArea(3); break; case Keys.D4: trySwitchArea(4); break; case Keys.D5: trySwitchArea(5); break; case Keys.D6: trySwitchArea(6); break; case Keys.D7: trySwitchArea(7); break; case Keys.D0: trySwitchArea(0); break; } }