Hi everyone, a new version of nanDECK has been released, featuring bug fixes and the following new additions:
New CONTOUR directive
This directive adds a border to all graphic elements drawn so far, the syntax is:
CONTOUR="range", pos x, pos y, width, height, html color, thickness, pattern O/D/S, distance, random
Example:
font=arial,16,,#000000
text=1,"Lorem Ipsum",10%,10%,80%,20%,center,wwcenter
htmlfont=default,arial,12,,#000000,justify
htmlmargins=default,6%,6%,6%,6%
htmltext=1,"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",10%,30%,80%,60%,#FFFFFF,0,BE,100,default
font=arial,16,,#FF0000
text=1,"10",0%,80%,20%,20%,center,wwcenter
text=1,"20",80%,80%,20%,20%,center,wwcenter
contour=1,0,0,100%,100%,#FFFFFF#FF0000#000000,3%
There are more examples in this thread:
https://boardgamegeek.com/thread/3537640/new-directive-conto…
New STORESAVE/STORELOAD directives
These directives save or load the current deck to a file (the file name must be given as a parameter). They are also present in the interface in two buttons (“Save store as…” and “Load”), at the bottom right of the main window.
New LINKBOOL directive
This directive allows you to indicate how the Boolean values in the spreadsheet should be read (the default is True/False). The syntax is:
LINKBOOL=true, false
New INFOFIELDS function
This function returns a sequence of column names read from a spreadsheet (you can specify more than one filename, either separated by commas or using a sequence of filenames).
[name] = INFOFILE(filename1, filename2, … filenameN)
Added parameter to TRACK/TRACKRECT to indicate the number of boxes in links
Now you can indicate in TRACK/TRACKRECT how many spaces to draw in the section connecting one track to the previous one (the values in each lane must be separated by a minus sign). Example:
cardsize=20,15
[range]=1-8
[tracks]=4
[flags]=L|LH|L|LH|C|CH|C|CH
[links]=||1-2-3-4|1-2-3-4|||1-2-3-4|1-2-3-4
[revlinks]=||4-3-2-1|4-3-2-1|||4-3-2-1|4-3-2-1
track=[range],10,12,5,12,1.5,#000000,[tracks],6,[flags],0.05,1,1,,[links]
track=[range],4,11,3,4,1.5,#000000,[tracks],8,[flags],0.05,2,0.5,,[links]
track=[range],4,2.75,6,2.5,1.5,#000000,[tracks],3,[flags],0.05,2,0.5,,[links]
track=[range],7.5,3.5,8,7.5,1.5,#000000,[tracks],6,[flags],0.05,2,0.5,,[links]
track=[range],9.5,9,16,9,1.5,#000000,[tracks],8,[flags],0.05,1,2,,[revlinks]
track=[range],17.25,10.1,17.25,10.9,1.5,#000000,[tracks],1,[flags],0.05,2,0.5,,[links]
track=[range],16,12,10,12,1.5,#000000,[tracks],8,[flags],0.05,2,0.5,,[links]
Result (eight cards):
Added parameter in POLYGON and STAR to indicate a pattern for the sides
In the eighteenth parameter of POLYGON and in the thirteenth parameter of STAR you can indicate a sequence of 0 and 1 to partially trace a side (you can indicate multiple sequences by separating them with the minus symbol to differentiate the sides). Example:
POLYGON=1,0,0,100%,50%,6,0,#000000,EMPTY,1%,,,,,,,,10101
STAR=1,0,50%,100%,50%,5,0,50,#000000,EMPTY,1%,0,10101
Added O, H, C, R, A flags to FRAMEDISK function to select distance and layout
Flags have been added to the FRAMEDISK function that calculate the disk size in hexagons rather than a numeric distance. Example:
font=arial,4,,#000000
[all]=framehex(0,0,6,9,0.3,N)
[disk]=framedisk(all90,all42,H)
text=1,µ,<all*>
polygon=1,<disk>,6,30,#000000,empty,0.05
There are more examples in this thread:
https://boardgamegeek.com/thread/3525901/new-flags-for-frame…
Option to specify sequences of zoom values in creating frames
In all functions that create frames (FRAMEBOX, FRAMEHEX, FRAMEBAR, FRAMECLOCK, and FRAMEBEZIER) you can specify a sequence for the zoom parameter, and a value is applied for each frame created. Example:
cardsize=6,6
[seq1]=50|100|125
[seq2]=50|60|70|80|90|100|100|90|80|70|60|50
[one]=framebar(1,1,5,5,1,1,12,[seq2])
[two]=frameclock(1,1,4,4,1,1,12,0,[seq2])
[three]=framebezier(1,1,4,1,2,5,5,5,1,1,12,[seq2])
[four]=framebox(1,1,4,4,1,1,N,[seq1],[seq1])
[five]=framehex(1,1,4,4,0.5,N,[seq1],[seq1])
[six]=framehex(1,1,4,4,0.5,AN,[seq1],[seq1])
rectangle=1,<one*>,#000000,empty,1%
rectangle=2,<two*>,#000000,empty,1%
rectangle=3,<three*>,#000000,empty,1%
rectangle=4,<four*>,#000000,empty,1%
polygon=5,<five*>,6,30,#000000,empty,1%
polygon=6,<six*>,6,0,#000000,empty,1%
Result (six cards):
Added S, P flags to FRAMECLOCK to create spirographic pattern frames
The S flag in FRAMECLOCK creates a spirographic pattern with a wheel rotating along the outer circumference of another wheel, while with the P flag the wheel rotates along the inner circumference. With these flags the tenth parameter is the diameter of the first wheel, the eleventh is the diameter of the second one, and the twelfth is the distance between the center of the second wheel and the center of the frames that are created. Example:
cardsize=10,20
[one]=frameclock(1,1,8,8,0.5,0.5,100,0,100,3,0.5,1,S)
[two]=frameclock(1,11,8,8,0.5,0.5,100,0,100,3,0.5,1,P)
rectangle=1,<one*>,#000000,empty,1%
rectangle=1,<two*>,#000000,empty,1%
Added angle parameter in ICON directive
You can now specify the rotation angle of a specific icon in the ninth parameter of the ICON directive.
Added parameter in LIMIT to define global behaviour
If you specify ON as the second parameter of the LIMIT directive, from that line onwards all graphic objects are considered to be followed by a LIMIT directive.
Added parameter in FRAMETRANS to keep the original numbering of frames
Normally the FRAMETRANS function creates frames with the same name, now you can specify a prefix as the eighth parameter, for example, if the original name for a frame is , the specified prefix is ”frame”, the new name is “modified”, then the new full name for that frame will be <modified100>.
Added + flag to FRAMELIST function to append a number to frames names
Normally the FRAMELIST function creates frames with the same name, now you can add the prefix + to one or more of its parameters to add a progressive number to the result.
Added F flag to FRAMEHEX function to specify number of hexagons
Normally the fifth parameter of the FRAMEHEX function indicates the size of the hexagon that is created, now you can indicate the number of hexagons that must occupy the space of the FRAMEHEX by indicating the F flag (normally vertically, horizontally if the A flag is present).
Added L flag to CALC to evaluate conditional expressions
This flag evaluates a string or sequence of logical expressions and replaces them with the values _TRUE_ or _FALSE_.
Added U flag to CALCULATE to calculate string occurrences
This flag calculates how many times a substring occurs in a string (or sequence).
Discord server:
BGG guild: