// Initializes for a new map internal bool InitializeNewMap(MapOptions options) { // Apply settings this.filename = "unnamed.map"; this.filepathname = string.Empty; this.filepath = string.Empty; this.changed = false; this.options = options; General.WriteLogLine("Creating new map with configuration \"" + options.ConfigFile + "\""); // Initiate graphics General.WriteLogLine("Initializing graphics device..."); graphics = new D3DDevice(General.MainWindow.Display); if (!graphics.Initialize()) { return(false); } // Create renderers renderer2d = new Renderer2D(graphics); renderer3d = new Renderer3D(graphics); // Load game configuration General.WriteLogLine("Loading game configuration..."); configinfo = General.GetConfigurationInfo(options.ConfigFile); config = new GameConfiguration(General.LoadGameConfiguration(options.ConfigFile)); configinfo.ApplyDefaults(config); General.Editing.UpdateCurrentEditModes(); // Create map data map = new MapSet(); // Initialize map format interface General.WriteLogLine("Initializing map format interface " + config.FormatInterface + "..."); io = MapSetIO.Create(config.FormatInterface, this); // Load data manager General.WriteLogLine("Loading data resources..."); data = new DataManager(); data.Load(CreateResourcesList()); // Update structures options.ApplyGridSettings(); map.UpdateConfiguration(); map.Update(); thingsfilter.Update(); // Bind any methods General.Actions.BindMethods(this); // Set defaults this.visualcamera = new VisualCamera(); General.Editing.ChangeMode(configinfo.StartMode); ClassicMode cmode = (General.Editing.Mode as ClassicMode); if (cmode != null) { cmode.SetZoom(Rendering.Renderer2D.DEFAULT_ZOOM); } renderer2d.SetViewMode((ViewMode)General.Settings.DefaultViewMode); // Success this.changed = false; General.WriteLogLine("Map creation done"); General.MainWindow.UpdateTitle(); //mxd return(true); }