Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3 4

Author Topic: Picturefort v2.1 - Draw your dream fort. Load/Click/Save. Instantly designate.  (Read 74028 times)

maackey

  • Bay Watcher
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #15 on: May 31, 2014, 08:57:10 pm »

So I got a bit more of a positive feedback than I initially hoped for, and I figured I might as well add some worthwhile features:

//TODO
/*
* progressbar / status info
* persistent settings
* default color designations
* custom folder for csv files
* batch image processing
* multiple z-level designations
* per-image descriptions
* image/csv rotation
*/

(and it will probably help me actually *finish* them if people think I'm actually working on them)

When I originally wrote it, I didn't quite discipline myself into separating out a clear front/back end, and am paying for it now. But I'm starting to make some progress on some really useful features. Testing them in DF can get me a bit sidetracked though...

These are things *I'd* eventually like to see, but if you have any others I'd be happy to hear them as well.
Logged

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #16 on: May 31, 2014, 10:54:29 pm »

So I got a bit more of a positive feedback than I initially hoped for, and I figured I might as well add some worthwhile features:

//TODO list <snip>

These are things *I'd* eventually like to see, but if you have any others I'd be happy to hear them as well.
  • OK then - I'd love to see everything on Github, so that other people can contribute or fork, and if you vanish one day the project doesn't die! 
  • To "persistent settings", how about adding 'save/loadable profiles'?  The default settings would be one, and people could share others with the images. 
  • Custom folder for output: just output to a standard folder (eg "./blueprints") and let us symlink around it until other features are done - it's not a priority. 

Another enhancement would be to enhance the opening cell by limiting input and allowing users to explicitly specify a  starting position and comment/s.  Where there is currently a text entry field (with '#dig' in the image above), you could instead use a drop-down menu as there are only four valid choices for blueprint type.  Having three explicit text entry fields for start point coordinates and comments would also be good, defaulting to "#dig (1;1;cursor starts at top-left)".
Here's my MS paint mockup of the idea:


Strictly speaking you can do all this by typing in the current field if you know what you're doing - but this exposes it to newbies, sets a common default, and ensures that valid blueprints come out.  All important things!
« Last Edit: May 31, 2014, 10:56:14 pm by PeridexisErrant »
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

maackey

  • Bay Watcher
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #17 on: June 01, 2014, 12:34:04 am »

1.) There is always dot peek if you are worried about the project dying from lack of source. My updated version (using winforms instead of WPF) I'll put up there, I just haven't really decided on what license etc. to use. (eventually new version will be here: https://github.com/maackey/PictureFort) Also the old stuff is pretty much useless because mono doesn't support wpf at all and there were a bunch of bugs that I hadn't found (eg. .net's automagical palette generator doesn't work for colors with alpha). So I'm starting over almost from scratch, but this time with a better idea of what I'll be doing.

2.) I was thinking of having a picturefort.ini file which the program would read from when it loads up. So in practice you could emulate multiple profiles by just saving the file as something else, eg my_picturefort.ini and reverting back when you wanted to use that particular profile. However, it's also possible to add in multiple profiles, I'll have to think on it.

3.) * custom folder for csv files -- its the first thing I'm testing with the persistent settings :)

Yeah I had a similar idea -- I only kept the textbox because I had no idea what was supposed to go there and figured people could type in what they wanted :P

Now about the start point -- what is the syntax/usage of the center/top-right/left/etc. combined with comments? I didn't find any examples. Is it something like #dig start(center; comment) or #dig center; comment or just something I put in as code which converts top-right to start(image.width,0)?
Logged

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #18 on: June 01, 2014, 12:58:43 am »

