v0.7.0 - Massive Update!
It's been nearly a month since the last devlog update. Apologies for taking so long, but I've been working away relatively quietly on this until I've had something substantial for you all. Now, that time has come, and so I've updated MasterPlan to v0.7.0. Huzzah!
Anyway, this update is a fairly meaty one with quite a few new features! I'll iterate through some of the major additions and changes below.
I rewrote a large portion of the core logic that handled display and movement of Tasks in MasterPlan; the end result is a nicer codebase to work with, and some optimizations. As an example, depending on how many Tasks you have on your plan, your GPU's VRAM usage may drop considerably (from ~5GB on some plans to 200mb!). In other words, I was doing some things extremely wrong and I had no idea, haha.
As a note, some other changes will cost a bit more VRAM than previously (particularly Note Tasks, as text rendering for Notes has been altered to be more optimized for less CPU usage, but more VRAM usage in return). MasterPlan currently does not free VRAM, so restarting MasterPlan periodically would help alleviate this issue until I can resolve it.
Another change that is slightly noticeable is that Tasks now move and expand more fluidly, making their previous instantaneous movements seem stilted in comparison. It's a very minor change, but it's noticeable if you look closely.
Tables have been added into v0.7.0 and were a suggestion of a user over on the Steam forum (thanks for the suggestion, @jim_hatama!). Since their inclusion, I can't really imagine going back to a time without them.
Tables are much more condensed (and immediately readable!) than a list of checkbox Tasks, but they serve a similar purpose. Tables are generally made for situations where you have to do one task multiple times for multiple events, like making the same set of animations for multiple characters in a video game.
There are three possible states for a cell in a Table - completed (a checkmark), not completed (an empty O), or skipped (an X). You can use a Skip (placed with right-click) to indicate that a particular task is not to be done, and so it doesn't contribute to the total number of Tasks to complete. In the previous example, an NPC in a video game might not need all of the animations in a Table, and so you can Skip those animations for that specific NPC.
Each cell that is not skipped (whether completed or not) adds to the total number of Tasks to complete at the bottom-left of the window. While Tables aren't numbered, they do contribute as a sub-task just fine, allowing you to easily use a Table within a list of Tasks.
Please feel free to try out Tables, and see if they can help you plan more easily.
The process of downloading sounds and images from the internet and loading GIFs is now multithreaded! Now you don't have to wait as MasterPlan will automatically do this in the background. This also extends to the process of loading your project, which can be quite a bit faster now.
Downloading time-out times can also be tweaked from the project preferences, in case you're dealing with a server that's a smidge slow on the download.
Timers, timers, timers!
Timers now have more options, enabling you to make Timers that are recurring, timers that count down until a specific date, timers that trigger daily or weekly, and even timers that are stopwatches.
Timers can now also trigger Tasks that they are connected to (either through neighboring, or through Lines). This can be useful if you have a series of Tasks that you have to do every day, for example, as a Timer can clear those Tasks for you regularly as long as you have MasterPlan open.
In the future, it would be good to allow Timers to trigger retroactively, even if MasterPlan isn't open, but that's a
feature for another update.
MasterPlan now supports proper non-latin character entry! It's not perfect, still; custom font display has a ways to go, and adding all non-latin characters makes general text entry slower. I've optimized some where I could to combat this, but there's still something I could do to simplify this even more-so. Please be patient as I work on the text rendering aspect of things.
Thank you very much for sticking with me through this update! Please let me know if anything got busted here with your projects. It would be wise to back up your plans prior to loading them in the new version of MasterPlan, just to ensure no data is lost. Also, there were some changes to keyboard shortcuts. Please check them after loading MasterPlan up again.
(As an aside, this update is right in time for 7DRL 2021, so if you've been looking to try making something small and fun, why not try planning it with MasterPlan?)
Best regards, and good planning!
NOTE: It would be wise to back up your plans prior to loading them in the new version of MasterPlan, just to ensure no data is lost. Also, there were some changes to keyboard shortcuts. Please check them after loading MasterPlan up again.
[*] Added basic support for non-latin / foreign character entry. Note that you have to specify a font that contains the characters you'll be entering (as the default one only has latin characters). Note that this is still subject to change and improvement.
[*] Tasks now open, move, and expand more smoothly.
[*] Completely reworked the Undo system; should be slightly more optimized (and is simpler in the code-base, as well).
[*] Completely rewrote a large portion of the Task update and drawing system; may be more optimized, but it is now primarily simpler in the code-base.
[*] Tables have been added. A Table is a grid of checkboxes you can click to toggle them, with customizeable hide-able headers on the left and top or bottom and right indicating names.
[*] Downloading images / sounds are now multithreaded.
[*] Modifiers (left ctrl, right ctrl) are now left / right agnostic.
[*] Now ONLY Check-box Tasks display Sub-Tasks as contributing to their own completion, not any other completable Tasks.
[*] Added a Daily mode for Timers (so a Timer can trigger every Monday, Friday, etc).
[*] Added a Date mode for Timers (so a Timer can trigger on a specific date).
[*] Added a Stopwatch mode for Timers.
[*] Added a repeatable option for certain Timer types.
[*] Timers now can trigger neighbor Tasks when they run out. The effect of the trigger differs depending on the Task type - Completable Tasks change their completion level, while [*] Whiteboard Tasks change their colors. Timers start or stop when triggered, naturally.
[*] Timers who are neighbors to Lines can now trigger the Tasks those Lines are pointing to, and so on.
[*] Added a Rectangle tool for Map Tasks.
[*] Themes are now global instead of per-Project.
[*] Qutting MasterPlan by pressing the window's [X] now prompts for a quit.
[*] MasterPlan now always confirms when quitting, not just when the current project has been modified.
[*] Added a keyboard shortcut to quit MasterPlan (Ctrl+Q, by default).
[*] Added an optional border around the window (specifically for borderless mode if you want a bit more flavor).
[*] Added shadows for UI elements.
[*] Map Task type background has been slightly improved, is now a bit transparent.
[*] Various minor visual tweaks and smaller bug-fixes.
[*] FIX: Drawing on Whiteboards is no longer chunkier than intended (the resolution has been increased).
[*] Added shortcuts to teleport the camera to each end of a line, in sequence.
[*] The splash screen no longer takes nearly as long as it previously did to disappear. (~2.5 seconds -> ~0.75 seconds)
[*] Adding shortcuts for incrementing and decrementing Progression Tasks.
[*] Triggering Checkbox Tasks that have SubTasks will now trigger those SubTasks.
[*] FIX?: Incrementing a Progression Task's current value no longer increases the maximum if they're the same.
[*] Timers no longer pause when adjusting their values.
[*] Count-down timers can't be started if their value is 0.
[*] FIX: It's no longer possible to undo a project that has just been loaded.
[*] The grid dot background is now slightly transparent.
[*] Added rebindable shortcuts for previously hardcoded window-related functions (window size setting, fullscreen, showing FPS, taking a screenshot).
[*] Added rebindable Shortcuts for making specific Task types.
[*] FIX: Textboxes now don't take key input immediately after they're visible. This means you can now assign individual keys to shortcuts effectively (i.e. I to create an Image Task, and not type I immediately when the Task Edit dialog appears).
[*] The "first / main" editable element in the Task Edit Panel for each Task type is now Focused by default.
[*] Fixed task swapping not undoing properly (an UndoState needs to be generated for all Tasks affected by the swap)
[*] Project Volume spinner now goes from 0 to 100, rather than 0 to 10. The volume is also now more naturally distributed audibly.
[*] FIX: Adding a new task or deleting Tasks now properly moves the entire stack below it. This works if Tasks are selected across multiple stacks.
[*] FIX: Shortcuts that are one key and create Tasks no longer immediately also enters the key of the shortcut into a textbox, if it's there and focused.
[*] You can now hold Shift to select all Tasks between the currently selected one and the top or bottom of the stack.
[*] Messages that display at the top-left last for a much shorter period of time (7 > 3 seconds).
[*] Timer triggering defaults to off now.
[*] FIX: You can no longer paste characters into Textboxes that don't allow those characters.
[*] Images now load in at their original aspect ratio, but the size depends on the zoom level of the camera. This means that images and GIFs should generally always be wholly visible onscreen when loaded.
[*] The option to reset images now is in the Task Edit panel.
[*] FIX: GIF Animation has been reviewed and fixed up. Animation frames should now be displayed more accurately (though not perfect in all cases, yet). The timing has also been tweaked to properly display GIFs that lack timing information and rely on default timings.
[*] Errors in the message log at the top-left now show up as red in MasterPlan.
[*] When Project resource auto-reloading is on, MasterPlan will now reload a file if the size OR modified time differs from what is cached in the project. (Previously, this was just based on the file being modified after the time when the resource was loaded.)
[*] Fixed up image and sound auto-reloading. It's no longer experimental, though it's still defaulted to being off.
[*] Optimized general rendering of Tasks.
[*] FIX: Newlines are no longer overwritten in Textboxes.
[*] FIX: Slight basic improvements with regards to textbox usability.
[*] OPTIMIZATION: Cut down VRAM usage for Task editing considerably. This number can account for roughly 80% of the VRAM used for Tasks. (In testing, a plan that previously had 284 Tasks, most of which were Checkbox Tasks, used 1084mb of VRAM. Now it uses 204mb).
[*] OPTIMIZATION: Text rendering for Notes is now rendered to a texture, which is then rendered to the screen. This increases VRAM usage for Notes specifically, but is faster than rendering text directly to the screen. Work still remains to be done in this area, as there are still VRAM leaks in this regard.
[*] Sound Tasks now show the length of the sound and the current position of the playhead.
[*] Subtask bracketing tweaked to use different colors and is now slightly thicker.
[*] FIX: Whether timers are playing is now properly saved in the project plan.
[*] Adding some basic logging to the project loading process to help diagnose any issues with it.
[*] Map icon changed from a map to a thumbtack pin.
[*] Cloudy theme outline darkened to increase readability.
[*] Removing option to save sounds playing in the project settings; feels like a setting that there wasn't really a use case for
Leave a comment
Log in with itch.io to leave a comment.