ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra/bin/cfarch-normalize
Revision: 1.11
Committed: Thu Oct 29 02:57:36 2009 UTC (14 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_01, rel-1_30, rel-1_29, HEAD
Changes since 1.10: +1 -1 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 elmex 1.1 #!/opt/bin/perl
2    
3 root 1.7 use Deliantra;
4 elmex 1.1
5     load_archetypes;
6    
7     for my $path (@ARGV) {
8     eval {
9 root 1.3 {
10     open my $fh, "<:raw:perlio:utf8", $path
11     or die "$path: $!\n";
12 elmex 1.1
13 root 1.3 sysread $fh, my $buf, 8192;
14 root 1.10 $buf =~ /^Object \S+\s*\n.*^end\s*$/ism
15 root 1.8 or die "$path: not a deliantra arch file\n";
16 root 1.3 }
17 elmex 1.1
18     my $arch = read_arch ($path);
19 root 1.6
20 root 1.3 $arch = [
21     map $arch->{$_},
22     sort keys %$arch
23     ];
24    
25 root 1.9 if (0) {
26     for my $o (@$arch) {
27 root 1.11 for ($o->{face}, @{ $o->{anim} || [] }) {
28 root 1.9 s/\.1(\d\d)$/.x$1/;
29     }
30     }
31     }
32    
33 root 1.3 open my $fh, ">:raw:utf8", "$path~" or Carp::croak "$path~: $!";
34 root 1.7 print $fh Deliantra::archlist_to_string ($arch)
35 root 1.3 or Carp::croak "$path~: $!";
36     close $fh or Carp::croak "$path~: $!";
37 elmex 1.1 rename "$path~", $path;
38    
39     1
40     } or warn $@;
41     }
42