1.) There is always dot peek if you are worried about the project dying from lack of source. My updated version (using winforms instead of WPF) I'll put up there, I just haven't really decided on what license etc. to use. (eventually new version will be here: https://github.com/maackey/PictureFort) Also the old stuff is pretty much useless because mono doesn't support wpf at all and there were a bunch of bugs that I hadn't found (eg. .net's automagical palette generator doesn't work for colors with alpha). So I'm starting over almost from scratch, but this time with a better idea of what I'll be doing.
Decompiling may work, but I'd hardly call it ideal ::) - good to hear it's got a home waiting for it, and also on the rewrite.  I'm a fan of CC-BY-SA or GPL3 myself, but whatever you like is cool.

2.) I was thinking of having a picturefort.ini file which the program would read from when it loads up. So in practice you could emulate multiple profiles by just saving the file as something else, eg my_picturefort.ini and reverting back when you wanted to use that particular profile. However, it's also possible to add in multiple profiles, I'll have to think on it.
Go for the ini first, and upgrade later maybe?  If the function can be done with a workaround, something else is probably a priority. 

about the start point -- what is the syntax/usage of the center/top-right/left/etc. combined with comments? I didn't find any examples. Is it something like #dig start(center; comment) or #dig center; comment or just something I put in as code which converts top-right to start(image.width,0)?

Specifying a starting position

You can optionally specify a cursor starting position for a particular blueprint, simplifying the task of blueprint alignment. This can be helpful for blueprints that are based on a central staircase, for example.

To specify a cursor starting position, use the following modified format for the header line of your blueprint:

#mode start(X;Y;STARTCOMMENT) comment
where X and Y specify the starting cursor position (1;1 is the top left cell) and STARTCOMMENT (optional) is a description displayed to the QF user of where to position their cursor. This description appears in the pre-playback mouse tooltip.

So for "top-left" it's (1;1), for "bottom-right" ($height, $width), etc.  For "center" you find the central pixel, so it may be best to default to top-left for even-numbered sizes or just everything. 

STARTCOMMENT is useful when you can input something like "center of 3x3 staricase", "comment" is nonfunctional so it could be left out (or silently set to eg "made with Picturefort from $image").
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

maackey

  • Bay Watcher
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #19 on: June 02, 2014, 07:20:06 pm »

So on the wiki I found a nice list of designations... which I converted into a dictionary like this:
Code: [Select]
//designations
designations_dig.Add("Mine", "d");
designations_dig.Add("Channel", "h");
designations_dig.Add("Remove Up Stairs/Ramps", "z");
designations_dig.Add("Upward Stairway", "u");
designations_dig.Add("Downward Stairway", "j");
designations_dig.Add("Up/Down Stairway", "i");
designations_dig.Add("Upward Ramp", "r");
designations_dig.Add("Chop Down Trees", "t");
designations_dig.Add("Gather Plants", "p");
designations_dig.Add("Smooth Stone", "s");
designations_dig.Add("Engrave Stone", "e");
designations_dig.Add("Carve Fortifications", "a");
designations_dig.Add("Carve Track", "T");
designations_dig.Add("Toggle Engravings", "v");
designations_dig.Add("Remove Designation", "x");
designations_dig.Add("Remove Construction", "n");
//bulk designations
designations_dig.Add("Reclaim Items/Buildings", "bc");
designations_dig.Add("Forbid Items/Buildings", "bf");
designations_dig.Add("Melt Items", "bm");
designations_dig.Add("Remove Melt", "bM");
designations_dig.Add("Dump Items", "bd");
designations_dig.Add("Remove Dump", "bD");
designations_dig.Add("Hide Items/Buildings", "bh");
designations_dig.Add("Unhide Items/Buildings", "bH");
//traffic areas
designations_dig.Add("High Traffic Area", "oh");
designations_dig.Add("Normal Traffic Area", "on");
designations_dig.Add("Low Traffic Area", "ol");
designations_dig.Add("Restricted Traffic Area", "or");
// /-+*: Move between type of areas to change with QqwW.
// QqwW: Change cost by -5/-1/1/5.

But I couldn't find any similar list for buildings/placeable items or queries. Is there a way I can find a list of all the possible entries for these? Any sort of list will do, I can regex/multiline edit easily enough, I just need the content in text form. (Also, I have no idea how to represent traffic area /-+* QqwW in a way useful to noobs -- I'm not really sure what this is myself)


Anyway, for those curious, I've got multilevel templates working (multiple images the same size are used for each layer) and I've redone the UI (and then some) in WinForms so it should work out of the box on Linux with mono. Still fiddling around with settings/paths, which is the only thing holding back batch image processing as well.
Logged

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #20 on: June 02, 2014, 08:07:21 pm »

