Files
gtav-src/tools_ng/wildwest/script/photoshop/ProceduralMapToolkit.jsx
T
2025-09-29 00:52:08 +02:00

1052 lines
56 KiB
React
Executable File

#target photoshop
//---Global vars-------------------------------------------------------------------------------------
var ProjectData =
{
procPaintFolder: (Folder.temp + "/ProcPaint"),
procPaintFiles: [],
maskFiles: [],
procEditFiles: [],
tileXY: null,
procPaintMasterMapPath: "X:/gta5/assets/maps/procPaint/ProceduralSetmap.png",
proceduralSetsXMLPath:"X:/gta5/assets/maps/procPaint/ProceduralSets.xml",
procPaintMasterMap: [18300, 24900],
tileSize: 100.0,
swatchSize: 100.0,
swatchBorder: 20.0,
swatchItemWidth: (100.0 * 4.0),
swatchItemHeight: (100.0 * 1.2),
swatchOrientation: "vertical"
}
var ProceduralSetData =
{
setDefinitions: [],
proceduralDefinitions: []
}
var ProcDef =
{
name:null,
hue:null
}
//---/Global vars-------------------------------------------------------------------------------------
//Process
//Find any mask files to be used as reference layers
discoverMasks();
getTileXY();
harvestProceduralSets();
//--------------------------- FUNCTIONS --------------------------------------------
function harvestProceduralSets()
{
var SetDefinition =
{
name: null,
proceduralHues: []
}
//Read the ProceduralSets.xml
var f = new File(ProjectData.proceduralSetsXMLPath);
f.open('r');
var xmlFile = f.read();
var procXML = new XML( xmlFile );
f.close();
//Create a list of proceduralDefinitions
var procRoot = procXML.children('SetData')[0];
var procDefs = procRoot.children('ProceduralDefinitions');
for(var i=0; i<procDefs.length(); i++)
{
var procDef = new Object();
procDef.name = procDefs.child(i).@Name;
procDef.hue = procDefs.child(i).@ColorHue;
ProceduralSetData.proceduralDefinitions.push(procDef);
}
//Create a list of SetDefinitions
var setDefs = procXML.descendants('Set');
$.writeln(setDefs.length());
for(var i=0; i<setDefs.length(); i++)
{
var thisChild = setDefs.child(i);
var setDef = new Object();
setDef.name = setDefs.child(i).@Name;
setDef.proceduralHue = [];
var procHues = thisChild.children('ProceduralHue');
for(var p=0; p<procHues.length(); p++)
{
setDef.proceduralHue.push(parseInt(procHues[p]));
}
ProceduralSetData.setDefinitions.push(setDef);
}
}
//Query the file location for mask region images.
function discoverMasks()
{
//get the raw file list
ProjectData.procPaintFiles = (new Folder(ProjectData.procPaintFolder)).getFiles();
//Filter them out into masks and edit maps
for(var f=0; f<ProjectData.procPaintFiles.length; f++)
{
var filePath = ProjectData.procPaintFiles[f];
//split on the '[' if we get an array its a mask, if not, an edit map
var nameBits = filePath.displayName.split("[");
if(nameBits.length > 1) //mask
{
ProjectData.maskFiles.push(filePath);
}
else
{
ProjectData.procEditFiles.push(filePath);
}
}
}
function openImageToLayer(filePath)
{
var doc = app.open(filePath);
app.activeDocument.selection.selectAll();
app.activeDocument.selection.copy();
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
activeDocument.paste();
}
function getNiceNamesforLayers()
{
var names = [];
for(var i=0; i< ProjectData.maskFiles.length; i++)
{
names.push( ((ProjectData.maskFiles[i].displayName).split("."))[0]);
}
return names;
}
function moveSelection(regionLayer, xPos, yPos)
{
var topLeftX = regionLayer.bounds[0];
var topLeftY = regionLayer.bounds[1];
var deltaX = -topLeftX + xPos;
var deltaY = -topLeftY+ yPos;
regionLayer.translate(deltaX, deltaY);
}
function getTileXY()
{
if(ProjectData.procEditFiles.length != 0)
{
var fileName = (ProjectData.procEditFiles[0].displayName).split(".")[0];
var nameBits = fileName.split("_");
ProjectData.tileXY = [nameBits[1], nameBits[2]];
}
return;
}
function getBitmapPosFromTileXy()
{
if( ProjectData.tileXY == null ) { return []; }
var xPos = ProjectData.tileXY[0] * ProjectData.tileSize;
var yPos = ProjectData.tileXY[1] * ProjectData.tileSize;
return [xPos, yPos];
}
function makeSwatch(top, left, bottom, right)
{
var idMk = charIDToTypeID( "Mk " );
var desc4 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var idcontentLayer = stringIDToTypeID( "contentLayer" );
ref2.putClass( idcontentLayer );
desc4.putReference( idnull, ref2 );
var idUsng = charIDToTypeID( "Usng" );
var desc5 = new ActionDescriptor();
var idType = charIDToTypeID( "Type" );
var idsolidColorLayer = stringIDToTypeID( "solidColorLayer" );
desc5.putClass( idType, idsolidColorLayer );
var idShp = charIDToTypeID( "Shp " );
var desc6 = new ActionDescriptor();
var idTop = charIDToTypeID( "Top " );
var idPxl = charIDToTypeID( "#Pxl" );
desc6.putUnitDouble( idTop, idPxl, top );
var idLeft = charIDToTypeID( "Left" );
var idPxl = charIDToTypeID( "#Pxl" );
desc6.putUnitDouble( idLeft, idPxl, left );
var idBtom = charIDToTypeID( "Btom" );
var idPxl = charIDToTypeID( "#Pxl" );
desc6.putUnitDouble( idBtom, idPxl, bottom );
var idRght = charIDToTypeID( "Rght" );
var idPxl = charIDToTypeID( "#Pxl" );
desc6.putUnitDouble( idRght, idPxl, right );
var idRctn = charIDToTypeID( "Rctn" );
desc5.putObject( idShp, idRctn, desc6 );
var idcontentLayer = stringIDToTypeID( "contentLayer" );
desc4.putObject( idUsng, idcontentLayer, desc5 );
executeAction( idMk, desc4, DialogModes.NO );
}
function makeSwatchDescriptor(text)
{
var idMk = charIDToTypeID( "Mk " );
var desc127 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref43 = new ActionReference();
var idTxLr = charIDToTypeID( "TxLr" );
ref43.putClass( idTxLr );
desc127.putReference( idnull, ref43 );
var idUsng = charIDToTypeID( "Usng" );
var desc128 = new ActionDescriptor();
var idTxt = charIDToTypeID( "Txt " );
desc128.putString( idTxt, text );
var idwarp = stringIDToTypeID( "warp" );
var desc129 = new ActionDescriptor();
var idwarpStyle = stringIDToTypeID( "warpStyle" );
var idwarpStyle = stringIDToTypeID( "warpStyle" );
var idwarpNone = stringIDToTypeID( "warpNone" );
desc129.putEnumerated( idwarpStyle, idwarpStyle, idwarpNone );
var idwarpValue = stringIDToTypeID( "warpValue" );
desc129.putDouble( idwarpValue, 0.000000 );
var idwarpPerspective = stringIDToTypeID( "warpPerspective" );
desc129.putDouble( idwarpPerspective, 0.000000 );
var idwarpPerspectiveOther = stringIDToTypeID( "warpPerspectiveOther" );
desc129.putDouble( idwarpPerspectiveOther, 0.000000 );
var idwarpRotate = stringIDToTypeID( "warpRotate" );
var idOrnt = charIDToTypeID( "Ornt" );
var idHrzn = charIDToTypeID( "Hrzn" );
desc129.putEnumerated( idwarpRotate, idOrnt, idHrzn );
var idwarp = stringIDToTypeID( "warp" );
desc128.putObject( idwarp, idwarp, desc129 );
var idTxtC = charIDToTypeID( "TxtC" );
var desc130 = new ActionDescriptor();
var idHrzn = charIDToTypeID( "Hrzn" );
var idPrc = charIDToTypeID( "#Prc" );
desc130.putUnitDouble( idHrzn, idPrc, 13.483146 );
var idVrtc = charIDToTypeID( "Vrtc" );
var idPrc = charIDToTypeID( "#Prc" );
desc130.putUnitDouble( idVrtc, idPrc, 7.382550 );
var idPnt = charIDToTypeID( "Pnt " );
desc128.putObject( idTxtC, idPnt, desc130 );
var idtextGridding = stringIDToTypeID( "textGridding" );
var idtextGridding = stringIDToTypeID( "textGridding" );
var idNone = charIDToTypeID( "None" );
desc128.putEnumerated( idtextGridding, idtextGridding, idNone );
var idOrnt = charIDToTypeID( "Ornt" );
var idOrnt = charIDToTypeID( "Ornt" );
var idHrzn = charIDToTypeID( "Hrzn" );
desc128.putEnumerated( idOrnt, idOrnt, idHrzn );
var idAntA = charIDToTypeID( "AntA" );
var idAnnt = charIDToTypeID( "Annt" );
var idantiAliasSharp = stringIDToTypeID( "antiAliasSharp" );
desc128.putEnumerated( idAntA, idAnnt, idantiAliasSharp );
var idtextShape = stringIDToTypeID( "textShape" );
var list19 = new ActionList();
var desc131 = new ActionDescriptor();
var idTEXT = charIDToTypeID( "TEXT" );
var idTEXT = charIDToTypeID( "TEXT" );
var idPnt = charIDToTypeID( "Pnt " );
desc131.putEnumerated( idTEXT, idTEXT, idPnt );
var idOrnt = charIDToTypeID( "Ornt" );
var idOrnt = charIDToTypeID( "Ornt" );
var idHrzn = charIDToTypeID( "Hrzn" );
desc131.putEnumerated( idOrnt, idOrnt, idHrzn );
var idTrnf = charIDToTypeID( "Trnf" );
var desc132 = new ActionDescriptor();
var idxx = stringIDToTypeID( "xx" );
desc132.putDouble( idxx, 1.000000 );
var idxy = stringIDToTypeID( "xy" );
desc132.putDouble( idxy, 0.000000 );
var idyx = stringIDToTypeID( "yx" );
desc132.putDouble( idyx, 0.000000 );
var idyy = stringIDToTypeID( "yy" );
desc132.putDouble( idyy, 1.000000 );
var idtx = stringIDToTypeID( "tx" );
desc132.putDouble( idtx, 0.000000 );
var idty = stringIDToTypeID( "ty" );
desc132.putDouble( idty, 0.000000 );
var idTrnf = charIDToTypeID( "Trnf" );
desc131.putObject( idTrnf, idTrnf, desc132 );
var idrowCount = stringIDToTypeID( "rowCount" );
desc131.putInteger( idrowCount, 1 );
var idcolumnCount = stringIDToTypeID( "columnCount" );
desc131.putInteger( idcolumnCount, 1 );
var idrowMajorOrder = stringIDToTypeID( "rowMajorOrder" );
desc131.putBoolean( idrowMajorOrder, true );
var idrowGutter = stringIDToTypeID( "rowGutter" );
var idPnt = charIDToTypeID( "#Pnt" );
desc131.putUnitDouble( idrowGutter, idPnt, 0.000000 );
var idcolumnGutter = stringIDToTypeID( "columnGutter" );
var idPnt = charIDToTypeID( "#Pnt" );
desc131.putUnitDouble( idcolumnGutter, idPnt, 0.000000 );
var idSpcn = charIDToTypeID( "Spcn" );
var idPnt = charIDToTypeID( "#Pnt" );
desc131.putUnitDouble( idSpcn, idPnt, 0.000000 );
var idframeBaselineAlignment = stringIDToTypeID( "frameBaselineAlignment" );
var idframeBaselineAlignment = stringIDToTypeID( "frameBaselineAlignment" );
var idalignByAscent = stringIDToTypeID( "alignByAscent" );
desc131.putEnumerated( idframeBaselineAlignment, idframeBaselineAlignment, idalignByAscent );
var idfirstBaselineMinimum = stringIDToTypeID( "firstBaselineMinimum" );
var idPnt = charIDToTypeID( "#Pnt" );
desc131.putUnitDouble( idfirstBaselineMinimum, idPnt, 0.000000 );
var idbase = stringIDToTypeID( "base" );
var desc133 = new ActionDescriptor();
var idHrzn = charIDToTypeID( "Hrzn" );
desc133.putDouble( idHrzn, 0.000000 );
var idVrtc = charIDToTypeID( "Vrtc" );
desc133.putDouble( idVrtc, 0.000000 );
var idPnt = charIDToTypeID( "Pnt " );
desc131.putObject( idbase, idPnt, desc133 );
var idtextShape = stringIDToTypeID( "textShape" );
list19.putObject( idtextShape, desc131 );
desc128.putList( idtextShape, list19 );
var idTxtt = charIDToTypeID( "Txtt" );
var list20 = new ActionList();
var desc134 = new ActionDescriptor();
var idFrom = charIDToTypeID( "From" );
desc134.putInteger( idFrom, 0 );
var idT = charIDToTypeID( "T " );
desc134.putInteger( idT, 30 );
var idTxtS = charIDToTypeID( "TxtS" );
var desc135 = new ActionDescriptor();
var idstyleSheetHasParent = stringIDToTypeID( "styleSheetHasParent" );
desc135.putBoolean( idstyleSheetHasParent, true );
var idfontPostScriptName = stringIDToTypeID( "fontPostScriptName" );
desc135.putString( idfontPostScriptName, "ArialMT" );
var idFntN = charIDToTypeID( "FntN" );
desc135.putString( idFntN, "Arial" );
var idFntS = charIDToTypeID( "FntS" );
desc135.putString( idFntS, "Regular" );
var idScrp = charIDToTypeID( "Scrp" );
desc135.putInteger( idScrp, 0 );
var idFntT = charIDToTypeID( "FntT" );
desc135.putInteger( idFntT, 1 );
var idSz = charIDToTypeID( "Sz " );
var idPnt = charIDToTypeID( "#Pnt" );
desc135.putUnitDouble( idSz, idPnt, 18.000000 );
var idHrzS = charIDToTypeID( "HrzS" );
desc135.putDouble( idHrzS, 100.000000 );
var idVrtS = charIDToTypeID( "VrtS" );
desc135.putDouble( idVrtS, 100.000000 );
var idsyntheticBold = stringIDToTypeID( "syntheticBold" );
desc135.putBoolean( idsyntheticBold, false );
var idsyntheticItalic = stringIDToTypeID( "syntheticItalic" );
desc135.putBoolean( idsyntheticItalic, false );
var idautoLeading = stringIDToTypeID( "autoLeading" );
desc135.putBoolean( idautoLeading, true );
var idTrck = charIDToTypeID( "Trck" );
desc135.putInteger( idTrck, 0 );
var idBsln = charIDToTypeID( "Bsln" );
var idPnt = charIDToTypeID( "#Pnt" );
desc135.putUnitDouble( idBsln, idPnt, 0.000000 );
var idcharacterRotation = stringIDToTypeID( "characterRotation" );
desc135.putDouble( idcharacterRotation, 0.000000 );
var idAtKr = charIDToTypeID( "AtKr" );
var idAtKr = charIDToTypeID( "AtKr" );
var idmetricsKern = stringIDToTypeID( "metricsKern" );
desc135.putEnumerated( idAtKr, idAtKr, idmetricsKern );
var idfontCaps = stringIDToTypeID( "fontCaps" );
var idfontCaps = stringIDToTypeID( "fontCaps" );
var idNrml = charIDToTypeID( "Nrml" );
desc135.putEnumerated( idfontCaps, idfontCaps, idNrml );
var idbaseline = stringIDToTypeID( "baseline" );
var idbaseline = stringIDToTypeID( "baseline" );
var idNrml = charIDToTypeID( "Nrml" );
desc135.putEnumerated( idbaseline, idbaseline, idNrml );
var idotbaseline = stringIDToTypeID( "otbaseline" );
var idotbaseline = stringIDToTypeID( "otbaseline" );
var idNrml = charIDToTypeID( "Nrml" );
desc135.putEnumerated( idotbaseline, idotbaseline, idNrml );
var idstrikethrough = stringIDToTypeID( "strikethrough" );
var idstrikethrough = stringIDToTypeID( "strikethrough" );
var idstrikethroughOff = stringIDToTypeID( "strikethroughOff" );
desc135.putEnumerated( idstrikethrough, idstrikethrough, idstrikethroughOff );
var idUndl = charIDToTypeID( "Undl" );
var idUndl = charIDToTypeID( "Undl" );
var idunderlineOff = stringIDToTypeID( "underlineOff" );
desc135.putEnumerated( idUndl, idUndl, idunderlineOff );
var idunderlineOffset = stringIDToTypeID( "underlineOffset" );
var idPnt = charIDToTypeID( "#Pnt" );
desc135.putUnitDouble( idunderlineOffset, idPnt, 0.000000 );
var idligature = stringIDToTypeID( "ligature" );
desc135.putBoolean( idligature, true );
var idaltligature = stringIDToTypeID( "altligature" );
desc135.putBoolean( idaltligature, false );
var idcontextualLigatures = stringIDToTypeID( "contextualLigatures" );
desc135.putBoolean( idcontextualLigatures, false );
var idalternateLigatures = stringIDToTypeID( "alternateLigatures" );
desc135.putBoolean( idalternateLigatures, false );
var idoldStyle = stringIDToTypeID( "oldStyle" );
desc135.putBoolean( idoldStyle, false );
var idfractions = stringIDToTypeID( "fractions" );
desc135.putBoolean( idfractions, false );
var idordinals = stringIDToTypeID( "ordinals" );
desc135.putBoolean( idordinals, false );
var idswash = stringIDToTypeID( "swash" );
desc135.putBoolean( idswash, false );
var idtitling = stringIDToTypeID( "titling" );
desc135.putBoolean( idtitling, false );
var idconnectionForms = stringIDToTypeID( "connectionForms" );
desc135.putBoolean( idconnectionForms, false );
var idstylisticAlternates = stringIDToTypeID( "stylisticAlternates" );
desc135.putBoolean( idstylisticAlternates, false );
var idornaments = stringIDToTypeID( "ornaments" );
desc135.putBoolean( idornaments, false );
var idfigureStyle = stringIDToTypeID( "figureStyle" );
var idfigureStyle = stringIDToTypeID( "figureStyle" );
var idNrml = charIDToTypeID( "Nrml" );
desc135.putEnumerated( idfigureStyle, idfigureStyle, idNrml );
var idproportionalMetrics = stringIDToTypeID( "proportionalMetrics" );
desc135.putBoolean( idproportionalMetrics, false );
var idkana = stringIDToTypeID( "kana" );
desc135.putBoolean( idkana, false );
var iditalics = stringIDToTypeID( "italics" );
desc135.putBoolean( iditalics, false );
var idruby = stringIDToTypeID( "ruby" );
desc135.putBoolean( idruby, false );
var idbaselineDirection = stringIDToTypeID( "baselineDirection" );
var idbaselineDirection = stringIDToTypeID( "baselineDirection" );
var idrotated = stringIDToTypeID( "rotated" );
desc135.putEnumerated( idbaselineDirection, idbaselineDirection, idrotated );
var idtextLanguage = stringIDToTypeID( "textLanguage" );
var idtextLanguage = stringIDToTypeID( "textLanguage" );
var idenglishLanguage = stringIDToTypeID( "englishLanguage" );
desc135.putEnumerated( idtextLanguage, idtextLanguage, idenglishLanguage );
var idjapaneseAlternate = stringIDToTypeID( "japaneseAlternate" );
var idjapaneseAlternate = stringIDToTypeID( "japaneseAlternate" );
var iddefaultForm = stringIDToTypeID( "defaultForm" );
desc135.putEnumerated( idjapaneseAlternate, idjapaneseAlternate, iddefaultForm );
var idmojiZume = stringIDToTypeID( "mojiZume" );
desc135.putDouble( idmojiZume, 0.000000 );
var idgridAlignment = stringIDToTypeID( "gridAlignment" );
var idgridAlignment = stringIDToTypeID( "gridAlignment" );
var idroman = stringIDToTypeID( "roman" );
desc135.putEnumerated( idgridAlignment, idgridAlignment, idroman );
var idenableWariChu = stringIDToTypeID( "enableWariChu" );
desc135.putBoolean( idenableWariChu, false );
var idwariChuCount = stringIDToTypeID( "wariChuCount" );
desc135.putInteger( idwariChuCount, 2 );
var idwariChuLineGap = stringIDToTypeID( "wariChuLineGap" );
desc135.putInteger( idwariChuLineGap, 0 );
var idwariChuScale = stringIDToTypeID( "wariChuScale" );
desc135.putDouble( idwariChuScale, 0.500000 );
var idwariChuWidow = stringIDToTypeID( "wariChuWidow" );
desc135.putInteger( idwariChuWidow, 2 );
var idwariChuOrphan = stringIDToTypeID( "wariChuOrphan" );
desc135.putInteger( idwariChuOrphan, 2 );
var idwariChuJustification = stringIDToTypeID( "wariChuJustification" );
var idwariChuJustification = stringIDToTypeID( "wariChuJustification" );
var idwariChuAutoJustify = stringIDToTypeID( "wariChuAutoJustify" );
desc135.putEnumerated( idwariChuJustification, idwariChuJustification, idwariChuAutoJustify );
var idtcyUpDown = stringIDToTypeID( "tcyUpDown" );
desc135.putInteger( idtcyUpDown, 0 );
var idtcyLeftRight = stringIDToTypeID( "tcyLeftRight" );
desc135.putInteger( idtcyLeftRight, 0 );
var idleftAki = stringIDToTypeID( "leftAki" );
desc135.putDouble( idleftAki, -1.000000 );
var idrightAki = stringIDToTypeID( "rightAki" );
desc135.putDouble( idrightAki, -1.000000 );
var idjiDori = stringIDToTypeID( "jiDori" );
desc135.putInteger( idjiDori, 0 );
var idnoBreak = stringIDToTypeID( "noBreak" );
desc135.putBoolean( idnoBreak, false );
var idClr = charIDToTypeID( "Clr " );
var desc136 = new ActionDescriptor();
var idRd = charIDToTypeID( "Rd " );
desc136.putDouble( idRd, 0.000000 );
var idGrn = charIDToTypeID( "Grn " );
desc136.putDouble( idGrn, 0.000000 );
var idBl = charIDToTypeID( "Bl " );
desc136.putDouble( idBl, 0.000000 );
var idRGBC = charIDToTypeID( "RGBC" );
desc135.putObject( idClr, idRGBC, desc136 );
var idstrokeColor = stringIDToTypeID( "strokeColor" );
var desc137 = new ActionDescriptor();
var idRd = charIDToTypeID( "Rd " );
desc137.putDouble( idRd, 53.239578 );
var idGrn = charIDToTypeID( "Grn " );
desc137.putDouble( idGrn, 53.239578 );
var idBl = charIDToTypeID( "Bl " );
desc137.putDouble( idBl, 53.239578 );
var idRGBC = charIDToTypeID( "RGBC" );
desc135.putObject( idstrokeColor, idRGBC, desc137 );
var idFl = charIDToTypeID( "Fl " );
desc135.putBoolean( idFl, true );
var idStrk = charIDToTypeID( "Strk" );
desc135.putBoolean( idStrk, false );
var idfillFirst = stringIDToTypeID( "fillFirst" );
desc135.putBoolean( idfillFirst, true );
var idfillOverPrint = stringIDToTypeID( "fillOverPrint" );
desc135.putBoolean( idfillOverPrint, false );
var idstrokeOverPrint = stringIDToTypeID( "strokeOverPrint" );
desc135.putBoolean( idstrokeOverPrint, false );
var idlineCap = stringIDToTypeID( "lineCap" );
var idlineCap = stringIDToTypeID( "lineCap" );
var idbuttCap = stringIDToTypeID( "buttCap" );
desc135.putEnumerated( idlineCap, idlineCap, idbuttCap );
var idlineJoin = stringIDToTypeID( "lineJoin" );
var idlineJoin = stringIDToTypeID( "lineJoin" );
var idmiterJoin = stringIDToTypeID( "miterJoin" );
desc135.putEnumerated( idlineJoin, idlineJoin, idmiterJoin );
var idlineWidth = stringIDToTypeID( "lineWidth" );
var idPnt = charIDToTypeID( "#Pnt" );
desc135.putUnitDouble( idlineWidth, idPnt, 1.000000 );
var idmiterLimit = stringIDToTypeID( "miterLimit" );
var idPnt = charIDToTypeID( "#Pnt" );
desc135.putUnitDouble( idmiterLimit, idPnt, 4.000000 );
var idlineDashoffset = stringIDToTypeID( "lineDashoffset" );
desc135.putDouble( idlineDashoffset, 0.000000 );
var idTxtS = charIDToTypeID( "TxtS" );
desc134.putObject( idTxtS, idTxtS, desc135 );
var idTxtt = charIDToTypeID( "Txtt" );
list20.putObject( idTxtt, desc134 );
desc128.putList( idTxtt, list20 );
var idparagraphStyleRange = stringIDToTypeID( "paragraphStyleRange" );
var list21 = new ActionList();
var desc138 = new ActionDescriptor();
var idFrom = charIDToTypeID( "From" );
desc138.putInteger( idFrom, 0 );
var idT = charIDToTypeID( "T " );
desc138.putInteger( idT, 30 );
var idparagraphStyle = stringIDToTypeID( "paragraphStyle" );
var desc139 = new ActionDescriptor();
var idAlgn = charIDToTypeID( "Algn" );
var idAlg = charIDToTypeID( "Alg " );
var idLeft = charIDToTypeID( "Left" );
desc139.putEnumerated( idAlgn, idAlg, idLeft );
var idfirstLineIndent = stringIDToTypeID( "firstLineIndent" );
var idPnt = charIDToTypeID( "#Pnt" );
desc139.putUnitDouble( idfirstLineIndent, idPnt, 0.000000 );
var idstartIndent = stringIDToTypeID( "startIndent" );
var idPnt = charIDToTypeID( "#Pnt" );
desc139.putUnitDouble( idstartIndent, idPnt, 0.000000 );
var idendIndent = stringIDToTypeID( "endIndent" );
var idPnt = charIDToTypeID( "#Pnt" );
desc139.putUnitDouble( idendIndent, idPnt, 0.000000 );
var idspaceBefore = stringIDToTypeID( "spaceBefore" );
var idPnt = charIDToTypeID( "#Pnt" );
desc139.putUnitDouble( idspaceBefore, idPnt, 0.000000 );
var idspaceAfter = stringIDToTypeID( "spaceAfter" );
var idPnt = charIDToTypeID( "#Pnt" );
desc139.putUnitDouble( idspaceAfter, idPnt, 0.000000 );
var iddropCapMultiplier = stringIDToTypeID( "dropCapMultiplier" );
desc139.putInteger( iddropCapMultiplier, 1 );
var idautoLeadingPercentage = stringIDToTypeID( "autoLeadingPercentage" );
desc139.putDouble( idautoLeadingPercentage, 1.200000 );
var idleadingType = stringIDToTypeID( "leadingType" );
var idleadingType = stringIDToTypeID( "leadingType" );
var idleadingBelow = stringIDToTypeID( "leadingBelow" );
desc139.putEnumerated( idleadingType, idleadingType, idleadingBelow );
var idhyphenate = stringIDToTypeID( "hyphenate" );
desc139.putBoolean( idhyphenate, true );
var idhyphenateWordSize = stringIDToTypeID( "hyphenateWordSize" );
desc139.putInteger( idhyphenateWordSize, 6 );
var idhyphenatePreLength = stringIDToTypeID( "hyphenatePreLength" );
desc139.putInteger( idhyphenatePreLength, 2 );
var idhyphenatePostLength = stringIDToTypeID( "hyphenatePostLength" );
desc139.putInteger( idhyphenatePostLength, 2 );
var idhyphenateLimit = stringIDToTypeID( "hyphenateLimit" );
desc139.putInteger( idhyphenateLimit, 0 );
var idhyphenationZone = stringIDToTypeID( "hyphenationZone" );
desc139.putDouble( idhyphenationZone, 36.000000 );
var idhyphenateCapitalized = stringIDToTypeID( "hyphenateCapitalized" );
desc139.putBoolean( idhyphenateCapitalized, true );
var idhyphenationPreference = stringIDToTypeID( "hyphenationPreference" );
desc139.putDouble( idhyphenationPreference, 0.500000 );
var idjustificationWordMinimum = stringIDToTypeID( "justificationWordMinimum" );
desc139.putDouble( idjustificationWordMinimum, 0.800000 );
var idjustificationWordDesired = stringIDToTypeID( "justificationWordDesired" );
desc139.putDouble( idjustificationWordDesired, 1.000000 );
var idjustificationWordMaximum = stringIDToTypeID( "justificationWordMaximum" );
desc139.putDouble( idjustificationWordMaximum, 1.330000 );
var idjustificationLetterMinimum = stringIDToTypeID( "justificationLetterMinimum" );
desc139.putDouble( idjustificationLetterMinimum, 0.000000 );
var idjustificationLetterDesired = stringIDToTypeID( "justificationLetterDesired" );
desc139.putDouble( idjustificationLetterDesired, 0.000000 );
var idjustificationLetterMaximum = stringIDToTypeID( "justificationLetterMaximum" );
desc139.putDouble( idjustificationLetterMaximum, 0.000000 );
var idjustificationGlyphMinimum = stringIDToTypeID( "justificationGlyphMinimum" );
desc139.putDouble( idjustificationGlyphMinimum, 1.000000 );
var idjustificationGlyphDesired = stringIDToTypeID( "justificationGlyphDesired" );
desc139.putDouble( idjustificationGlyphDesired, 1.000000 );
var idjustificationGlyphMaximum = stringIDToTypeID( "justificationGlyphMaximum" );
desc139.putDouble( idjustificationGlyphMaximum, 1.000000 );
var idsingleWordJustification = stringIDToTypeID( "singleWordJustification" );
var idAlg = charIDToTypeID( "Alg " );
var idJstA = charIDToTypeID( "JstA" );
desc139.putEnumerated( idsingleWordJustification, idAlg, idJstA );
var idhangingRoman = stringIDToTypeID( "hangingRoman" );
desc139.putBoolean( idhangingRoman, false );
var idautoTCY = stringIDToTypeID( "autoTCY" );
desc139.putInteger( idautoTCY, 1 );
var idkeepTogether = stringIDToTypeID( "keepTogether" );
desc139.putBoolean( idkeepTogether, true );
var idburasagari = stringIDToTypeID( "burasagari" );
var idburasagari = stringIDToTypeID( "burasagari" );
var idburasagariNone = stringIDToTypeID( "burasagariNone" );
desc139.putEnumerated( idburasagari, idburasagari, idburasagariNone );
var idpreferredKinsokuOrder = stringIDToTypeID( "preferredKinsokuOrder" );
var idpreferredKinsokuOrder = stringIDToTypeID( "preferredKinsokuOrder" );
var idpushIn = stringIDToTypeID( "pushIn" );
desc139.putEnumerated( idpreferredKinsokuOrder, idpreferredKinsokuOrder, idpushIn );
var idkurikaeshiMojiShori = stringIDToTypeID( "kurikaeshiMojiShori" );
desc139.putBoolean( idkurikaeshiMojiShori, false );
var idtextEveryLineComposer = stringIDToTypeID( "textEveryLineComposer" );
desc139.putBoolean( idtextEveryLineComposer, false );
var iddefaultTabWidth = stringIDToTypeID( "defaultTabWidth" );
desc139.putDouble( iddefaultTabWidth, 36.000000 );
var iddefaultStyle = stringIDToTypeID( "defaultStyle" );
var desc140 = new ActionDescriptor();
var idfontPostScriptName = stringIDToTypeID( "fontPostScriptName" );
desc140.putString( idfontPostScriptName, "MyriadPro-Regular" );
var idFntN = charIDToTypeID( "FntN" );
desc140.putString( idFntN, "Myriad Pro" );
var idFntS = charIDToTypeID( "FntS" );
desc140.putString( idFntS, "Regular" );
var idScrp = charIDToTypeID( "Scrp" );
desc140.putInteger( idScrp, 0 );
var idFntT = charIDToTypeID( "FntT" );
desc140.putInteger( idFntT, 0 );
var idSz = charIDToTypeID( "Sz " );
var idPnt = charIDToTypeID( "#Pnt" );
desc140.putUnitDouble( idSz, idPnt, 12.000000 );
var idHrzS = charIDToTypeID( "HrzS" );
desc140.putDouble( idHrzS, 100.000000 );
var idVrtS = charIDToTypeID( "VrtS" );
desc140.putDouble( idVrtS, 100.000000 );
var idsyntheticBold = stringIDToTypeID( "syntheticBold" );
desc140.putBoolean( idsyntheticBold, false );
var idsyntheticItalic = stringIDToTypeID( "syntheticItalic" );
desc140.putBoolean( idsyntheticItalic, false );
var idautoLeading = stringIDToTypeID( "autoLeading" );
desc140.putBoolean( idautoLeading, true );
var idTrck = charIDToTypeID( "Trck" );
desc140.putInteger( idTrck, 0 );
var idBsln = charIDToTypeID( "Bsln" );
var idPnt = charIDToTypeID( "#Pnt" );
desc140.putUnitDouble( idBsln, idPnt, 0.000000 );
var idcharacterRotation = stringIDToTypeID( "characterRotation" );
desc140.putDouble( idcharacterRotation, 0.000000 );
var idAtKr = charIDToTypeID( "AtKr" );
var idAtKr = charIDToTypeID( "AtKr" );
var idmetricsKern = stringIDToTypeID( "metricsKern" );
desc140.putEnumerated( idAtKr, idAtKr, idmetricsKern );
var idfontCaps = stringIDToTypeID( "fontCaps" );
var idfontCaps = stringIDToTypeID( "fontCaps" );
var idNrml = charIDToTypeID( "Nrml" );
desc140.putEnumerated( idfontCaps, idfontCaps, idNrml );
var idbaseline = stringIDToTypeID( "baseline" );
var idbaseline = stringIDToTypeID( "baseline" );
var idNrml = charIDToTypeID( "Nrml" );
desc140.putEnumerated( idbaseline, idbaseline, idNrml );
var idotbaseline = stringIDToTypeID( "otbaseline" );
var idotbaseline = stringIDToTypeID( "otbaseline" );
var idNrml = charIDToTypeID( "Nrml" );
desc140.putEnumerated( idotbaseline, idotbaseline, idNrml );
var idstrikethrough = stringIDToTypeID( "strikethrough" );
var idstrikethrough = stringIDToTypeID( "strikethrough" );
var idstrikethroughOff = stringIDToTypeID( "strikethroughOff" );
desc140.putEnumerated( idstrikethrough, idstrikethrough, idstrikethroughOff );
var idUndl = charIDToTypeID( "Undl" );
var idUndl = charIDToTypeID( "Undl" );
var idunderlineOff = stringIDToTypeID( "underlineOff" );
desc140.putEnumerated( idUndl, idUndl, idunderlineOff );
var idunderlineOffset = stringIDToTypeID( "underlineOffset" );
var idPnt = charIDToTypeID( "#Pnt" );
desc140.putUnitDouble( idunderlineOffset, idPnt, 0.000000 );
var idligature = stringIDToTypeID( "ligature" );
desc140.putBoolean( idligature, true );
var idaltligature = stringIDToTypeID( "altligature" );
desc140.putBoolean( idaltligature, false );
var idcontextualLigatures = stringIDToTypeID( "contextualLigatures" );
desc140.putBoolean( idcontextualLigatures, false );
var idalternateLigatures = stringIDToTypeID( "alternateLigatures" );
desc140.putBoolean( idalternateLigatures, false );
var idoldStyle = stringIDToTypeID( "oldStyle" );
desc140.putBoolean( idoldStyle, false );
var idfractions = stringIDToTypeID( "fractions" );
desc140.putBoolean( idfractions, false );
var idordinals = stringIDToTypeID( "ordinals" );
desc140.putBoolean( idordinals, false );
var idswash = stringIDToTypeID( "swash" );
desc140.putBoolean( idswash, false );
var idtitling = stringIDToTypeID( "titling" );
desc140.putBoolean( idtitling, false );
var idconnectionForms = stringIDToTypeID( "connectionForms" );
desc140.putBoolean( idconnectionForms, false );
var idstylisticAlternates = stringIDToTypeID( "stylisticAlternates" );
desc140.putBoolean( idstylisticAlternates, false );
var idornaments = stringIDToTypeID( "ornaments" );
desc140.putBoolean( idornaments, false );
var idfigureStyle = stringIDToTypeID( "figureStyle" );
var idfigureStyle = stringIDToTypeID( "figureStyle" );
var idNrml = charIDToTypeID( "Nrml" );
desc140.putEnumerated( idfigureStyle, idfigureStyle, idNrml );
var idproportionalMetrics = stringIDToTypeID( "proportionalMetrics" );
desc140.putBoolean( idproportionalMetrics, false );
var idkana = stringIDToTypeID( "kana" );
desc140.putBoolean( idkana, false );
var iditalics = stringIDToTypeID( "italics" );
desc140.putBoolean( iditalics, false );
var idruby = stringIDToTypeID( "ruby" );
desc140.putBoolean( idruby, false );
var idbaselineDirection = stringIDToTypeID( "baselineDirection" );
var idbaselineDirection = stringIDToTypeID( "baselineDirection" );
var idrotated = stringIDToTypeID( "rotated" );
desc140.putEnumerated( idbaselineDirection, idbaselineDirection, idrotated );
var idtextLanguage = stringIDToTypeID( "textLanguage" );
var idtextLanguage = stringIDToTypeID( "textLanguage" );
var idenglishLanguage = stringIDToTypeID( "englishLanguage" );
desc140.putEnumerated( idtextLanguage, idtextLanguage, idenglishLanguage );
var idmojiZume = stringIDToTypeID( "mojiZume" );
desc140.putDouble( idmojiZume, 0.000000 );
var idgridAlignment = stringIDToTypeID( "gridAlignment" );
var idgridAlignment = stringIDToTypeID( "gridAlignment" );
var idroman = stringIDToTypeID( "roman" );
desc140.putEnumerated( idgridAlignment, idgridAlignment, idroman );
var idenableWariChu = stringIDToTypeID( "enableWariChu" );
desc140.putBoolean( idenableWariChu, false );
var idwariChuCount = stringIDToTypeID( "wariChuCount" );
desc140.putInteger( idwariChuCount, 2 );
var idwariChuLineGap = stringIDToTypeID( "wariChuLineGap" );
desc140.putInteger( idwariChuLineGap, 0 );
var idwariChuScale = stringIDToTypeID( "wariChuScale" );
desc140.putDouble( idwariChuScale, 0.500000 );
var idwariChuWidow = stringIDToTypeID( "wariChuWidow" );
desc140.putInteger( idwariChuWidow, 2 );
var idwariChuOrphan = stringIDToTypeID( "wariChuOrphan" );
desc140.putInteger( idwariChuOrphan, 2 );
var idwariChuJustification = stringIDToTypeID( "wariChuJustification" );
var idwariChuJustification = stringIDToTypeID( "wariChuJustification" );
var idwariChuAutoJustify = stringIDToTypeID( "wariChuAutoJustify" );
desc140.putEnumerated( idwariChuJustification, idwariChuJustification, idwariChuAutoJustify );
var idtcyUpDown = stringIDToTypeID( "tcyUpDown" );
desc140.putInteger( idtcyUpDown, 0 );
var idtcyLeftRight = stringIDToTypeID( "tcyLeftRight" );
desc140.putInteger( idtcyLeftRight, 0 );
var idleftAki = stringIDToTypeID( "leftAki" );
desc140.putDouble( idleftAki, -1.000000 );
var idrightAki = stringIDToTypeID( "rightAki" );
desc140.putDouble( idrightAki, -1.000000 );
var idjiDori = stringIDToTypeID( "jiDori" );
desc140.putInteger( idjiDori, 0 );
var idnoBreak = stringIDToTypeID( "noBreak" );
desc140.putBoolean( idnoBreak, false );
var idClr = charIDToTypeID( "Clr " );
var desc141 = new ActionDescriptor();
var idRd = charIDToTypeID( "Rd " );
desc141.putDouble( idRd, 0.000000 );
var idGrn = charIDToTypeID( "Grn " );
desc141.putDouble( idGrn, 0.000000 );
var idBl = charIDToTypeID( "Bl " );
desc141.putDouble( idBl, 0.000000 );
var idRGBC = charIDToTypeID( "RGBC" );
desc140.putObject( idClr, idRGBC, desc141 );
var idstrokeColor = stringIDToTypeID( "strokeColor" );
var desc142 = new ActionDescriptor();
var idRd = charIDToTypeID( "Rd " );
desc142.putDouble( idRd, 0.000000 );
var idGrn = charIDToTypeID( "Grn " );
desc142.putDouble( idGrn, 0.000000 );
var idBl = charIDToTypeID( "Bl " );
desc142.putDouble( idBl, 0.000000 );
var idRGBC = charIDToTypeID( "RGBC" );
desc140.putObject( idstrokeColor, idRGBC, desc142 );
var idFl = charIDToTypeID( "Fl " );
desc140.putBoolean( idFl, true );
var idStrk = charIDToTypeID( "Strk" );
desc140.putBoolean( idStrk, false );
var idfillFirst = stringIDToTypeID( "fillFirst" );
desc140.putBoolean( idfillFirst, true );
var idfillOverPrint = stringIDToTypeID( "fillOverPrint" );
desc140.putBoolean( idfillOverPrint, false );
var idstrokeOverPrint = stringIDToTypeID( "strokeOverPrint" );
desc140.putBoolean( idstrokeOverPrint, false );
var idlineCap = stringIDToTypeID( "lineCap" );
var idlineCap = stringIDToTypeID( "lineCap" );
var idbuttCap = stringIDToTypeID( "buttCap" );
desc140.putEnumerated( idlineCap, idlineCap, idbuttCap );
var idlineJoin = stringIDToTypeID( "lineJoin" );
var idlineJoin = stringIDToTypeID( "lineJoin" );
var idmiterJoin = stringIDToTypeID( "miterJoin" );
desc140.putEnumerated( idlineJoin, idlineJoin, idmiterJoin );
var idlineWidth = stringIDToTypeID( "lineWidth" );
var idPnt = charIDToTypeID( "#Pnt" );
desc140.putUnitDouble( idlineWidth, idPnt, 1.000000 );
var idmiterLimit = stringIDToTypeID( "miterLimit" );
var idPnt = charIDToTypeID( "#Pnt" );
desc140.putUnitDouble( idmiterLimit, idPnt, 4.000000 );
var idlineDashoffset = stringIDToTypeID( "lineDashoffset" );
desc140.putDouble( idlineDashoffset, 0.000000 );
var idTxtS = charIDToTypeID( "TxtS" );
desc139.putObject( iddefaultStyle, idTxtS, desc140 );
var idparagraphStyle = stringIDToTypeID( "paragraphStyle" );
desc138.putObject( idparagraphStyle, idparagraphStyle, desc139 );
var idparagraphStyleRange = stringIDToTypeID( "paragraphStyleRange" );
list21.putObject( idparagraphStyleRange, desc138 );
desc128.putList( idparagraphStyleRange, list21 );
var idkerningRange = stringIDToTypeID( "kerningRange" );
var list22 = new ActionList();
desc128.putList( idkerningRange, list22 );
var idTxLr = charIDToTypeID( "TxLr" );
desc127.putObject( idUsng, idTxLr, desc128 );
executeAction( idMk, desc127, DialogModes.NO );
}
function getProceduralsFromSet(set)
{
if(ProceduralSetData.setDefinitions.length == 0)
{
return [];
}
//get the hue list for the set required
var procHuesList = null;
for(var i=0; i<ProceduralSetData.setDefinitions.length; i++)
{
if(ProceduralSetData.setDefinitions[i].name == set)
{
procHuesList = ProceduralSetData.setDefinitions[i].proceduralHue;
}
}
var proceduralDefinitionsList = []
if(procHuesList != null && procHuesList.length > 0)
{
for(var i=0; i < procHuesList.length; i++)
{
for(var k=0; k < ProceduralSetData.proceduralDefinitions.length; k++)
{
if(procHuesList[i] == ProceduralSetData.proceduralDefinitions[k].hue)
{
proceduralDefinitionsList.push(ProceduralSetData.proceduralDefinitions[k]);
}
}
}
}
return proceduralDefinitionsList;
}
//--------------------------- /FUNCTIONS --------------------------------------------
//--------- UI -----------------------------------------------------------------------------------------------
var toolWindow = new Window("dialog", "Procedural Map Preset");
toolWindow.Orientation="row";
var myMessage = toolWindow.add("statictext");
myMessage.text = "Procedural Working image";
var layerTree = toolWindow.add("listbox", [0, 0, 250, 200], getNiceNamesforLayers());
/*
layerTree.onChange = function()
{
$.writeln("Selection has changed");
}
*/
//////////////////////////////////////////////////////////////////////////////////////////
// Create working Document
//////////////////////////////////////////////////////////////////////////////////////////
var setButton = toolWindow.add("button", undefined, "Import Layers ", {name:"ok"});
setButton.onClick = function()
{
//var procDoc = app.documents.add();
var procDoc = app.open(ProjectData.procEditFiles[0]);
//figure out what size it should be from the procEditFiles
//First add in the mask layers into thier own layer group
var maskLayerGroup = procDoc.layerSets.add();
maskLayerGroup.name = "Masks";
for(var i=0; i<ProjectData.maskFiles.length; i++)
{
var newLayer = procDoc.artLayers.add();
//name the layer
var nameFromFile = ((ProjectData.maskFiles[i].displayName).split("."))[0];
newLayer.name = nameFromFile;
openImageToLayer(ProjectData.maskFiles[i]);
//move in to maskLayerGroup
newLayer.move(maskLayerGroup, ElementPlacement.INSIDE);
}
//Add the edit layers
for(var i=0; i<ProjectData.procEditFiles.length; i++)
{
var newLayer = procDoc.artLayers.add();
//name the layer
var nameFromFile = ((ProjectData.procEditFiles[i].displayName).split("."))[0];
newLayer.name = nameFromFile;
}
//procDoc.layers.add()
//copy the backGround to the top...
var backGroundLayer = procDoc.artLayers.getByName("Background");
backGroundLayer.copy();
procDoc.paste();
//.. and delete the first layer
backGroundLayer.remove();
//close the window
toolWindow.close();
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Create the colour swatch image for painting procedural sets
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var procSetsDropDownList = function()
{
var theList = [];
for(var i=0; i<ProceduralSetData.setDefinitions.length; i++)
{
theList.push(ProceduralSetData.setDefinitions[i].name);
}
return theList;
};
var swatchControlPanel = toolWindow.add('panel');
var procSetsDropDown = swatchControlPanel.add("dropdownlist", undefined, procSetsDropDownList());
//if we have some item in the dropdownlist then initially set the selection to the first item
if(procSetsDropDown.items.length != 0)
{
procSetsDropDown.selection = 0;
}
var createSwatches = swatchControlPanel.add("button", undefined, "Create Swatches");
createSwatches.onClick = function()
{
var procs = getProceduralsFromSet(procSetsDropDown.selection.text);
//if we have no procs then theres now swatches to create, alert the user
if(procs.length == 0)
{
alert("There are no procedural definitions for this set,\n No swatches to create", "Create Swatches");
return;
}
//Create an image big enough to hold all the swatches
//$.writeln(procs);
var swatchImageHeight = (ProjectData.swatchItemHeight * procs.length) + ProjectData.swatchBorder;
//$.writeln(ProjectData.swatchItemWidth);
//$.writeln(swatchImageHeight);
//Make sure ruler units are in pixels so we get the correct canvas size
app.preferences.rulerUnits = Units.PIXELS;
//create the image
var swatchImage = app.documents.add(ProjectData.swatchItemWidth, swatchImageHeight, 72, procSetsDropDown.selection.text);
//for each item create a swatch colour and text for type
var border = ProjectData.swatchBorder;
for(var i=0; i<procs.length; i++)
{
//create the swatch
app.foregroundColor.hsb.hue = parseInt(procs[i].hue);
app.foregroundColor.hsb.saturation = 100;
app.foregroundColor.hsb.brightness = 100;
var top = (i * ProjectData.swatchSize) + (i * border) + border;
var left = border;
var bottom = top + ProjectData.swatchSize;
var right = left + ProjectData.swatchSize;
makeSwatch( top, left, bottom, right);
//Now the descriptor
makeSwatchDescriptor(procs[i].name.toString());
//position it
var textBounds = app.activeDocument.activeLayer.bounds;
var deltaX = -textBounds[0] + right + border;
var deltaY = -textBounds[1] + top + (0.5 * (bottom - top));
app.activeDocument.activeLayer.translate(deltaX, deltaY);
}
//close the window
toolWindow.close();
}
//////////////////////////////////////////////////////////////////////////////////////////
// Recombine working doc into the main image
//////////////////////////////////////////////////////////////////////////////////////////
var combineButton = toolWindow.add("button", undefined, "Re-Combine");
combineButton.onClick = function()
{
var procPaintmasterMap = null;
//load the master image, if its not open already
var procPaintMasterMapIsLoaded = false;
for(var i=0; i<app.documents.length; i++)
{
if(app.documents[i].name == "ProceduralSetMap.png")
{
procPaintMasterMapIsLoaded = true;
procPaintmasterMap = app.documents[i];
}
}
if( !procPaintMasterMapIsLoaded )
{
procPaintmasterMap = app.open( File(ProjectData.procPaintMasterMapPath) );
}
//get the bitmap pos from the tilePos
var pos = getBitmapPosFromTileXy();
//copy the region map into the master map
var procDoc = app.documents.getByName(ProjectData.procEditFiles[0].displayName);
app.activeDocument = procDoc;
var topLayer = procDoc.artLayers[0];
topLayer.copy();
app.activeDocument = procPaintmasterMap;
procPaintmasterMap.paste();
//adjust the position
moveSelection(procPaintmasterMap.artLayers[0], pos[0], pos[1]);
//flatten the mega map
//save it
//close the window
toolWindow.close();
}
//Show the UI
toolWindow.show();