Вот, теперь генерирует сразу прямой и обратные списки, при этом используется запись в массив и только на последнем этапе происходит сброс списка в файл что ускоряет процесс за счет уменьшения доступа к диску.
$clm = 4 // уровень коррекции от 0 до 8
SWITCH($clm)
CASE(0)
$bit=1
CASE(1)
$bit=2
CASE(2)
$bit=4
CASE(3)
$bit=8
CASE(4)
$bit=16
CASE(5)
$bit=32
CASE(6)
$bit=64
CASE(7)
$bit=128
CASE(8)
ARRPUSH($arr_out, 0)
$bit=256
DEFAULT
HINTPOPUP("Задан не верный уровень коррекции!", "Ошибка")
halt
END_SWITCH
$r=-1
$g=-1
$b=-1
inc($r,$bit)
inc($g,$bit)
inc($b,$bit)
WHILE($b < 256)
WHILE($g < 256)
WHILE($r < 256)
ARRPUSH($arr_out, colorgen($r,$g,$b))
inc($r,$bit)
END_CYC
$r=-1
inc($r,$bit)
inc($g,$bit)
END_CYC
$r=-1
$g=-1
inc($r,$bit)
inc($g,$bit)
inc($b,$bit)
END_CYC
TFWRITEARR(STRCONCAT("Цвета для Уровня ", $clm," прямой порядок.txt"), $arr_out)
$count = ARRSIZE($arr_out)
FOR($a=0,$a<$count)
ARRPUSH($arr_out2, ARRPOP($arr_out))
END_CYC
TFWRITEARR(STRCONCAT("Цвета для Уровня ", $clm," обратный порядок.txt"), $arr_out2)
halt