Building menu, stockpile menu.  I don't know why designations gets it's own page and these don't. 

Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

maackey

  • Bay Watcher
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #21 on: June 02, 2014, 08:20:08 pm »

Lol, I feel dumb. I swore I saw that page before, I dunno how I missed them. (thanks)

Edit: all of 2 minutes, and I converted every single item :D sublime text is truly sublime.
Code: [Select]
designations_build.Add("Armor Stand", "a");
designations_build.Add("Bed", "b");
designations_build.Add("Seat", "c");
designations_build.Add("Burial Receptacle", "n");
designations_build.Add("Door", "d");
designations_build.Add("Floodgate", "x");
designations_build.Add("Floor Hatch", "H");
designations_build.Add("Wall Grate", "W");
designations_build.Add("Floor Grate", "G");
designations_build.Add("Vertical Bars", "B");
designations_build.Add("Floor Bars (Alt",+"b");
designations_build.Add("Cabinet", "f");
designations_build.Add("Container", "h");
designations_build.Add("Kennels", "k");
designations_build.Add("Farm Plot", "p");
designations_build.Add("Weapon Rack", "r");
designations_build.Add("Statue", "s");
designations_build.Add("Table", "t");
designations_build.Add("Paved Road", "o");
designations_build.Add("Dirt Road", "O");
designations_build.Add("Bridge", "g");
designations_build.Add("Well", "l");


//Siege Engines (i)
designations_build.Add("Ballista", "ib");
designations_build.Add("Catapult", "ic");


//Workshops (w)
designations_build.Add("Leather works", "we");
designations_build.Add("Quern", "wq");
designations_build.Add("Millstone", "wM");
designations_build.Add("Loom", "wo");
designations_build.Add("Clothier's Shop", "wk");
designations_build.Add("Bowyer's Workshop", "wb");
designations_build.Add("Carpenter's Workshop", "wc");
designations_build.Add("Metalsmith's Forge", "wf");
designations_build.Add("Magma Forge", "wv");
designations_build.Add("Jeweler's Workshop", "wj");
designations_build.Add("Mason's Workshop", "wm");
designations_build.Add("Butcher's Shop", "wu");
designations_build.Add("Tanner's Shop", "wn");
designations_build.Add("Craftsdwarf's Workshop", "wr");
designations_build.Add("Siege Workshop", "ws");
designations_build.Add("Mechanic's Workshop", "wt");
designations_build.Add("Still", "wl");
designations_build.Add("Farmer's Workshop", "ww");
designations_build.Add("Kitchen", "wz");
designations_build.Add("Fishery", "wh");
designations_build.Add("Ashery", "wy");
designations_build.Add("Dyer's Shop", "wd");
designations_build.Add("Soap Maker's Workshop", "wS");


//Furnaces (e)
designations_build.Add("Wood Furnce", "ew");
designations_build.Add("Smelter", "es");
designations_build.Add("Glass Furnace", "eg");
designations_build.Add("Kiln", "ek");
designations_build.Add("Magma Smelter", "el");
designations_build.Add("Magma Glass Furnace", "ea");
designations_build.Add("Magma Kiln", "en");


designations_build.Add("Glass Window", "y");
designations_build.Add("Gem Window", "Y");
designations_build.Add("Wall/Floor/Stairs", "C");
designations_build.Add("Wall", "w");
designations_build.Add("Floor", "f");
designations_build.Add("Ramp", "r");
designations_build.Add("Up Stair", "u");
designations_build.Add("Down Stair", "d");
designations_build.Add("Up/Down Stair", "x");
designations_build.Add("Fortification", "F");
designations_build.Add("Trade Depot", "D");
designations_build.Add("Traps/Levers", "T");
designations_build.Add("Stone-Fall Trap", "s");
designations_build.Add("Weapon Trap", "w");
designations_build.Add("Lever", "l");
designations_build.Add("Pressure Plate", "p");
designations_build.Add("Cage Trap", "c");
designations_build.Add("Upright Spear/Spike", "S");
designations_build.Add("Machine Components", "M");
designations_build.Add("Screw Pump", "s");
designations_build.Add("Water Wheel", "w");
designations_build.Add("Windmill", "m");
designations_build.Add("Gear Assembly", "g");
designations_build.Add("Horizontal Axle", "h");
designations_build.Add("Vertical Axle", "v");
designations_build.Add("Support", "S");
designations_build.Add("Animal Trap", "m");
designations_build.Add("Restraint", "v");
designations_build.Add("Cage", "j");
designations_build.Add("Archery Target", "A");
designations_build.Add("Traction Bench", "R");
« Last Edit: June 02, 2014, 08:27:38 pm by maackey »
Logged

