12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /**
- * Saving and loading is a messy hack!
- * You'll get a blank line in your save file for each deleted object.
- * That's because of my lack of skills of dodging the garbage collector.
- * I didn't loose data to corruption yet.
- * Don't touch the save files if you don't want to mess them up!
- **/
-
- boolean exporting;
- String savePNGpath = dataPath("save.png");
-
- void savePNGFile(File selection) {
- savePNGpath = selection.getPath();
- exporting = true;
- }
-
- void saveCSVFile(File selection) {
- saveCSV(selection.getPath());
- }
-
- void loadCSVFile(File selection) {
- loadCSV(selection.getPath());
- }
-
- void loadCSV(String path) {
- deleteAll();
-
- String[] loadString = loadStrings(path);
- for (int i = 0; i < loadString.length-1; i++) {
- //This is ultra shitty
- if (loadString[i].length() == 0) {
- addNode(-1000, -1000, " ");
- i_selectedNode = nodeCount - 1;
- deleteSelectedNode();
- //nodes[nodeCount-1].deleted = true;
- } else {
- String nodeData[] = split(loadString[i], ',');
- addNode(int(nodeData[1]), int(nodeData[2]), nodeData[0]);
- }
- }
- for (int i = 0; i < loadString.length-1; i++) {
- String nodeData[] = split(loadString[i], ',');
- for (int j = 3; j < nodeData.length; j++) {
- Link(i, int(nodeData[j]));
- }
- }
- }
-
- void saveCSV(String path) {
- String saveString = "";
- for (int i = 0; i < nodeCount; i++) {
- if (!nodes[i].deleted) {
- saveString += nodes[i].title + "," + nodes[i].x + "," + nodes[i].y;
- for (int j = 0; j < linkCount; j++) {
- if (links[j].parentNode == i && links[j].active) {
- saveString += "," + str(links[j].targetNode);
- }
- }
- }
- saveString += "\n";
- }
- String[] saveArray = split(saveString, '\n');
- saveStrings(path, saveArray);
- }
|