… | |
… | |
357 | my ($mapfile) = @_; |
357 | my ($mapfile) = @_; |
358 | if (-e "$mapfile.meta") { |
358 | if (-e "$mapfile.meta") { |
359 | open my $metafh, "<", "$mapfile.meta" |
359 | open my $metafh, "<", "$mapfile.meta" |
360 | or warn "Couldn't open meta file $mapfile.meta: $!"; |
360 | or warn "Couldn't open meta file $mapfile.meta: $!"; |
361 | my $metadata = do { local $/; <$metafh> }; |
361 | my $metadata = do { local $/; <$metafh> }; |
362 | return Crossfire::from_json ($metadata); |
362 | return Crossfire::decode_json ($metadata); |
363 | } |
363 | } |
364 | } |
364 | } |
365 | |
365 | |
366 | sub save_meta_info { |
366 | sub save_meta_info { |
367 | my ($mapfile, $metainfo) = @_; |
367 | my ($mapfile, $metainfo) = @_; |
368 | open my $metafh, ">", "$mapfile.meta" |
368 | open my $metafh, ">", "$mapfile.meta" |
369 | or warn "Couldn't write meta file $mapfile.meta: $!"; |
369 | or warn "Couldn't write meta file $mapfile.meta: $!"; |
370 | print $metafh Crossfire::to_json ($metainfo); |
370 | print $metafh Crossfire::encode_json ($metainfo); |
371 | } |
371 | } |
372 | |
372 | |
373 | sub open_map { |
373 | sub open_map { |
374 | my ($self, $path, $key) = @_; |
374 | my ($self, $path, $key) = @_; |
375 | |
375 | |
… | |
… | |
614 | [path => 'Map path' => 'string'], |
614 | [path => 'Map path' => 'string'], |
615 | ], |
615 | ], |
616 | close_on_save => 1, |
616 | close_on_save => 1, |
617 | save_cb => sub { |
617 | save_cb => sub { |
618 | my ($meta) = @_; |
618 | my ($meta) = @_; |
619 | warn "UPLOAD[".Crossfire::to_json ($meta)."]\n"; |
619 | warn "UPLOAD[".Crossfire::encode_json ($meta)."]\n"; |
620 | } |
620 | } |
621 | ); |
621 | ); |
622 | |
622 | |
623 | $w->signal_connect (destroy => sub { delete $self->{meta_info_win} }); |
623 | $w->signal_connect (destroy => sub { delete $self->{meta_info_win} }); |
624 | |
624 | |
… | |
… | |
645 | [cf_password=> 'Password' => 'password'], |
645 | [cf_password=> 'Password' => 'password'], |
646 | [path => 'Map path' => 'string'], |
646 | [path => 'Map path' => 'string'], |
647 | ], |
647 | ], |
648 | save_cb => sub { |
648 | save_cb => sub { |
649 | my ($meta) = @_; |
649 | my ($meta) = @_; |
650 | warn "UPLOAD[".Crossfire::to_json ($meta)."]\n"; |
650 | warn "UPLOAD[".Crossfire::encode_json ($meta)."]\n"; |
651 | } |
651 | } |
652 | ); |
652 | ); |
653 | |
653 | |
654 | $w->signal_connect (destroy => sub { delete $self->{meta_info_win} }); |
654 | $w->signal_connect (destroy => sub { delete $self->{meta_info_win} }); |
655 | |
655 | |