fricy

  • Bay Watcher
  • [DFHACK:ZEALOT]
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #22 on: June 03, 2014, 03:53:05 am »

There are also some quickfort aliases that could be useful if you decide to support it.

CLA

  • Bay Watcher
    • View Profile
Re: Picturefort -- A graphical utility for Quickfort templates
« Reply #23 on: June 03, 2014, 02:59:55 pm »

Great! I've been waiting for a new Chromafort alternative.

A suggestion: I would love to see the color designation fields have drop down menus with all valid quickfort entries instead of a free text field.
Logged
CLA - an ASCII-like Graphic Pack with simplified letter-like creature graphics. The simple and clean looks of ASCII with distinct creature graphics - best of both worlds!

http://www.bay12forums.com/smf/index.php?topic=105376.0

maackey

  • Bay Watcher
    • View Profile
Re: Picturefort v2 -- now with a shiny new icon
« Reply #24 on: June 05, 2014, 12:51:38 am »

I've uploaded a new version!!!

I've also got the source here!!!

I've also got it working with Linux!!!

You can batch image convert!!!

You can make multilevel templates!!!

It saves your settings!!!

Its got a shiny UI that does all the hard work for you!!!

Go try it out!!!





Ok, now that that's out of the way,
@CLA: yes, that is nearly complete, I've just been running into issues with my custom controls not showing up on the form (for some reason textboxes work though, so for now you'll have to make do) The whole point of putting all those commands from the wiki pages into a dictionary was to populate a drop down menu for entries. I was originally going to include them in v2 (because its literally 90% done) but I got frustrated with c#/.net/Visual Studio/Microsoft that I figured I might as well get out what I already have (which is somewhat substantial)

@fricy: if you put those aliases as a designation, they will be passed on as-is to Chromafort -- all I do is provide a link to whatever colors you draw and whatever designations you put per color. (and some other minor things, like generating the files).
Logged

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: Picturefort v2 -- now with a shiny new icon
« Reply #25 on: June 05, 2014, 01:05:09 am »

I've uploaded a new version!!!

Excellent.

A few things:  output flie -> output file, you can tick multiple mode boxes and this breaks things, "single template" is unclear - maybe "create one blueprint", you may want to stick a download link in the github readme. 

It looks great, and I look forward to future updates. 
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

maackey

  • Bay Watcher
    • View Profile
Re: Picturefort v2 -- now with a shiny new icon
« Reply #26 on: June 05, 2014, 01:20:27 am »

Ahh, some good points.

How does multiple-tick boxes break?

edit: also how do you reply so quickly? :P
Logged

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: Picturefort v2 -- now with a shiny new icon
« Reply #27 on: June 05, 2014, 01:25:18 am »

It looked like it worked, but didn't put any 'd's in cells. 

I happened to check for new replies because I just put a new starter pack up, got lucky, and decided to break the new version :)
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

maackey

  • Bay Watcher
    • View Profile
Re: Picturefort v2 -- now with a shiny new icon
« Reply #28 on: June 05, 2014, 01:59:08 am »

Ahh, yeah you're more lucky than you think. Immediately after I uploaded the latest version I noticed that bug and re-uploaded it hoping noone had already downloaded it. :( It was because I changed when the settings get saved to file, and didn't account for the changed data in memory not being loaded into the settings till after you create a template.
Logged

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: Picturefort v2 -- now with a shiny new icon
« Reply #29 on: June 05, 2014, 12:14:45 pm »

Somethings not right with the upload. Its 35.8KB... while the first picturefort I downloaded has a .exe thats about 1mb.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::
Pages: 1 [2] 3 4