--- deliantra/Deliantra-Client/DC/Util.pm 2006/04/07 19:58:55 1.9 +++ deliantra/Deliantra-Client/DC/Util.pm 2006/04/07 20:13:13 1.10 @@ -1,58 +1,12 @@ package Crossfire::Client::Util; + use strict; -use base 'Exporter'; + use Data::Dumper; -our @EXPORT = qw(find_rcfile read_cfg write_cfg); -use SDL; -use SDL::App; -use SDL::Event; -use SDL::Surface; +use SDL; use Gtk2; -sub find_rcfile($) { - my $path; - - for (@INC) { - $path = "$_/Crossfire/resources/$_[0]"; - return $path if -r $path; - } - - die "FATAL: can't find required file $_[0]\n"; -} - -sub read_cfg { - my ($file) = @_; - - open CFG, $file - or return; - - my $CFG; - - local $/; - $CFG = eval ; - - $::CFG = $CFG; - - close CFG; -} - -sub write_cfg { - my ($file) = @_; - - open CFG, ">$file" - or return; - - { - local $Data::Dumper::Purity = 1; - $::CFG->{VERSION} = $::VERSION; - print CFG Data::Dumper->Dump ([$::CFG], [qw/CFG/]); - } - - close CFG; -} - - sub gtk_add_cfg_field { my ($tbl, $cfg, $klbl, $key, $value) = @_; my $i = $cfg->{_i}++; @@ -120,7 +74,7 @@ $::CFG->{$_} = $cfg->{$_} if $_ ne '_i'; } - write_cfg "$Crossfire::VARDIR/pclientrc"; + Crossfire::Client::write_cfg "$Crossfire::VARDIR/pclientrc"; }); $hb->pack_start (my $cb = Gtk2::Button->new ("login"), 1, 1, 5); $cb->signal_connect (clicked => sub {