public void changeArrayProperties(boolean clear){
        boolean go = true;
        JTextField field1 = new JTextField(EditorWindow.panel.editor.getTileBuffer().getMap().getCols()+"");
        JTextField field2 = new JTextField(EditorWindow.panel.editor.getTileBuffer().getMap().getRows()+"");
        JPanel panel = new JPanel(new GridLayout(0, 1));
        panel.add(new JLabel("Columns (left to right): "));
        panel.add(field1);
        panel.add(new JLabel("Rows (top to bottom): "));
        panel.add(field2);
        int result = JOptionPane.showConfirmDialog(null, panel, "Adjust 2D Map Dimension",
                JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
        if (result == JOptionPane.OK_OPTION) {
            int rows = (int)Double.parseDouble(field2.getText());
            int cols = (int)Double.parseDouble(field1.getText());
            if (rows > 999) rows = 999;
            if (cols > 999) cols = 999;
            if (rows*cols >= 998001){ //999*999 = pretty slow performance
                int i = JOptionPane.showConfirmDialog(null,
                    "This data may take longer than usual to construct!\n" +
                    "Are you sure you want to continue this process?\n",
                    "",
                    JOptionPane.YES_NO_OPTION,
                    JOptionPane.WARNING_MESSAGE);
                if (i == JOptionPane.NO_OPTION) go = false;
            }
            if (go){
                double t = System.currentTimeMillis();
                if (clear) EditorWindow.panel.editor.getTileBuffer().clearMap();
                EditorWindow.panel.editor.setRowsAndCols(rows,cols,clear);
                memoryWarning((System.currentTimeMillis()-t)/1000);
            }
        } else { }
    }