Friday, July 24, 2015

FMod - Time Machine

I rearranged Abiathar's Patches window today to have two tabs, one for user-generated custom patches and one to provide easy access to the auto-generated patches. I realized that yesterday's solution of copying the full text of the auto-generated section to the clipboard would cause problems when users only wanted to, say, paste an updated music mappings table into their external patch file. So, now there's the Auto-Generated Patches tab, which has a read-only text field for easy copying of subsections.

I also decided to go ahead with the Time Machine idea. Adding a Description property to IUndoableAction wasn't too hard. I figured a timestamp should be attached to each action as well, so the undo and redo stacks got converted to stacks of tuples of times and actions. The Time Machine window itself wasn't very difficult either, but I do think it's an interesting feature and that it will be occasionally useful, at least in emergencies.


In the Time Machine dialog, actions that have been done (i.e. that can be undone) appear in black. The most recent action that hasn't been reverted appears in bold. Actions that have been done but were undone appear in gray. Selecting an action in the list and then pressing Go undoes or redoes actions to make things as they were at that point in time. Revert All rewinds to the beginning of the list (a necessary button because using Go on the first action would still leave that one done). Clear History does exactly what it says on the tin. Done simply closes the dialog. (The other buttons take effect immediately. Clear History cannot be undone.)

And some more new VS2015 things:

  • There's a little overlay that appears when I move the mouse over a breakpoint that lets me change its settings or disable it. This is really nice because I can now adjust the breakpoint without right-clicking a small area and picking from a bunch of menu-items.
  • Stepping through code (with F8) produces a little text to the right of the line of code that says approximately how long it took to get from the last stop to this place. Neat!
  • The tree view that appears when mousing over objects in debug mode hides non-public members under a new "Non-Public Members" drop-down. This is probably good for reducing visual clutter, but it's another tiny little thing I have to hit if I do need to see those fields.
  • Syntax errors in the current line are highlighted while I'm still typing on that line, which is incredibly annoying. I liked VS2013's behavior of not critiquing lines until I'm done typing on them.
  • Enumerators can be evaluated using the debugger's object inspection thing, which is really nice.
  • This happened once when I tried to run:

No comments:

Post a Comment