Skip to content

Instantly share code, notes, and snippets.

@amolok
Created October 15, 2014 10:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amolok/e1aa683a4cf13fb517b5 to your computer and use it in GitHub Desktop.
Save amolok/e1aa683a4cf13fb517b5 to your computer and use it in GitHub Desktop.
ALASKA / ZLATA
#target Illustrator
/* export ALASKA Controls
*/
d = app.activeDocument;
var filePath = d.path;
var exportPath = '/Source/Controls/';
var fileName = d.name.split('.', 1)+''; // ALASKA.ai
var array = new Array();
if (app.documents.length > 0){
if (! (Folder(filePath+exportPath).exists) ){
Folder(filePath+exportPath).create();
}
exportControls();
// exportTouchZones();
}
function exportControls(){
var fonts = new Array();
fonts[20] = 'fs9';
fonts[23] = 'fs11';
fonts[28] = 'fs13';
fonts[39] = 'fs18';
fonts[57] = 'fs27';
c=d.layers.getByName('/Controls');
for (var l = 0; l < c.layers.length; l++) {
var name = c.layers[l].name.split(':')[0];
array = [];
var text = new Array();
process(c.layers[l]);
var prevFont = 0;
for (var i = 0; i < array.length; i++) {
var a = array[i];
if(prevFont != a.height){
prevFont=a.height;
text.push('FONT '+fonts[a.height]);
}
var w = Math.round(a.width / (a.height / 2.5));
text.push('LABEL '+a.name.split(':')[0]+' '+a.position[0]+' '+ (-a.position[1])+' '+w+' "');
};
// $.writeln(name+'\n'+text.join('\n'));
var docPreset = new DocumentPreset;
docPreset.units = RulerUnits.Pixels;
docPreset.title = name;
var newDoc = app.documents.addDocument(DocumentColorSpace.RGB,docPreset);
var rectRef = newDoc.pathItems.rectangle(770, 10, 500, 750);
var areaTextRef = newDoc.textFrames.areaText(rectRef);
areaTextRef.contents = '# '+name+'\r'+text.join('\r');
areaTextRef.selected = true;
};
}
function process(item){
// $.writeln('/'+item.parent.name+'/'+item.name+' <'+(item.hidden ? '-' : '+')+item.typename);
if (item.layers) {
for (var i = 0; i < item.layers.length; i++) {
if(item.layers[i].visible) process(item.layers[i]);
}
}
if (item.groupItems) {
for (var i = 0; i < item.groupItems.length; i++) {
if(! item.groupItems[i].hidden) process(item.groupItems[i]);
}
}
for (var i = 0; i < item.pageItems.length; i++) {
if (item.pageItems[i].typename != 'GroupItem') {
// $.writeln('/'+item.parent.name+'/'+item.name+' ='+(item.hidden ? '-' : '+')+item.typename);
array.push(item.pageItems[i]);
}
}
}
function exportTouchZones(){
c=d.layers.getByName('/TouchZones');
for (var l = 0; l < c.layers.length; l++) {
array = [];
var text = new Array();
var name = c.layers[l].name.split(':')[0];
text.push('// '+name);
process(c.layers[l]);
for (var i = 0; i < array.length; i++) {
var a = array[i];
text.push('if((X>='+ a.position[0] +')&&(X<='+ (a.position[0]+a.width) +')&&(Y>='+ (-a.position[1]) +')&&(Y<='+ -(a.position[1]-a.height) +')){Zone_'+ name +' = ZONE__'+ a.name +';return;}');
};
// $.writeln(text.join('\n'));
var docPreset = new DocumentPreset;
docPreset.units = RulerUnits.Pixels;
docPreset.title = 'tz_'+name;
var newDoc = app.documents.addDocument(DocumentColorSpace.RGB,docPreset);
var rectRef = newDoc.pathItems.rectangle(770, 10, 500, 750);
var areaTextRef = newDoc.textFrames.areaText(rectRef);
areaTextRef.contents = '/* '+d.name+' */\r'+text.join('\r');
areaTextRef.selected = true;
};
}
#target Illustrator
/* export ALASKA Main screen + Denom, Tips, Last Spin
/main
/main/Tips
/LastSpin
/Denom
/Zones
// LightZones
// TouchZones
0L.LightZones.png
0L.Tokens.png
0L.TouchZones.png
0R.LightZones.png
0R.Tokens.png
0R.TouchZones.png
tables.png
tokens.png
winningNumbers.png
denom
tips
LastSpin
*/
d = app.activeDocument;
var z = d.layers.getByName('/Zones');
var array = new Array();
// СПИСКИ СОСТОЯНИЙ
var languages=['ru','en','de','fr','es','mn']; // 'ru','en','de','fr','es','mn'
// var languages=['en','de'];
// var languages=['ru','en'];
// var languages=['ru'];
// var languages=['en'];
// var languages=['de'];
// var languages=['de','fr'];
// var languages=['es','mn'];
// var languages=['ru','en','de'];
// var languages=['fr','es','mn'];
var states= ['pole','pole_gray','pole_over','series_on','series_on_grey','yellow_mark','green_mark']; // var states= ['pole'];
// Layouts.0 Layouts.over Layouts.series_on Layouts.series_on_grey Layouts.Gray Layouts.marks.yellow Layouts.marks.green
var statesB = ['normal','over'];
// var tips = ['normal','overlay'];
var colors = d.swatchGroups.getByName('сукно').getAllSwatches(); colors.pop();
// colors.pop();colors.pop();colors.pop();
var layouts = ['0L', '0R'];
// var layouts = ['0R'];
// var layouts = ['0L'];
// ЭКСПОРТ
var filePath = d.path;
var exportPath = '/Source/Graphics/';
var fileName = d.name.split('.', 1)+''; // ALASKA.ai
// ЭКСПОРТ в PNG
var exportOptions = new ExportOptionsPNG24();
var type = ExportType.PNG24;
exportOptions.artBoardClipping = true;
exportOptions.antiAliasing = false;
exportOptions.transparency = false;
exportOptions.saveAsHTML = false;
if (app.documents.length > 0){
if (! (Folder(filePath+exportPath).exists) ){
Folder(filePath+exportPath).create();
}
exportGraphics();
// exportZones();
}
function exportGraphics(){
/* /main */
d.layers.getByName('Mesh').visible=true;
d.layers.getByName('/Controls').visible=false;
d.layers.getByName('Layouts').visible=true;
d.layers.getByName('Layouts').groupItems.getByName('Series').hidden=false;
d.layers.getByName('/main').visible=true;
d.layers.getByName('logo').visible=true;
d.layers.getByName('bg').visible=true;
d.layers.getByName('Tips').visible=false;
d.layers.getByName('/Denom').visible=false;
d.layers.getByName('/LastSpin').visible=false;
d.layers.getByName('/Zones').visible=false;
// Languages
for(lng=0;lng<languages.length;lng++){
changeSceneLanguage(languages[lng]);
$.writeln('\n--- '+languages[lng]+'\n');
// Layouts
for(l=0;l<layouts.length;l++){
changeSceneLayout(layouts[l]);
// Colors
for(c=0;c<colors.length;c++){
changeSceneColor(colors[c].name);
// States
for(s=0;s<states.length;s++){
if((lng>0) && (s>2)) continue; // TODO: не выгружать лишнее!
if((l>0) && (lng>0) && (s>2)) continue; // TODO: не выгружать лишнее!
// alert('States',s+1 +'/'+states.length);
changeSceneState(states[s]);
try{
var newFileName = 'main_'+ layouts[l] +'_'+ colors[c].name.split(' ')[1] +'_'+ states[s]+'_'+languages[lng];
} catch(err)
{
// alert('State: '+s+', Color: '+colors[c]+', Layout: '+layouts[l], 'Language: '+languages[lng]);
alert(states[s],(s+1)+'/'+s.length);
alert(colors[c].name.split(' ')[1],(c+1)+'/'+c.length);
alert(layouts[l],(l+1)+'/'+layouts.length);
throw('newFileName: '+err.message);
}
// alert (newFileName, 'export to PNG');
// saveScene(newFileName);
}
if(layouts[l]=='0L'){
exportLastSpin();
/* if((languages[lng]=='en')||(languages[lng]=='de'))
exportTips();
if((c==0)){
exportDenom();
if((languages[lng]=='ru')||(languages[lng]=='en'))
exportPMem();
}
*/ }
}
}
}
}
function exportZones() {
d.layers.getByName('/main').visible=false;
d.layers.getByName('logo').visible=false;
d.layers.getByName('Layouts').visible=false;
d.layers.getByName('/LastSpin').visible=false;
d.layers.getByName('bg').visible=false;
d.layers.getByName('Mesh').visible=false;
z.visible=true;
for (i=0;i<z.length;i++) z[i].visible=false;
z.layers.getByName('Series').visible=true;
z.layers.getByName('Layouts').visible=true;
z.layers.getByName('LastSpin').visible=false;
var zones = ['.LightZones', '.TouchZones', '.Tokens', '.FairyCrystals']; // первые 2 == включать Series
removeTMP();
for (var i = 0; i < z.layers.length; i++) {
z.layers[i].visible=false;
};
z.layers.getByName('bg').visible = true;
z.layers.getByName('Layouts').visible = true;
for(zone=0;zone<zones.length;zone++){
// $.writeln('------: '+zones[zone]);
z.layers.getByName('Series').visible = (zone<2);
for(var i=0;i<zones.length;i++){
z.layers.getByName(zones[i]).visible = (z.layers.getByName(zones[i]).name == zones[zone]);
// if((zones[zone] != '.Tokens') && (zones[i] != '.Tokens')){
if((zone<2) && (i<2)){
var se = z.layers.getByName('Series');
// $.writeln('Series: '+ zones[zone] +': '+ zones[i]+'\n'+se.name+'\n'+se.layers.length);
se.groupItems.getByName(zones[i]).hidden = (se.groupItems.getByName(zones[i]).name != zones[zone]);
}
}
for(var l=0;l<layouts.length;l++){
// $.writeln('---: '+layouts[l]);
switchLayouts(layouts[l],zones[zone]);
var name = layouts[l]+'_'+zones[zone].split('.')[1];
// alert(name,'exportZones');
// var t = z.layers.getByName('Layouts').groupItems.getByName('0R').tags.add();
// t.name = 'exportZones';
// t.value = layouts[l]+zones[zone];
saveZones(name);
}
}
for(zone=0;zone<zones.length;zone++) z.layers.getByName(zones[zone]).visible=false;
z.layers.getByName('Layouts').visible=false;
z.layers.getByName('Series').visible=false;
zones = ['tables', 'tokens', 'winningNumbers', 'LastSpin', 'pMem', 'Denom'];
for(zone=0;zone<zones.length;zone++){
z.layers.getByName(zones[zone]).visible=true;
if((zones[zone]=='LastSpin')||(zones[zone]=='pMem')){
var l=z.layers.getByName('Layouts');
l.visible=true;
l.layers.getByName('0R').visible=false;
l.layers.getByName('0L').visible=true;
var g=l.layers.getByName('0L').groupItems;
for (var i = 0; i < g.length; i++) {
g[i].hidden=(g[i].name != '.LightZones');
};
}
var name = zones[zone];
saveZones(name);
z.layers.getByName('Layouts').visible=false;
z.layers.getByName(zones[zone]).visible=false;
}
}
function process(item){
// $.writeln('/'+item.parent.name+'/'+item.name+' <'+(item.hidden ? '-' : '+')+item.typename);
if (item.layers) {
for (var i = 0; i < item.layers.length; i++) {
if(item.layers[i].visible) process(item.layers[i]);
}
}
if (item.groupItems) {
for (var i = 0; i < item.groupItems.length; i++) {
if(! item.groupItems[i].hidden) process(item.groupItems[i]);
}
}
for (var i = 0; i < item.pageItems.length; i++) {
if (item.pageItems[i].typename != 'GroupItem') {
// $.writeln('/'+item.parent.name+'/'+item.name+' ='+(item.hidden ? '-' : '+')+item.typename);
array.push(item.pageItems[i]);
}
}
}
function saveZones(name){
var exportPath = '/Source/Zones/';
var exportOptions = new ExportOptionsPNG24();
var type = ExportType.PNG24;
exportOptions.artBoardClipping = true;
exportOptions.antiAliasing = false;
exportOptions.transparency = false;
exportOptions.saveAsHTML = false;
var rasterizeOptions = new RasterizeOptions();
rasterizeOptions.antiAliasingMethod = AntiAliasingMethod.None;
rasterizeOptions.backgroundBlack = true;
rasterizeOptions.clippingMask = false;
rasterizeOptions.resolution = 72.0;
rasterizeOptions.transparency = false;
rasterizeOptions.convertSpotColors = true;
var fileExport = new File(filePath+exportPath+name);
var t = d.layers.add();
t.name = 'tmp '+name;
var tmpGroup = t.groupItems.add();
array = [];
process(z);
for (var i = array.length-1; i>=0; i--) {
if( ! array[i].parent.locked ) {
tmpSel = array[i].duplicate();
}else{
array[i].parent.locked = false;
tmpSel = array[i].duplicate();
}
tmpSel.moveToBeginning(tmpGroup);
};
tmpRast = d.rasterize(tmpGroup, d.artboardRect, rasterizeOptions);
$.writeln('saveZones: '+name);
app.activeDocument.exportFile( fileExport, type, exportOptions );
// app.Undo();
tmpRast.remove();
// tmpGroup.remove();
// t.visible=false;
t.remove();
}
function switchLayouts(layout,zone){
// alert(layout+' '+zone,'switchLayouts: ');
var zones = z.layers.getByName('Layouts');
// $.writeln('switchLayouts: '+layout+' <- '+zone);
for(var i=0;i<layouts.length;i++){
zones.layers.getByName(layouts[i]).visible = (layouts[i] == layout);
}
var g = zones.layers.getByName(layout).groupItems;
// alert(g[0].name,g.length+': ');
for(var i=0;i<g.length;i++){
// alert(g[i].parent.name +' '+ g[i].name,'switchLayouts: '+i);
// $.writeln('switchLayouts ('+i+'): '+g[i].parent.parent.name+ '/' +g[i].parent.name +' '+ g[i].name+' '+((g[i].name == zone) ? '+' : '-'));
g[i].hidden = (g[i].name != zone);
}
}
function exportDenom(){
// alert('Denom {');
var denom = d.layers.getByName('/Denom');
denom.visible = true;
d.layers.getByName('/main').visible=false;
d.layers.getByName('Layouts').visible=false;
var buttons = denom.pageItems.getByName('Buttons.BackToGame');
for(var s=0;s<statesB.length;s++){
changeState(buttons,statesB[s]);
var newFileName = 'denom_'+ statesB[s]+'_'+languages[lng];
saveScene(newFileName);
}
denom.visible = false;
d.layers.getByName('Layouts').visible=true;
d.layers.getByName('/main').visible=true;
// alert('} Denom');
// alert('Denom',s+1 +'/'+statesB.length);
}
function exportPMem(){
var o = new Array();
var p = d.layers.getByName('/pMem');
var l = d.layers.getByName('Layouts').groupItems.getByName('0L');
d.layers.getByName('/main').visible = false;
d.layers.getByName('logo').visible = false;
d.layers.getByName('Layouts').groupItems.getByName('Series').hidden = true;
p.visible = true;
for (var i = 0; i < p.pageItems.length; i++) {
if(p.pageItems[i].name.split(':')[1]) o.push(p.pageItems[i]);
};
for (var s = 0; s < statesB.length; s++) {
for(i=0;i<o.length;i++) {
changeState(o[i],statesB[s]);
}
changeState(l,states[s*2]); // да, выглядит смешно
var newFileName = 'pMem_'+ statesB[s]+'_'+languages[lng];
saveScene(newFileName);
};
p.visible = false;
d.layers.getByName('Layouts').groupItems.getByName('Series').hidden = false;
d.layers.getByName('logo').visible = true;
d.layers.getByName('/main').visible = true;
// throw('exportPMem: test');
}
function exportLastSpin(){
changeSceneState(states[0]);
d.layers.getByName('/main').visible = false;
d.layers.getByName('logo').visible = false;
d.layers.getByName('Layouts').groupItems.getByName('Series').hidden = true;
d.layers.getByName('/LastSpin').visible = true;
var o = new Array();
o.push(d.layers.getByName('/LastSpin').pageItems.getByName('Buttons.BackToGame'));
o.push(d.layers.getByName('/LastSpin').pageItems.getByName('Bonus'));
o.push(d.layers.getByName('Layouts').groupItems.getByName('0L'));
for(var s=0;s<statesB.length;s++){
for(i=0;i<o.length;i++)
changeState(o[i],statesB[s]);
var newFileName = 'LastSpin_'+ colors[c].name.split(' ')[1] +'_'+ statesB[s]+'_'+languages[lng];
saveScene(newFileName);
}
d.layers.getByName('Layouts').groupItems.getByName('Series').hidden = false;
d.layers.getByName('/LastSpin').visible = false;
d.layers.getByName('logo').visible = true;
d.layers.getByName('/main').visible = true;
}
function exportTips(){
// alert('Tips {');
// changeSceneLayout('0R');
var t = d.layers.getByName("Tips");
t.visible = true;
var b = new Array();
b.push(t.pageItems.getByName('Buttons.Tips.No'));
b.push(t.pageItems.getByName('Buttons.Tips.Yes'));
for(s=0;s<statesB.length;s++)
{
for(i=0;i<b.length;i++)
changeState(b[i],statesB[s]);
var newFileName = 'tips_'+ colors[c].name.split(' ')[1] +'_'+ statesB[s]+'_'+languages[lng];
saveScene(newFileName);
}
t.visible = false;
}
function saveScene(name){
var fileExport = new File(filePath+exportPath+name);
$.writeln('saveScene: '+name);
app.activeDocument.exportFile(fileExport, type, exportOptions);
}
function changeSceneState(state){
var i;
var m = d.layers.getByName('/main');
var bu= m.layers.getByName('Buttons').layers;
var ba= m.layers.getByName('Buttons').layers.getByName('Buttons.Bets').layers.getByName('Buttons').pageItems;
var s = new Array();
for(i=0;i<bu.length;i++) addItems(s,bu[i]);
for(i=0;i<ba.length;i++) s.push(ba[i]);
addItems(s,d.layers.getByName('Layouts'));
addItems(s,m.layers.getByName('MakeYourBets'));
addItems(s,m.layers.getByName('Bonus'));
addItems(s,m.layers.getByName('Windows'));
addItems(s,m.layers.getByName('logo'));
if (s.length>0){
for(i=0;i<s.length;i++){
// alert(s[i].name+'\n'+s[i].layer.name,'changeState: '+ (i+1) +'/'+s.length);
if (s[i].tags.length >0) changeState(s[i],state);
}
}
}
function addItems(array,layer){
var i;
var list = new Array();
var items = layer.pageItems;
for(i=0;i<items.length;i++){
list.push(items[i].name+': '+items[i].typename);
array.push(items[i]);
}
}
function changeSceneLayout(state){
var i;
var l=d.layers.getByName('Layouts');
for(i=0;i<layouts.length;i++){
var la = l.groupItems.getByName(layouts[i]);
if(la.locked)continue;
la.hidden = (layouts[i] != state);
}
}
function changeSceneColor(state){
var i;
var g = d.swatchGroups.getByName('сукно');
var s = g.getAllSwatches();
color = s.pop();
for(i=0;i<s.length;i++) if(s[i].name == state) color.color.spot.color = s[i].color.spot.color;
}
function changeSceneLanguage(language) {
d.dataSets.getByName(language).display();
}
function changeState(o,state){
var i;
var list = new Array();
try{
for ( i = 0; i < o.tags.length; i++ ) {
list.push(o.tags[i].name +' = '+o.tags[i].value);
}
}catch(err){
$.writeln('\nchangeState: '+state+' -> '+o.name+ '\n'+ list.join('\n')+'\n--- '+err.message);
}
try{
var t=o.tags.getByName(state);
style=d.graphicStyles.getByName(t.value);
style.applyTo(o);
}catch(err){
$.writeln('\nchangeState: '+state+' -> '+o.name+ '\n'+ list.join('\n')+'\n--- '+err.message);
}
}
function removeTMP() {
for (var i = d.layers.length - 1; i >= 0; i-- ) {
var t = d.layers[i];
var n = new String( t.name );
if ( n.indexOf("tmp ") == 0 ) {
d.layers[i].visible=true;
d.layers[i].remove();
}
}
}
@echo off
setlocal EnableDelayedExpansion
echo Animation ------------------------------------------------------------------------------
SET D=%CD%
set NORAHD=..\..\NORAHD\artem_new
cd ".\Animation\"
IF [%1]==[] (
call :restoring
call :crystal
call :spray
call :sunduk
call :ppoint
call :urwin
call :faipnt
call :rou
call :masks
) ELSE (
echo : %1 -- %2
goto :%1
)
goto :eof
:crystal
echo ------------------------------------------------------------------------------------ crystal
rem cd "Crystals"
cd "Bonus"
SET DST=..\%NORAHD%\crystal
for %%G IN (c, m, y, r, g, b) DO (
echo --- %%G
call :renumber %%G_000??.png %%G 3 1
move /Y %%G???.png %DST%\
)
:s
echo crystal --- s
cd "..\Bonus"
call :renumber s_*.png s 3
move /Y s???.png %DST%\ >nul
:bb
echo crystal --- bb
call :renumber bb_*.png bb 3
move /Y bb???.png %DST%\
:n
echo crystal -- n
call :renumbers n_*.png 2 n 3 4 1 1
for %%G in (00n*.png) do ren "%%G" "1%%G"
move /Y *?n???.png %DST% >nul
goto :eof
:spray
echo ------------------------------------------------------------------------------------ spray
cd "Bonus"
SET DST=..\%NORAHD%\spray
for %%G IN (bs, rs, ys) DO (
echo --- %%G
call :renumber %%G*.png %%G 2
move /Y %%G???.png %DST%\ >nul
)
goto :eof
:sunduk
echo ------------------------------------------------------------------------------------ sunduk
cd "Bonus"
SET DST=..\%NORAHD%\sunduk
echo --- nsund
echo --- msund
call :renumber nsund_*.png nsund 2 0
copy nsund10.png msund00.png
move /Y nsund??.png %DST%\ >nul
move /Y msund??.png %DST%\ >nul
echo --- sun
set i=0
for %%G in (sun_*.png) DO (
ren %%G sun!i!.*
set /a i+=1
)
move /Y sun*.png %DST%\ >nul
goto :eof
:ppoint
echo ------------------------------------------------------------------------------------ ppoint
cd "Bonus"
SET DST=..\%NORAHD%\ppoint
call :renumbers pp_*.png 2 pp 2 4 0 1
call :renumber prize_*.png LOpp 2
move /Y ??pp??.png %DST% >nul
goto :eof
:urwin
echo ------------------------------------------------------------------------------------ urwin
cd "Bonus"
echo --- multiki BMP
SET DST=..\%NORAHD%\urwin\multiki
call :renum multik_*.bmp 3
move /Y 0??.bmp %DST% >nul
echo --- ringo
SET DST=..\%NORAHD%\urwin\ringo
call :sourtout ringo_*.png %DST% 25 0 4
echo --- num BMP
SET DST=..\%NORAHD%\urwin\num
move /Y fr*.bmp %DST%
goto :eof
:rou
echo ------------------------------------------------------------------------------------ rou
echo BMP
cd "Bonus"
echo --- rou0
SET DST=..\%NORAHD%\urwin\rou\rou0
IF NOT EXIST %DST% (mkdir %DST% >nul)
call :renumber rou_*.bmp Frame 3 0
move /Y Frame*.bmp %DST% >nul
rem goto :eof
rem :ap
echo --- Balls, TB ---
SET DST=..\%NORAHD%\urwin\rou
for %%j in (RBall, LBall, leftTB, raitTB) DO (
for %%i in (area, present) DO (
echo --- %%j --- %%i ---
call :renumber %%j_%%i_*.bmp Frame 3 0
IF NOT EXIST %DST%\%%j (mkdir %DST%\%%j >nul
)
IF NOT EXIST %DST%\%%j\%%i (mkdir %DST%\%%j\%%i >nul
)
move /Y Frame*.bmp %DST%\%%j\%%i >nul
)
)
goto :eof
:masks
echo ------------------------------------------------------------------------------------ masks
echo BMP
cd "Bonus"
SET DST=..\%NORAHD%\urwin\rou\
ren mask_00000.bmp mask.bmp
move /Y mask.bmp %DST% >nul
ren maskLR_00000.bmp maskLR.bmp
move /Y maskLR.bmp %DST% >nul
ren rou0maskL_00000.bmp rou0maskL.bmp
move /Y rou0maskL.bmp %DST% >nul
ren rou0maskR_00000.bmp rou0maskR.bmp
move /Y rou0maskR.bmp %DST% >nul
ren rouB_00000.bmp rouB.*
move /Y rouB.bmp %DST% >nul
goto :eof
:faipnt
echo ------------------------------------------------------------------------------------ faipnt
echo PNG Grayscale
cd "..\Zones"
SET DST=%NORAHD%\faipnt\
ren 0L_FairyCrystals.png lTable.png
ren 0R_FairyCrystals.png rTable.png
move /Y ?Table.png %DST% >nul
goto :eof
rem ====================================================================================
:sourtout
echo sort %1: cycle %3 from %4 with %5 digits
set /a i=%4
set /a d=0
set newdir=000!d!
set newdir=!newdir:~-2!
mkdir %DST%\!newdir! >nul
for %%a in (%1) do (
SET newname=00000000!i!
SET newname=!newname:~-%5!
SET newname=!newdir!!newname!
rem echo %%a !newname!
ren %%a !newname!.* >nul
move /Y !newname!.* %DST%\!newdir! >nul
set /a i+=1
if !i! GEQ %3 (
set /a i=%4
set /a d+=1
set newdir=000!d!
set newdir=!newdir:~-2!
mkdir %DST%\!newdir! >nul
)
)
goto :eof
:renum
set i=0
for %%a in (%1) do ( set /a i+=1 )
echo renumber %1: %i // %2
set /a i = 0
for %%a in (%1) do (
set newname=00!i!
set newname=!newname:~-%2!
set /a i+=1
ren %%a !newname!.*
)
goto :eof
:renumber
set i=0
for %%a in (%1) do ( set /a i+=1 )
echo renumber %1: %i% -- %2 with %3 digits from %4 ---
if [%4]==[] (
set /a i = 1
) ELSE (
set /a i=%4
)
for %%a in (%1) do (
set newname=00!i!
set newname=!newname:~-%3!
rem echo %%a --- %2!newname! // !i!
ren %%a %2!newname!.*
set /a i+=1
)
goto :eof
:renumbers
echo renumber %1: %2 from %6 "%3" %4 from %7 cycle %5
set /a digits = %2
set /a dstart = %6
set /a second = %4
set /a sstart = %7
set /a cycle = %5
set /a j = dstart
set /a i = sstart
for %%a in (%1) do (
set pre=00000000!j!
call set pre=%%pre:~-%digits%,%digits%%%
set suf=00000000!i!
call set suf=%%suf:~-%second%,%second%%%
rem IF !pre! == 00 (set pre=100)
set newname=!pre!%3!suf!
set /a i+=1
if !i! GTR !cycle! (
set /a i=sstart
set /a j+=1
)
ren %%a !newname!.*
)
goto :eof
:restoring
echo --- restoring from _backup
copy .\Bonus\_backup\*.png .\Bonus >nul
copy .\Bonus\_backup\*.bmp .\Bonus >nul
copy .\Crystals\_backup\*.png .\Crystals >nul
echo --- _backup restored
goto :eof
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment