Created
October 15, 2014 10:36
-
-
Save amolok/e1aa683a4cf13fb517b5 to your computer and use it in GitHub Desktop.
ALASKA / ZLATA
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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; | |
}; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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(); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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