Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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;
            }
        }