In order to test out my floating text I added a ToString output to my timer sprocket. This let me hook up my timer to my floating text so that I could see a change everytime the timer ticked by. This whole linkage also gave me a chance to test out my trigger volumes. So I hooked up the OnEnter of my trigger volume to the TriggerStart on the timer. Here's a shot of the player having just passed through the trigger volume, shown in the image as a (T) icon with a box. It triggered the timer which then sent its output to the floating text which is displaying the current timer from the timer.
One of the big problems I came across after testing my IO was that there wasn't a mechanism to properly handle what happens when an object gets despawned. This led to crashes because the trigger volume would try to call the onStart input of the timer which had already been despawned. So this meant I had to do something to disconnect the output from the input on the input destruction. Up until this point my IO system had been one way, the outputs knew about the inputs, but the inputs had no idea what output they belonged to. This wasn't a big issue I just added a register function to the input so the output could register itself with the input when it was hooking up. This way when the object the input belongs to gets despawned the input can tell the output that it no longer exists.
Another big change to the engine this week was the addition of variableInfos which are specific to protoforms. Protoforms are what I call the generic data structure which stores the creation information for my sprocket objects. I used these new protoform specific variableInfo's for storing the instance name for a protoform so that I could edit them in the protoform editor window. Here's a shot of the protoform editor window. Don't mind the kirby test art, he's going to be replaced by a penguin with a rocket pack.
The last thing I worked on for the week was a screenshot dumper for this blog. It's hooked up to F2, so whenever F2 gets pressed a screenshot gets dumped to the root folder composed of a prefix and the current time so that it always has a unique name. There seems to be some kind of issue with it though, it almost looks like it's off by a pixel or something. Some of the lines look thinner in the screen shots. Maybe an odd problem with the multisampling?