diff --git a/boxcl.tcl b/boxcl.tcl index f85f167..5dff6a6 100755 --- a/boxcl.tcl +++ b/boxcl.tcl @@ -10,6 +10,14 @@ package require textutil package require Tk +set scriptpath [ file normalize [ info script ] ] +set appdir [ file dirname $scriptpath ] +# check if we're running from a starpack +if [string match *app-boxcl $appdir] { + set appdir [ file normalize [ file join $appdir ".." ".." ".." ] ] +} +set leveldir [ file join $appdir "levelsets" ] + # hardcoded tile sizes set tilew 64 set tileh 64 @@ -265,11 +273,12 @@ proc prevlevel {} { # open a levelsetfile proc openlevel {} { + global leveldir set types { {{Plain text levelset} {.txt} TEXT} {{Sokoban YASC levelset} {.sok} TEXT} } - return [tk_getOpenFile -filetypes $types -title {Choose a Sokoban levelset file}] + return [tk_getOpenFile -initialdir $leveldir -filetypes $types -title {Choose a Sokoban levelset file}] } # define the tiles