Changeset 3153


Ignore:
Timestamp:
10/12/07 18:29:41 (6 years ago)
Author:
werner
Message:
  • new option -32 for 32 bpp mode
  • new option -pnm to use PNM instead of PNG files
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/host/splash/splashimg.pl

    r1065 r3153  
    2222# 
    2323 
     24 
     25%bpp = 16; 
     26 
     27 
    2428sub usage 
    2529{ 
    26     print STDERR "usage: $0 [System_boot.png]\n"; 
     30    print STDERR "usage: $0 [-32] [-pnm] [System_boot.png]\n"; 
    2731    exit(1); 
    2832} 
    2933 
     34 
     35while ($ARGV[0] =~ /^-[^-]/) { 
     36    if ($ARGV[0] eq "-32") { 
     37        $bpp = 32; 
     38        shift @ARGV; 
     39    } 
     40    elsif ($ARGV[0] eq "-pnm") { 
     41        $pnm = 1; 
     42        shift @ARGV; 
     43    } 
     44    else { 
     45        die "unrecognized option: \"$ARGV[0]\""; 
     46    } 
     47} 
    3048 
    3149&usage unless $#ARGV < 2; 
     
    3755} 
    3856 
    39 $cmd = "pngtopnm '$file' | ppmtorgb3"; 
     57if ($pnm) { 
     58    $cmd = "cat '$file' | ppmtorgb3"; 
     59} 
     60else { 
     61    $cmd = "pngtopnm '$file' | ppmtorgb3"; 
     62} 
    4063 
    4164system($cmd) && die "system \"$cmd\": $?"; 
     
    5780    $g = unpack("C",substr($p{"grn"},$i,1)); 
    5881    $b = unpack("C",substr($p{"blu"},$i,1)); 
    59     $v = ($r >> 3) << 11 | ($g >> 2) << 5 | ($b >> 3); 
    60     print pack("v",$v) || die "print: $!"; 
     82    if ($bpp == 16) { 
     83        $v = ($r >> 3) << 11 | ($g >> 2) << 5 | ($b >> 3); 
     84        print pack("v",$v) || die "print: $!"; 
     85    } 
     86    else { 
     87        $v = ($r) << 16 | ($g) << 8 | $b; 
     88        print pack("V",$v) || die "print: $!"; 
     89    } 
    6190} 
Note: See TracChangeset for help on using the changeset viewer.