vivl.pl
386 Bytes
sub vivl
{
local ($frac, $rgb_a, $rgb_b, $sync_a, $csa);
$frac = $_[0];
$rgb_a = $_[1];
$rgb_b = $_[2];
$sync_a = $_[3];
$_[4] = sprintf("0x%.2x", $vllerp_rgb);
$_[5] = $vllerp_sync;
$csa = ((oct($rgb_b) - oct($rgb_a)) * oct($frac) + 16 >> 5) + oct($rgb_a);
$vllerp_rgb = $sync_a ? oct($rgb_a) : $csa;
$vllerp_sync = $sync_a;
}
1;