|
From: Reuben G. <reu...@ay...> - 2005-08-04 05:26:19
|
Hey Guys, I just did a monster commit. I changed the file format that societies are saved in and also fixed a bug that took me about three straight days to find. This bug was absolutely ridiculous and you'll laugh when I tell you the length to which I went to find this monster. It turned out that I was adding DFields and DMethods as dependent on primitive DClasses. Essentially, I was saying that any method or field that relies on a double or integer should be notified when that double changes type or vice-versa. Of course that's meaningless because a primitive never changes and shouldn't care about other's types. So what was happening was that after I opened a society file, we'd load a method that had a primitive field, say setX(double x), and the old Agent and Society templates would now be in the same graph as the new Society and Agent templates. Because they were in the same graph, it was a toss up which Agent.java file or Edge.java file would show up first - the one from the old AgentTemplate or EdgeTemplate that was created before the Society file was opened or the new one from the file. Ug. What a mess. Oh - currently changing the x and y position isn't working from within the new GUI, but I know what's causing that and I'm going to fix that first thing tomorrow. Also, this fix should let me start working on a bunch of other strange bugs too. Good Night, Reuben -- Reuben Grinberg reu...@ay... (609)233-9891 "And wow! Hey! What's this thing coming towards me very fast? Very very fast. So big and flat and round, it needs a big wide sounding word like... ow... ound... round... ground! That's it! That's a good name - ground! I wonder if it will be friends with me?" -The Hitchiker's Guide to the Galaxy |