Cool

.
You might get some use out of this, I used it when I converted a giant pile of models to FPSC for DarkOwen. After you've done everything else, it'll auto-generate the .BMP thumbnails for all the entities (one of the most time-consuming and repetitive parts

).
`FPSC Toolkit
`BMacZero
set display mode 1024,768,32
autocam off
set camera range 0.01,10000
global base$
base$=get dir$()
print "FPSC Icon Creator"
print " by BMacZero (ZMedia)"
print
print "This program will scan the directory it is currently in"
print "for .FPE files. It will load and texture all"
print "entities described by these files, assuming they are"
print "correctly stored in either the current folder or the"
print "mesh/texturebank, take images of them from a simple"
print "isometric perspective, and save them as .BMP icons,"
print "64x64, ready for use in FPSC."
print
print "Location: "+base$
print
print "Press escape to quit."
print "Press any other key to continue."
print
print
print "Credits:"
print " Image Resize function by Sixty Squares"
location=InLocation()
if location=1 or location=2 then fpscbase$=FindFPSC()
wait key
if escapekey() then end : wait 1000
cls
perform checklist for files
for c=3 to checklist quantity()
if lower$(right$(checklist string$(c),4))=".fpe"
cd base$
open to read 1,checklist string$(c)
rootname$=left$(checklist string$(c),len(checklist string$(c))-4)
cls rgb(255,255,255)
model$=""
texture$=""
if image exist(1) then delete image 1
if image exist(2) then delete image 2
if object exist(1) then delete object 1
repeat
read string 1,temp$
if left$(temp$,5)="model"
model$=lower$(Parse(temp$))
endif
if left$(temp$,8)="textured"
texture$=lower$(Parse(temp$))
endif
until file end(1)
close file 1
`If we aren't in entitybank or the model doesn't reference meshbank...
if location=0 or left$(model$,8)<>"meshbank"
`And a model is specified...
if model$<>""
`And it exists...
if file exist(model$)
`Load it.
load object model$,1
backdrop off
else
`Otherwise give errors.
print "Error: The model used by "+checklist string$(c)+" does not exist or could not be found."
print "Ensure that it is place in either the current folder or the meshbank folder and is"
print "identified correctly in the .FPE file."
wait key
endif
else
print "Error: No model file is specified by "+checklist string$(c)+"."
wait key
endif
endif
`If we're in entitybank...
if location=1
`And the FPE references a file in meshbank...
if left$(model$,8)="meshbank"
`Go back so we can get to meshbank.
cd fpscbase$
`If the model is specified...
if model$<>""
`And it exists...
if file exist(model$)
`Load it.
load object model$,1
backdrop off
`Otherwise give errors
else
print "Error: The model used by "+checklist string$(c)+" does not exist or could not be found."
print "Ensure that it is place in either the current folder or the meshbank folder and is"
print "identified correctly in the .FPE file."
wait key
endif
else
print "Error: No model file is specified by "+checklist string$(c)+"."
wait key
endif
endif
endif
`Now the texture
cd base$
`If we aren't in entitybank or the texture doesn't reference texturebank...
if location=0 or left$(texture$,11)<>"texturebank"
`And a texture is specified...
if texture$<>""
`And it exists...
if file exist(texture$)
`Load it.
load image texture$,1
else
`Otherwise give errors.
print "Error: The texture used by "+checklist string$(c)+" does not exist or could not be found."
print "Ensure that it is place in either the current folder or the texturebank folder and is"
print "identified correctly in the .FPE file."
wait key
endif
`No error if no texture specified
endif
endif
`If we're in entitybank...
if location=1
`And the FPE references a file in texturebank...
if left$(texture$,11)="texturebank"
`Go back so we can get to texturebank.
cd fpscbase$
`If the texture is specified...
if texture$<>""
`And it exists...
if file exist(texture$)
`Load it.
load image texture$,1
`Otherwise give errors
else
print "Error: The texture used by "+checklist string$(c)+" does not exist or could not be found."
print "Ensure that it is place in either the current folder or the texturebank folder and is"
print "identified correctly in the .FPE file."
print
print "Debug: In entitybank, FPSC="+fpscbase$
print "cd="+get dir$()
wait key
endif
`No error if no texture specified
endif
endif
endif
`Finally take some pics
if image exist(1) then texture object 1,1
`Zoom camera right
position camera 0,object size y(1)/2,0
xrotate camera 30
yrotate camera -30
if object exist(1) then move camera -ObjectDiagonal(1)*2
`Snap!
if object exist(1)
backdrop on
color backdrop rgb(255,255,255)
sync
get image 2,128,0,896,768,1
ResizeImage(2)
cd base$
save image rootname$+".bmp",2
endif
backdrop off
endif
next c
end
function Parse(string$)
repeat
inc temp
until mid$(string$,temp)="="
repeat
inc temp
until mid$(string$,temp)<>" "
final$=right$(string$,len(string$)-(temp-1))
endfunction final$
function InLocation()
for c=1 to len(base$)
temp$=temp$+mid$(base$,c)
if mid$(base$,c)="\"
if step1=1
if lower$(temp$)="entitybank\" then exitfunction 1
`if temp$="segments" then exitfunction 2
endif
if lower$(temp$)="files\" then step1=1
temp$=""
endif
next c
endfunction 0
function FindFPSC()
for c=1 to len(base$)
temp$=temp$+mid$(base$,c)
if mid$(base$,c)="\"
cum$=lower$(cum$+temp$)
if lower$(temp$)="files\" then exitfunction cum$
temp$=""
endif
next c
endfunction ""
function ObjectDiagonal(ObjectNo)
result#=SQRT((object size x(ObjectNo)/2)^2+(object size y(ObjectNo)/2)^2+(object size z(ObjectNo)/2)^2)
endfunction result#
`Resize function by Sixty Squares
function ResizeImage(IMAGE)
Create Bitmap 1,64,64
Sprite 1,0,0,IMAGE
Size sprite 1,64,64
paste sprite 1,0,0
get image IMAGE,0,0,64,64,1
delete sprite 1
delete bitmap 1
endfunction