New CW Tool Sneak Peek
Posted: 31 Oct 2016, 05:34
I started work awhile back on a new tool for the Community Wad mean to handle most of the tasks my various applets handled previously. Everything from syncing the CW, to making decks from lists of cards (readable by the Deck Builder), to packing the CW.
Here are screenshots of the various views at the moment: https://drive.google.com/drive/folders/ ... sp=sharing
Not everything is functional right now, but a decent chunk of the features are at least basically working. I didn't work on it at all for many months, but I felt motivated the last few days, so I decided to tackle some of the issues I'd had before, such as letting it copy files in the background without freezing up the UI.
Currently, it can do the following (though maybe not perfectly):
**This is very, very rudimentary and not tested well. It won't let you change extensions (intentionally), but there are still a few issues with it. An explicit renaming function would be very simple, but it's currently using the built-in system where you can click an image in the ImageUtility window twice (not double-click) like how it works in normal explorer windows. However, if the image's new name moves it around in the list, the list doesn't update properly.
***In two of the images, you'll see what I mean. The gray sections at the edges of the images are the guides. You can drag the image around and zoom in and out, but you cannot move it or zoom it out such that the central area (the size required for the image type chosen) would be uncovered. It also support zooming slowly for better control (ctrl+scroll) and zooming faster (shift+scroll). The image adjustments are only basic, but that's because it's both unnecessary to put in the effort to include more complicated alterations, and it would encourage altering images more than I'd like to be responsible for. It should be enough to get them as close as possible to the original card's image if desired, while also allowing for a bit of sharpening/smoothing. Not much, but it should be enough. And for the few where it's not enough, Gimp will cover those cases. But for any that only need resized/cropped, it should be perfect.
****Scheduling is very easy in AHK (what the current CW Syncing tool is written in), and would be relatively simple in C#, but C#'s extra power let me also figure out how to sync changes as they happen. This way, you can set it to sync, it'll run once through everything it's supposed to sync to make sure it's currently up to date, and then it will run in the background and immediately catch any new files and put them where they need to go. There are lots of programs out there that could potentially do something similar, but having a utility specially built just for this should work much better and allow more functionality in the future, such as multiplayer assistance.
If you notice the "Developer Mode" menu item, that enables/disables the Developer tab. It'll always be visible, but unless the menu item is checked, you can't actually go to it. You can freely check it, of course.
Things it can't currently do, but should in the future:
Since you can see the program, let me know if you've got any thoughts for what I might add/change. Feedback is always useful.
Here are screenshots of the various views at the moment: https://drive.google.com/drive/folders/ ... sp=sharing
Not everything is functional right now, but a decent chunk of the features are at least basically working. I didn't work on it at all for many months, but I felt motivated the last few days, so I decided to tackle some of the issues I'd had before, such as letting it copy files in the background without freezing up the UI.
Currently, it can do the following (though maybe not perfectly):
- Display information related to the current version of the Community Wad*
- Sync the packed or unpacked versions of both the core and art files (or skip one if desired)
- Sync decks based on the user's CPE ID
- Sync YOUR decks to the "Add Decks Here" folder as you edit them (set the "My CPE ID" box and check your box below)
- Create a deck from a given deck list (with or without an "x" next to the numbers)
- Point out problem cards in the given deck list
- Store information about packing the CW (but currently can't actually do anything with that info)
- List all cards currently in the CW, including Filename, Cardname, English Name, and Multiverse ID (all are sortable)
- Convert images (jpg|png <> tdx), and wads (.wad <> directory)
- Resize/crop images and adjust their brightness/contrast
- Rename those images**
- Provide guides for normal, eldrazi, token, and token+ability art sizes***
- Sync files as they're changed, rather than on a schedule****
**This is very, very rudimentary and not tested well. It won't let you change extensions (intentionally), but there are still a few issues with it. An explicit renaming function would be very simple, but it's currently using the built-in system where you can click an image in the ImageUtility window twice (not double-click) like how it works in normal explorer windows. However, if the image's new name moves it around in the list, the list doesn't update properly.
***In two of the images, you'll see what I mean. The gray sections at the edges of the images are the guides. You can drag the image around and zoom in and out, but you cannot move it or zoom it out such that the central area (the size required for the image type chosen) would be uncovered. It also support zooming slowly for better control (ctrl+scroll) and zooming faster (shift+scroll). The image adjustments are only basic, but that's because it's both unnecessary to put in the effort to include more complicated alterations, and it would encourage altering images more than I'd like to be responsible for. It should be enough to get them as close as possible to the original card's image if desired, while also allowing for a bit of sharpening/smoothing. Not much, but it should be enough. And for the few where it's not enough, Gimp will cover those cases. But for any that only need resized/cropped, it should be perfect.
****Scheduling is very easy in AHK (what the current CW Syncing tool is written in), and would be relatively simple in C#, but C#'s extra power let me also figure out how to sync changes as they happen. This way, you can set it to sync, it'll run once through everything it's supposed to sync to make sure it's currently up to date, and then it will run in the background and immediately catch any new files and put them where they need to go. There are lots of programs out there that could potentially do something similar, but having a utility specially built just for this should work much better and allow more functionality in the future, such as multiplayer assistance.
If you notice the "Developer Mode" menu item, that enables/disables the Developer tab. It'll always be visible, but unless the menu item is checked, you can't actually go to it. You can freely check it, of course.
Things it can't currently do, but should in the future:
- Pack the CW between 23:00 and 24:00 hours EST (the current repacking utility's working schedule)
- Check for updates (when asked to or set to check whenever it runs/on a schedule/as updates are found)
- Display information about the CWT program itself (the "Current Version" menu item)
- Automatically convert and upload resized/cropped images
- Keep the CW up to date without needing Google Drive running*
Since you can see the program, let me know if you've got any thoughts for what I might add/change. Feedback is always useful.