--sceneTester 1 alpha
--by zhangy

--Parameter
outImgPath="d:/ScopicTest/Render_output/"
saveFilePath="d:/ScopicTest/SceneSave/"
versionBit="32Bit"
--option
doAniTest=false
doMRRender=true
doScanLineRender=true
doSaveScene=true
doReloadScene=true
bug_fname=""
codename=""
imgFList=""

mVersion=maxversion()
if mVersion[1]>8000 then
	(
	bug_fname = "c:/temp/fileOpen_Scopic.log"
	imgFList="c:/temp/fList_Scopic.txt"
	CodeName="Scopic"+VersionBit
	)
else 
	(
	bug_fname = "c:/temp/fileOpen_versper.log"
	imgFList="c:/temp/fList_vesper.txt"
	CodeName="Vesper"
	)
endif

deleteFile bug_fname
deleteFile imgFList
filelog = createFile bug_fname
imgFileList=createFile imgFList

fn maxLoader Str_dir =
(
files = getFiles (Str_dir+"/*.max")

for f in files do 
(
format "=========File:% ||On Test=============\n" f to:filelog
flush filelog

if not keyboard.escPressed then
	loadMAXFile f useFileUnits:true quiet:true
else
	quitMAX #noPrompt

endif

--animation playback
--realTimePlayback = true
if doAniTest do playAnimation immediateReturn:false
--renderingTest
if doMRRender do
	(
	renderImgName=outImgPath+CodeName+"/"+CodeName+"_"+(getFilenameFile f)+"_MR"+".tga"
	renderers.current = mental_ray_renderer()
	render outputwidth:720 outputheight:576 outputfile:renderImgName
	format "MentalRay Rendered To:% \n" renderImgName to:filelog
	format "%\n" renderImgName to:imgFileList
	)
	
if doScanLineRender do
	(
	renderImgName=outImgPath+CodeName+"/"+CodeName+"_"+(getFilenameFile f)+"_SL"+".tga"
	renderers.current=Default_Scanline_Renderer()
	render outputwidth:720 outputheight:576 outputfile:renderImgName
	format "Scanline Rendered To:% \n" renderImgName to:filelog
	format "%\n" renderImgName to:imgFileList
	)

--saveLoadTest
saveFileName=saveFilePath+CodeName+"/"+CodeName+"_"+(getFilenameFile f)+".max"
if doSaveScene do
	(
	saveMaxFile saveFileName
	format "ReSave File To:% \n" saveFileName to:filelog
	)
if doReloadScene do
	(
	loadMAXFile saveFileName useFileUnits:true quiet:true
	format "ReLoad File From:% \n" saveFileName to:filelog
	)
   format "========File:%  ||Test Done======\n" f to:filelog

resetMaxFile #noPrompt

)
for d in getDirectories (Str_dir+"/*") do maxLoader d
return true
)

--messageBox "Make sure u have checked the Compress On Save option in Preference->Files" title:"Attention"

FileDir=getSavePath caption:"Select The Directory"
if FileDir!=Undefined do 
	(
	maxLoader FileDir
	resetMaxFile #noPrompt
	close filelog
	close imgFileList
	)