Files
nethack/win/macosx/recover.pl

52 lines
1.3 KiB
Perl
Executable File

#!/usr/bin/perl
# NetHack 3.7 recover.pl $NHDT-Date: 1596498329 2020/08/03 23:45:29 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.13 $
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2009
# NetHack may be freely redistributed. See license for details.
# Wrapper for 3.4.3 recover to be called from Applescript to reset the Qt
# package after it locks up due to a bug in suspend handling.
# find the right place
($playground = $0) =~ s!/recover.pl$!!;
if(! -d $playground){
print "Cannot find playground $playground.";
exit 0
}
if(! -f "$playground/castle.lev" && ! -f "$playground/nhdat"){
print "Failed to find playground $playground.";
exit 0
}
print "Playground is $playground.\n";
chdir $playground or do {
print "Can't get to playground.\n";
exit 0
};
if(-e 'perm_lock'){
print "Attempting to remove perm_lock.\n";
$try_perm = 1;
unlink 'perm_lock';
} else {
print "Did not find perm_lock (this is OK).\n";
}
if(-e 'perm_lock'){
print "Failed to remove perm_lock: $!\n";
exit 0
}
if($try_perm){
print "Removed perm_lock.\n";
}
# run recover, but only if there is something that looks promising
$recover = "./recover";
$recover = "/usr/local/bin/recover" unless(-e $recover);
$uid = $<;
foreach ( <$uid*.0> ){
system ("$recover -d . $_");
}
print "Done.\n";
exit 0