
This used to be called 'poly2voxelbatch' but now it is just 'DoomFlow'. Why? It didn't make sense for me to rewrite or duplicate sections of my code in order to have a number of standalone utilities which perform the batch functions I need. So, I combined them in a single easy to use interface. The name comes from the idea of a 'WorkFlow' plus 'Doom'; tools to increase the efficiency of one's Doom WorkFlow.
http://www.megaupload.com/?d=EPW0R8A5
Create Sprite Tutorial
Coming soon!
Create Voxel Animation Tutorial (taken from my original post)
Spoiler:
I've written a tool that generates a .ms (maxscript), DECORATE, and Batch file that can be used to convert even very long animation sequences from 3ds max into a kvx series. I should be able to write extensions to it for other 3d modeling software but, in that case, I would need access to a thoroughly commented example of a script that does what the .ms script generated by this utility does (namely, create a series of .3ds files each containing one frame of animation and named sequentially).
You will need poly2vox and kvxoffset in order to use this utility. They must be in the same folder as this utility at runtime.
kvxoffset can be found here: http://www.teamhellspawn.com/kvxoffset.zip (thanks to phi108 for directing me to this utility).
poly2vox can be found here: http://www.advsys.net/ken/download.htm
Here is a video of me converting the stand animation of a Quad Cruiser from SC2 into an animated voxel.
Here is a video of the voxel after fixing the size (find+replace in notepad to modify all scale factors at the same time)
The DECORATE file this example generated...Spoiler:The VOXELDEF file this example generated...
/*This file generated by ExWizard's poly2voxbatch script generator*/
actor ZA20 10242 /*3-74*/
{
States
{
Spawn:
ZA2A ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
ZA2B ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
ZA2C ABCDEFGHIJKLMNOPQRST 10
Loop
}
}Spoiler:The maxscript generated by this example...
ZZSAA = "ZZSAA"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAB = "ZZSAB"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAC = "ZZSAC"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAD = "ZZSAD"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAE = "ZZSAE"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAF = "ZZSAF"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAG = "ZZSAG"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAH = "ZZSAH"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAI = "ZZSAI"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAJ = "ZZSAJ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAK = "ZZSAK"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAL = "ZZSAL"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAM = "ZZSAM"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAN = "ZZSAN"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAO = "ZZSAO"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAP = "ZZSAP"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAQ = "ZZSAQ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAR = "ZZSAR"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAS = "ZZSAS"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAT = "ZZSAT"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAU = "ZZSAU"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAV = "ZZSAV"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAW = "ZZSAW"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAX = "ZZSAX"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAY = "ZZSAY"
{
AngleOffset = 180
Scale = 0.1
}
ZZSAZ = "ZZSAZ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBA = "ZZSBA"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBB = "ZZSBB"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBC = "ZZSBC"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBD = "ZZSBD"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBE = "ZZSBE"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBF = "ZZSBF"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBG = "ZZSBG"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBH = "ZZSBH"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBI = "ZZSBI"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBJ = "ZZSBJ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBK = "ZZSBK"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBL = "ZZSBL"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBM = "ZZSBM"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBN = "ZZSBN"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBO = "ZZSBO"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBP = "ZZSBP"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBQ = "ZZSBQ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBR = "ZZSBR"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBS = "ZZSBS"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBT = "ZZSBT"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBU = "ZZSBU"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBV = "ZZSBV"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBW = "ZZSBW"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBX = "ZZSBX"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBY = "ZZSBY"
{
AngleOffset = 180
Scale = 0.1
}
ZZSBZ = "ZZSBZ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCA = "ZZSCA"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCB = "ZZSCB"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCC = "ZZSCC"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCD = "ZZSCD"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCE = "ZZSCE"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCF = "ZZSCF"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCG = "ZZSCG"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCH = "ZZSCH"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCI = "ZZSCI"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCJ = "ZZSCJ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCK = "ZZSCK"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCL = "ZZSCL"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCM = "ZZSCM"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCN = "ZZSCN"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCO = "ZZSCO"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCP = "ZZSCP"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCQ = "ZZSCQ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCR = "ZZSCR"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCS = "ZZSCS"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCT = "ZZSCT"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCU = "ZZSCU"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCV = "ZZSCV"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCW = "ZZSCW"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCX = "ZZSCX"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCY = "ZZSCY"
{
AngleOffset = 180
Scale = 0.1
}
ZZSCZ = "ZZSCZ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDA = "ZZSDA"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDB = "ZZSDB"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDC = "ZZSDC"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDD = "ZZSDD"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDE = "ZZSDE"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDF = "ZZSDF"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDG = "ZZSDG"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDH = "ZZSDH"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDI = "ZZSDI"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDJ = "ZZSDJ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDK = "ZZSDK"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDL = "ZZSDL"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDM = "ZZSDM"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDN = "ZZSDN"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDO = "ZZSDO"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDP = "ZZSDP"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDQ = "ZZSDQ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDR = "ZZSDR"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDS = "ZZSDS"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDT = "ZZSDT"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDU = "ZZSDU"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDV = "ZZSDV"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDW = "ZZSDW"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDX = "ZZSDX"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDY = "ZZSDY"
{
AngleOffset = 180
Scale = 0.1
}
ZZSDZ = "ZZSDZ"
{
AngleOffset = 180
Scale = 0.1
}
ZZSEA = "ZZSEA"
{
AngleOffset = 180
Scale = 0.1
}
ZZSEB = "ZZSEB"
{
AngleOffset = 180
Scale = 0.1
}
ZZSEC = "ZZSEC"
{
AngleOffset = 180
Scale = 0.1
}
ZZSED = "ZZSED"
{
AngleOffset = 180
Scale = 0.1
}Spoiler:The batch file generated by this example...
/*This file generated by ExWizard's poly2voxbatch script generator*/
theClasses = exporterPlugin.classes
sliderTime = 3f
for f = (startFrame = 3f) to (endFrame = 110f) by (frameStep = 1f)
do (
exportFile ("C:\\ZZS\\" + f as string + ".3ds") #noPrompt using:theClasses[1]
sliderTime += 1
)Spoiler:Note that, because the batch files use kvxoffset (which sets the offset to the lowest voxel) models with geometry lower than their base or who are above z origin during their animation (such as bipeds, quadrupeds, hover creatures, etc.,) will export poorly. I am working on a workaround for this (namely automated geometry clipping of the original model and dummy voxels to manage offset).
@echo off
CALL poly2vox.exe 3f.3ds 3f.kvx /s120
CALL kvxoffset.exe 3f.kvx
MOVE 3f.kvx C:\ZZS\VOXELS\ZZSAA.kvx
DEL 3f.3ds
CALL poly2vox.exe 4f.3ds 4f.kvx /s120
CALL kvxoffset.exe 4f.kvx
MOVE 4f.kvx C:\ZZS\VOXELS\ZZSAB.kvx
DEL 4f.3ds
CALL poly2vox.exe 5f.3ds 5f.kvx /s120
CALL kvxoffset.exe 5f.kvx
MOVE 5f.kvx C:\ZZS\VOXELS\ZZSAC.kvx
DEL 5f.3ds
CALL poly2vox.exe 6f.3ds 6f.kvx /s120
CALL kvxoffset.exe 6f.kvx
MOVE 6f.kvx C:\ZZS\VOXELS\ZZSAD.kvx
DEL 6f.3ds
CALL poly2vox.exe 7f.3ds 7f.kvx /s120
CALL kvxoffset.exe 7f.kvx
MOVE 7f.kvx C:\ZZS\VOXELS\ZZSAE.kvx
DEL 7f.3ds
CALL poly2vox.exe 8f.3ds 8f.kvx /s120
CALL kvxoffset.exe 8f.kvx
MOVE 8f.kvx C:\ZZS\VOXELS\ZZSAF.kvx
DEL 8f.3ds
CALL poly2vox.exe 9f.3ds 9f.kvx /s120
CALL kvxoffset.exe 9f.kvx
MOVE 9f.kvx C:\ZZS\VOXELS\ZZSAG.kvx
DEL 9f.3ds
CALL poly2vox.exe 10f.3ds 10f.kvx /s120
CALL kvxoffset.exe 10f.kvx
MOVE 10f.kvx C:\ZZS\VOXELS\ZZSAH.kvx
DEL 10f.3ds
CALL poly2vox.exe 11f.3ds 11f.kvx /s120
CALL kvxoffset.exe 11f.kvx
MOVE 11f.kvx C:\ZZS\VOXELS\ZZSAI.kvx
DEL 11f.3ds
CALL poly2vox.exe 12f.3ds 12f.kvx /s120
CALL kvxoffset.exe 12f.kvx
MOVE 12f.kvx C:\ZZS\VOXELS\ZZSAJ.kvx
DEL 12f.3ds
CALL poly2vox.exe 13f.3ds 13f.kvx /s120
CALL kvxoffset.exe 13f.kvx
MOVE 13f.kvx C:\ZZS\VOXELS\ZZSAK.kvx
DEL 13f.3ds
CALL poly2vox.exe 14f.3ds 14f.kvx /s120
CALL kvxoffset.exe 14f.kvx
MOVE 14f.kvx C:\ZZS\VOXELS\ZZSAL.kvx
DEL 14f.3ds
CALL poly2vox.exe 15f.3ds 15f.kvx /s120
CALL kvxoffset.exe 15f.kvx
MOVE 15f.kvx C:\ZZS\VOXELS\ZZSAM.kvx
DEL 15f.3ds
CALL poly2vox.exe 16f.3ds 16f.kvx /s120
CALL kvxoffset.exe 16f.kvx
MOVE 16f.kvx C:\ZZS\VOXELS\ZZSAN.kvx
DEL 16f.3ds
CALL poly2vox.exe 17f.3ds 17f.kvx /s120
CALL kvxoffset.exe 17f.kvx
MOVE 17f.kvx C:\ZZS\VOXELS\ZZSAO.kvx
DEL 17f.3ds
CALL poly2vox.exe 18f.3ds 18f.kvx /s120
CALL kvxoffset.exe 18f.kvx
MOVE 18f.kvx C:\ZZS\VOXELS\ZZSAP.kvx
DEL 18f.3ds
CALL poly2vox.exe 19f.3ds 19f.kvx /s120
CALL kvxoffset.exe 19f.kvx
MOVE 19f.kvx C:\ZZS\VOXELS\ZZSAQ.kvx
DEL 19f.3ds
CALL poly2vox.exe 20f.3ds 20f.kvx /s120
CALL kvxoffset.exe 20f.kvx
MOVE 20f.kvx C:\ZZS\VOXELS\ZZSAR.kvx
DEL 20f.3ds
CALL poly2vox.exe 21f.3ds 21f.kvx /s120
CALL kvxoffset.exe 21f.kvx
MOVE 21f.kvx C:\ZZS\VOXELS\ZZSAS.kvx
DEL 21f.3ds
CALL poly2vox.exe 22f.3ds 22f.kvx /s120
CALL kvxoffset.exe 22f.kvx
MOVE 22f.kvx C:\ZZS\VOXELS\ZZSAT.kvx
DEL 22f.3ds
CALL poly2vox.exe 23f.3ds 23f.kvx /s120
CALL kvxoffset.exe 23f.kvx
MOVE 23f.kvx C:\ZZS\VOXELS\ZZSAU.kvx
DEL 23f.3ds
CALL poly2vox.exe 24f.3ds 24f.kvx /s120
CALL kvxoffset.exe 24f.kvx
MOVE 24f.kvx C:\ZZS\VOXELS\ZZSAV.kvx
DEL 24f.3ds
CALL poly2vox.exe 25f.3ds 25f.kvx /s120
CALL kvxoffset.exe 25f.kvx
MOVE 25f.kvx C:\ZZS\VOXELS\ZZSAW.kvx
DEL 25f.3ds
CALL poly2vox.exe 26f.3ds 26f.kvx /s120
CALL kvxoffset.exe 26f.kvx
MOVE 26f.kvx C:\ZZS\VOXELS\ZZSAX.kvx
DEL 26f.3ds
CALL poly2vox.exe 27f.3ds 27f.kvx /s120
CALL kvxoffset.exe 27f.kvx
MOVE 27f.kvx C:\ZZS\VOXELS\ZZSAY.kvx
DEL 27f.3ds
CALL poly2vox.exe 28f.3ds 28f.kvx /s120
CALL kvxoffset.exe 28f.kvx
MOVE 28f.kvx C:\ZZS\VOXELS\ZZSAZ.kvx
DEL 28f.3ds
CALL poly2vox.exe 29f.3ds 29f.kvx /s120
CALL kvxoffset.exe 29f.kvx
MOVE 29f.kvx C:\ZZS\VOXELS\ZZSBA.kvx
DEL 29f.3ds
CALL poly2vox.exe 30f.3ds 30f.kvx /s120
CALL kvxoffset.exe 30f.kvx
MOVE 30f.kvx C:\ZZS\VOXELS\ZZSBB.kvx
DEL 30f.3ds
CALL poly2vox.exe 31f.3ds 31f.kvx /s120
CALL kvxoffset.exe 31f.kvx
MOVE 31f.kvx C:\ZZS\VOXELS\ZZSBC.kvx
DEL 31f.3ds
CALL poly2vox.exe 32f.3ds 32f.kvx /s120
CALL kvxoffset.exe 32f.kvx
MOVE 32f.kvx C:\ZZS\VOXELS\ZZSBD.kvx
DEL 32f.3ds
CALL poly2vox.exe 33f.3ds 33f.kvx /s120
CALL kvxoffset.exe 33f.kvx
MOVE 33f.kvx C:\ZZS\VOXELS\ZZSBE.kvx
DEL 33f.3ds
CALL poly2vox.exe 34f.3ds 34f.kvx /s120
CALL kvxoffset.exe 34f.kvx
MOVE 34f.kvx C:\ZZS\VOXELS\ZZSBF.kvx
DEL 34f.3ds
CALL poly2vox.exe 35f.3ds 35f.kvx /s120
CALL kvxoffset.exe 35f.kvx
MOVE 35f.kvx C:\ZZS\VOXELS\ZZSBG.kvx
DEL 35f.3ds
CALL poly2vox.exe 36f.3ds 36f.kvx /s120
CALL kvxoffset.exe 36f.kvx
MOVE 36f.kvx C:\ZZS\VOXELS\ZZSBH.kvx
DEL 36f.3ds
CALL poly2vox.exe 37f.3ds 37f.kvx /s120
CALL kvxoffset.exe 37f.kvx
MOVE 37f.kvx C:\ZZS\VOXELS\ZZSBI.kvx
DEL 37f.3ds
CALL poly2vox.exe 38f.3ds 38f.kvx /s120
CALL kvxoffset.exe 38f.kvx
MOVE 38f.kvx C:\ZZS\VOXELS\ZZSBJ.kvx
DEL 38f.3ds
CALL poly2vox.exe 39f.3ds 39f.kvx /s120
CALL kvxoffset.exe 39f.kvx
MOVE 39f.kvx C:\ZZS\VOXELS\ZZSBK.kvx
DEL 39f.3ds
CALL poly2vox.exe 40f.3ds 40f.kvx /s120
CALL kvxoffset.exe 40f.kvx
MOVE 40f.kvx C:\ZZS\VOXELS\ZZSBL.kvx
DEL 40f.3ds
CALL poly2vox.exe 41f.3ds 41f.kvx /s120
CALL kvxoffset.exe 41f.kvx
MOVE 41f.kvx C:\ZZS\VOXELS\ZZSBM.kvx
DEL 41f.3ds
CALL poly2vox.exe 42f.3ds 42f.kvx /s120
CALL kvxoffset.exe 42f.kvx
MOVE 42f.kvx C:\ZZS\VOXELS\ZZSBN.kvx
DEL 42f.3ds
CALL poly2vox.exe 43f.3ds 43f.kvx /s120
CALL kvxoffset.exe 43f.kvx
MOVE 43f.kvx C:\ZZS\VOXELS\ZZSBO.kvx
DEL 43f.3ds
CALL poly2vox.exe 44f.3ds 44f.kvx /s120
CALL kvxoffset.exe 44f.kvx
MOVE 44f.kvx C:\ZZS\VOXELS\ZZSBP.kvx
DEL 44f.3ds
CALL poly2vox.exe 45f.3ds 45f.kvx /s120
CALL kvxoffset.exe 45f.kvx
MOVE 45f.kvx C:\ZZS\VOXELS\ZZSBQ.kvx
DEL 45f.3ds
CALL poly2vox.exe 46f.3ds 46f.kvx /s120
CALL kvxoffset.exe 46f.kvx
MOVE 46f.kvx C:\ZZS\VOXELS\ZZSBR.kvx
DEL 46f.3ds
CALL poly2vox.exe 47f.3ds 47f.kvx /s120
CALL kvxoffset.exe 47f.kvx
MOVE 47f.kvx C:\ZZS\VOXELS\ZZSBS.kvx
DEL 47f.3ds
CALL poly2vox.exe 48f.3ds 48f.kvx /s120
CALL kvxoffset.exe 48f.kvx
MOVE 48f.kvx C:\ZZS\VOXELS\ZZSBT.kvx
DEL 48f.3ds
CALL poly2vox.exe 49f.3ds 49f.kvx /s120
CALL kvxoffset.exe 49f.kvx
MOVE 49f.kvx C:\ZZS\VOXELS\ZZSBU.kvx
DEL 49f.3ds
CALL poly2vox.exe 50f.3ds 50f.kvx /s120
CALL kvxoffset.exe 50f.kvx
MOVE 50f.kvx C:\ZZS\VOXELS\ZZSBV.kvx
DEL 50f.3ds
CALL poly2vox.exe 51f.3ds 51f.kvx /s120
CALL kvxoffset.exe 51f.kvx
MOVE 51f.kvx C:\ZZS\VOXELS\ZZSBW.kvx
DEL 51f.3ds
CALL poly2vox.exe 52f.3ds 52f.kvx /s120
CALL kvxoffset.exe 52f.kvx
MOVE 52f.kvx C:\ZZS\VOXELS\ZZSBX.kvx
DEL 52f.3ds
CALL poly2vox.exe 53f.3ds 53f.kvx /s120
CALL kvxoffset.exe 53f.kvx
MOVE 53f.kvx C:\ZZS\VOXELS\ZZSBY.kvx
DEL 53f.3ds
CALL poly2vox.exe 54f.3ds 54f.kvx /s120
CALL kvxoffset.exe 54f.kvx
MOVE 54f.kvx C:\ZZS\VOXELS\ZZSBZ.kvx
DEL 54f.3ds
CALL poly2vox.exe 55f.3ds 55f.kvx /s120
CALL kvxoffset.exe 55f.kvx
MOVE 55f.kvx C:\ZZS\VOXELS\ZZSCA.kvx
DEL 55f.3ds
CALL poly2vox.exe 56f.3ds 56f.kvx /s120
CALL kvxoffset.exe 56f.kvx
MOVE 56f.kvx C:\ZZS\VOXELS\ZZSCB.kvx
DEL 56f.3ds
CALL poly2vox.exe 57f.3ds 57f.kvx /s120
CALL kvxoffset.exe 57f.kvx
MOVE 57f.kvx C:\ZZS\VOXELS\ZZSCC.kvx
DEL 57f.3ds
CALL poly2vox.exe 58f.3ds 58f.kvx /s120
CALL kvxoffset.exe 58f.kvx
MOVE 58f.kvx C:\ZZS\VOXELS\ZZSCD.kvx
DEL 58f.3ds
CALL poly2vox.exe 59f.3ds 59f.kvx /s120
CALL kvxoffset.exe 59f.kvx
MOVE 59f.kvx C:\ZZS\VOXELS\ZZSCE.kvx
DEL 59f.3ds
CALL poly2vox.exe 60f.3ds 60f.kvx /s120
CALL kvxoffset.exe 60f.kvx
MOVE 60f.kvx C:\ZZS\VOXELS\ZZSCF.kvx
DEL 60f.3ds
CALL poly2vox.exe 61f.3ds 61f.kvx /s120
CALL kvxoffset.exe 61f.kvx
MOVE 61f.kvx C:\ZZS\VOXELS\ZZSCG.kvx
DEL 61f.3ds
CALL poly2vox.exe 62f.3ds 62f.kvx /s120
CALL kvxoffset.exe 62f.kvx
MOVE 62f.kvx C:\ZZS\VOXELS\ZZSCH.kvx
DEL 62f.3ds
CALL poly2vox.exe 63f.3ds 63f.kvx /s120
CALL kvxoffset.exe 63f.kvx
MOVE 63f.kvx C:\ZZS\VOXELS\ZZSCI.kvx
DEL 63f.3ds
CALL poly2vox.exe 64f.3ds 64f.kvx /s120
CALL kvxoffset.exe 64f.kvx
MOVE 64f.kvx C:\ZZS\VOXELS\ZZSCJ.kvx
DEL 64f.3ds
CALL poly2vox.exe 65f.3ds 65f.kvx /s120
CALL kvxoffset.exe 65f.kvx
MOVE 65f.kvx C:\ZZS\VOXELS\ZZSCK.kvx
DEL 65f.3ds
CALL poly2vox.exe 66f.3ds 66f.kvx /s120
CALL kvxoffset.exe 66f.kvx
MOVE 66f.kvx C:\ZZS\VOXELS\ZZSCL.kvx
DEL 66f.3ds
CALL poly2vox.exe 67f.3ds 67f.kvx /s120
CALL kvxoffset.exe 67f.kvx
MOVE 67f.kvx C:\ZZS\VOXELS\ZZSCM.kvx
DEL 67f.3ds
CALL poly2vox.exe 68f.3ds 68f.kvx /s120
CALL kvxoffset.exe 68f.kvx
MOVE 68f.kvx C:\ZZS\VOXELS\ZZSCN.kvx
DEL 68f.3ds
CALL poly2vox.exe 69f.3ds 69f.kvx /s120
CALL kvxoffset.exe 69f.kvx
MOVE 69f.kvx C:\ZZS\VOXELS\ZZSCO.kvx
DEL 69f.3ds
CALL poly2vox.exe 70f.3ds 70f.kvx /s120
CALL kvxoffset.exe 70f.kvx
MOVE 70f.kvx C:\ZZS\VOXELS\ZZSCP.kvx
DEL 70f.3ds
CALL poly2vox.exe 71f.3ds 71f.kvx /s120
CALL kvxoffset.exe 71f.kvx
MOVE 71f.kvx C:\ZZS\VOXELS\ZZSCQ.kvx
DEL 71f.3ds
CALL poly2vox.exe 72f.3ds 72f.kvx /s120
CALL kvxoffset.exe 72f.kvx
MOVE 72f.kvx C:\ZZS\VOXELS\ZZSCR.kvx
DEL 72f.3ds
CALL poly2vox.exe 73f.3ds 73f.kvx /s120
CALL kvxoffset.exe 73f.kvx
MOVE 73f.kvx C:\ZZS\VOXELS\ZZSCS.kvx
DEL 73f.3ds
CALL poly2vox.exe 74f.3ds 74f.kvx /s120
CALL kvxoffset.exe 74f.kvx
MOVE 74f.kvx C:\ZZS\VOXELS\ZZSCT.kvx
DEL 74f.3ds
CALL poly2vox.exe 75f.3ds 75f.kvx /s120
CALL kvxoffset.exe 75f.kvx
MOVE 75f.kvx C:\ZZS\VOXELS\ZZSCU.kvx
DEL 75f.3ds
CALL poly2vox.exe 76f.3ds 76f.kvx /s120
CALL kvxoffset.exe 76f.kvx
MOVE 76f.kvx C:\ZZS\VOXELS\ZZSCV.kvx
DEL 76f.3ds
CALL poly2vox.exe 77f.3ds 77f.kvx /s120
CALL kvxoffset.exe 77f.kvx
MOVE 77f.kvx C:\ZZS\VOXELS\ZZSCW.kvx
DEL 77f.3ds
CALL poly2vox.exe 78f.3ds 78f.kvx /s120
CALL kvxoffset.exe 78f.kvx
MOVE 78f.kvx C:\ZZS\VOXELS\ZZSCX.kvx
DEL 78f.3ds
CALL poly2vox.exe 79f.3ds 79f.kvx /s120
CALL kvxoffset.exe 79f.kvx
MOVE 79f.kvx C:\ZZS\VOXELS\ZZSCY.kvx
DEL 79f.3ds
CALL poly2vox.exe 80f.3ds 80f.kvx /s120
CALL kvxoffset.exe 80f.kvx
MOVE 80f.kvx C:\ZZS\VOXELS\ZZSCZ.kvx
DEL 80f.3ds
CALL poly2vox.exe 81f.3ds 81f.kvx /s120
CALL kvxoffset.exe 81f.kvx
MOVE 81f.kvx C:\ZZS\VOXELS\ZZSDA.kvx
DEL 81f.3ds
CALL poly2vox.exe 82f.3ds 82f.kvx /s120
CALL kvxoffset.exe 82f.kvx
MOVE 82f.kvx C:\ZZS\VOXELS\ZZSDB.kvx
DEL 82f.3ds
CALL poly2vox.exe 83f.3ds 83f.kvx /s120
CALL kvxoffset.exe 83f.kvx
MOVE 83f.kvx C:\ZZS\VOXELS\ZZSDC.kvx
DEL 83f.3ds
CALL poly2vox.exe 84f.3ds 84f.kvx /s120
CALL kvxoffset.exe 84f.kvx
MOVE 84f.kvx C:\ZZS\VOXELS\ZZSDD.kvx
DEL 84f.3ds
CALL poly2vox.exe 85f.3ds 85f.kvx /s120
CALL kvxoffset.exe 85f.kvx
MOVE 85f.kvx C:\ZZS\VOXELS\ZZSDE.kvx
DEL 85f.3ds
CALL poly2vox.exe 86f.3ds 86f.kvx /s120
CALL kvxoffset.exe 86f.kvx
MOVE 86f.kvx C:\ZZS\VOXELS\ZZSDF.kvx
DEL 86f.3ds
CALL poly2vox.exe 87f.3ds 87f.kvx /s120
CALL kvxoffset.exe 87f.kvx
MOVE 87f.kvx C:\ZZS\VOXELS\ZZSDG.kvx
DEL 87f.3ds
CALL poly2vox.exe 88f.3ds 88f.kvx /s120
CALL kvxoffset.exe 88f.kvx
MOVE 88f.kvx C:\ZZS\VOXELS\ZZSDH.kvx
DEL 88f.3ds
CALL poly2vox.exe 89f.3ds 89f.kvx /s120
CALL kvxoffset.exe 89f.kvx
MOVE 89f.kvx C:\ZZS\VOXELS\ZZSDI.kvx
DEL 89f.3ds
CALL poly2vox.exe 90f.3ds 90f.kvx /s120
CALL kvxoffset.exe 90f.kvx
MOVE 90f.kvx C:\ZZS\VOXELS\ZZSDJ.kvx
DEL 90f.3ds
CALL poly2vox.exe 91f.3ds 91f.kvx /s120
CALL kvxoffset.exe 91f.kvx
MOVE 91f.kvx C:\ZZS\VOXELS\ZZSDK.kvx
DEL 91f.3ds
CALL poly2vox.exe 92f.3ds 92f.kvx /s120
CALL kvxoffset.exe 92f.kvx
MOVE 92f.kvx C:\ZZS\VOXELS\ZZSDL.kvx
DEL 92f.3ds
CALL poly2vox.exe 93f.3ds 93f.kvx /s120
CALL kvxoffset.exe 93f.kvx
MOVE 93f.kvx C:\ZZS\VOXELS\ZZSDM.kvx
DEL 93f.3ds
CALL poly2vox.exe 94f.3ds 94f.kvx /s120
CALL kvxoffset.exe 94f.kvx
MOVE 94f.kvx C:\ZZS\VOXELS\ZZSDN.kvx
DEL 94f.3ds
CALL poly2vox.exe 95f.3ds 95f.kvx /s120
CALL kvxoffset.exe 95f.kvx
MOVE 95f.kvx C:\ZZS\VOXELS\ZZSDO.kvx
DEL 95f.3ds
CALL poly2vox.exe 96f.3ds 96f.kvx /s120
CALL kvxoffset.exe 96f.kvx
MOVE 96f.kvx C:\ZZS\VOXELS\ZZSDP.kvx
DEL 96f.3ds
CALL poly2vox.exe 97f.3ds 97f.kvx /s120
CALL kvxoffset.exe 97f.kvx
MOVE 97f.kvx C:\ZZS\VOXELS\ZZSDQ.kvx
DEL 97f.3ds
CALL poly2vox.exe 98f.3ds 98f.kvx /s120
CALL kvxoffset.exe 98f.kvx
MOVE 98f.kvx C:\ZZS\VOXELS\ZZSDR.kvx
DEL 98f.3ds
CALL poly2vox.exe 99f.3ds 99f.kvx /s120
CALL kvxoffset.exe 99f.kvx
MOVE 99f.kvx C:\ZZS\VOXELS\ZZSDS.kvx
DEL 99f.3ds
CALL poly2vox.exe 100f.3ds 100f.kvx /s120
CALL kvxoffset.exe 100f.kvx
MOVE 100f.kvx C:\ZZS\VOXELS\ZZSDT.kvx
DEL 100f.3ds
CALL poly2vox.exe 101f.3ds 101f.kvx /s120
CALL kvxoffset.exe 101f.kvx
MOVE 101f.kvx C:\ZZS\VOXELS\ZZSDU.kvx
DEL 101f.3ds
CALL poly2vox.exe 102f.3ds 102f.kvx /s120
CALL kvxoffset.exe 102f.kvx
MOVE 102f.kvx C:\ZZS\VOXELS\ZZSDV.kvx
DEL 102f.3ds
CALL poly2vox.exe 103f.3ds 103f.kvx /s120
CALL kvxoffset.exe 103f.kvx
MOVE 103f.kvx C:\ZZS\VOXELS\ZZSDW.kvx
DEL 103f.3ds
CALL poly2vox.exe 104f.3ds 104f.kvx /s120
CALL kvxoffset.exe 104f.kvx
MOVE 104f.kvx C:\ZZS\VOXELS\ZZSDX.kvx
DEL 104f.3ds
CALL poly2vox.exe 105f.3ds 105f.kvx /s120
CALL kvxoffset.exe 105f.kvx
MOVE 105f.kvx C:\ZZS\VOXELS\ZZSDY.kvx
DEL 105f.3ds
CALL poly2vox.exe 106f.3ds 106f.kvx /s120
CALL kvxoffset.exe 106f.kvx
MOVE 106f.kvx C:\ZZS\VOXELS\ZZSDZ.kvx
DEL 106f.3ds
CALL poly2vox.exe 107f.3ds 107f.kvx /s120
CALL kvxoffset.exe 107f.kvx
MOVE 107f.kvx C:\ZZS\VOXELS\ZZSEA.kvx
DEL 107f.3ds
CALL poly2vox.exe 108f.3ds 108f.kvx /s120
CALL kvxoffset.exe 108f.kvx
MOVE 108f.kvx C:\ZZS\VOXELS\ZZSEB.kvx
DEL 108f.3ds
CALL poly2vox.exe 109f.3ds 109f.kvx /s120
CALL kvxoffset.exe 109f.kvx
MOVE 109f.kvx C:\ZZS\VOXELS\ZZSEC.kvx
DEL 109f.3ds
CALL poly2vox.exe 110f.3ds 110f.kvx /s120
CALL kvxoffset.exe 110f.kvx
MOVE 110f.kvx C:\ZZS\VOXELS\ZZSED.kvx
DEL 110f.3ds
DEL kvxoffset.exe
DEL library.zip
DEL poly2vox.exe
DEL python27.dll
DEL *.png
DEL *.ms
DEL *.bat
ECHO This folder can now be loaded as a resource in any voxel support version of zDoom. This little utility was created by ExWizard.
PAUSE
This is a work in progress, feature suggestions are welcome.