program Smarter;
// By Widget
// Just Press Run
var Open: TOpenDialog;
Path, WorldPrefix, TheFile, TheLowercaseFile: String;
HighDetail, Signed:Boolean;
i, TheScript{file}:integer;
begin
Open := TOpenDialog.Create(Open); // Yes, it can be its own parent..
Open.InitialDir := AppPath+'\Scripts';
Open.Filter := 'SCAR Files|*.scar|Text Files |*.txt';
if Open.Execute then
Path := Open.FileName
else
TerminateScript;
Writeln('Smarterizing '+Path);
Signed := GetApplication.MessageBox('Use Signed?','Widget is your God',4)=6;
HighDetail := GetApplication.MessageBox('Use High Detail?','Widget is your God',4)=6;
WorldPrefix := Readln('Enter the world prefix:');
TheScript := OpenFile(Path,False);
ReadFileString(TheScript,TheFile,FileSize(TheScript));
CloseFile(TheScript);
TheLowercaseFile := Lowercase(TheFile);
i := Pos('{.include',TheLowercaseFile);
if i>5 then
Insert('{.include srl/srl/misc/smart.scar}'+#10,TheFile,i-1);
TheLowercaseFile := Lowercase(TheFile);
i := Pos('setupsrl',TheLowercaseFile);
if i>5 then
Insert('SetUpSMART('''+WorldPrefix+''','+BoolToStr(HighDetail)+','+BoolToStr(Signed)+
')'+#10+'while not(SmartReady) do'+#10+' Sleep(100);'+#10+'SetTargetDC(SmartGetDC);',
TheFile,i-1);
Writeln('Done SMARTerizing =)');
TheScript := RewriteFile(Path,False);
WriteFileString(TheScript,TheFile);
CloseFile(TheScript);
end.
Should it get it's own topic? :p