コード例 #1
0
def load_game_menu():
    if [1 for o in assets.cur_script.obs if isinstance(o,choose_game)]:
        return
    root = choose_game()
    root.pri = -1000
    root.z = 5000
    root.width,root.height = [assets.sw,assets.sh]
    list = gui.scrollpane([0,0])
    list.width,list.height = [assets.sw,assets.sh]
    root.add_child(list)
    title = gui.editbox(None,"Choose save to load")
    title.draw_back = False
    list.add_child(title)
    list.add_child(ws_button(root,"cancel",pos=[200,0]))
    cb = list.children[-1]
    def cancel(*args):
        print "canceling"
        root.delete()
    setattr(root,"cancel",cancel)
    cb.bgcolor = [0, 0, 0]
    cb.textcolor = [255,255,255]
    cb.highlightcolor = [50,75,50]
    assets.cur_script.obs.append(root)
    saves = []
    for p in os.listdir(assets.game+"/"):
        if not p.endswith(".ns"):
            continue
        fp = assets.game+"/"+p
        if os.path.exists(fp):
            saves.append((fp,os.path.getmtime(fp)))
    if os.path.isdir(assets.game+"/save_backup"):
        for f in os.listdir(assets.game+"/save_backup"):
            p = f
            fp = assets.game+"/save_backup/"+p
            saves.append((fp,float(fp.rsplit("_",1)[1])))
    saves.sort(key=lambda a: -a[1])
    i = len(saves)
    for s in saves:
        lt = time.localtime(s[1])
        fn = s[0].rsplit("/",1)[1].split(".",1)[0]
        t = str(i)+") "+fn+" %s/%s/%s %s:%s"%(lt.tm_mon,lt.tm_mday,lt.tm_year,lt.tm_hour,lt.tm_min)
        i -= 1
        item = ws_button(root,t)
        list.add_child(item)
        filename=s[0].replace(assets.game,"")[1:]
        fullpath=s[0]
        def do_load(filename=filename,fullpath=fullpath):
            root.delete()
            print "loading",filename,fullpath
            assets.clear()
            assets.show_load()
            assets.load_game_from_string(open(fullpath).read())
        setattr(root,t.replace(" ","_"),do_load)
コード例 #2
0
ファイル: settings.py プロジェクト: boskee/pywright
 def debug(self):
     assets = self.assets
     sw,sh = self.sw,self.sh
     settings_menu.firstpane = "debug"
     self.base()
     line = gui.pane([0,30],[sw,20])
     line.align = "horiz"
     self.children.append(line)
     self.go_script = ""
     line.children.append(gui.editbox(self,"go_script"))
     class myb(gui.button):
         def click_down_over(s,*args):
             assets.cur_script.safe_exec(assets.cur_script.execute_line,self.go_script)
             self.close()
     line.children.append(myb(None,"execute"))
     
     line = gui.pane([0,50],[sw,20])
     line.align = "horiz"
     self.children.append(line)
     class myb(gui.button):
         def click_down_over(s,*args):
             print "debugging game"
             s = assets.DebugScript()
             s.debug_game("current","run")
             print "finished"
     line.children.append(myb(None,"Debug current script"))
     
     line = gui.pane([0,70],[sw,20])
     line.align = "horiz"
     self.children.append(line)
     class myb(gui.button):
         def click_down_over(s,*args):
             print "debugging game"
             s = assets.DebugScript()
             s.debug_game("all","run")
             print "finished"
     line.children.append(myb(None,"Debug entire game (slow)"))
     
     line = gui.pane([0,90],[sw,20])
     line.align = "horiz"
     self.children.append(line)
     class myb(gui.button):
         def click_down_over(s,*args):
             print "debugging game"
             s = assets.DebugScript()
             s.debug_game("all","quote")
             print "finished"
     line.children.append(myb(None,"Find quote errors"))
コード例 #3
0
ファイル: settings.py プロジェクト: boskee/pywright
 def apply(self):
     assets = self.assets
     sw,sh = self.sw,self.sh
     for r in self.reses: 
         if r.checked:
             self.oldwidth,self.oldheight = assets.swidth,assets.sheight
             self.timer = 5.0
             self.really_applyb = gui.pane()
             self.really_applyb.is_applyb = True
             self.really_applyb.width = 1000
             self.really_applyb.height = 1000
             self.really_applyb.pri = -1002
             self.really_applyb.z = 11002
             #self.really_applyb.align = False
             e = gui.editbox(None,"")
             e.draw_back = False
             self.really_applyb.children.append(e)
             self.really_applyb.timer = e
             b = gui.button(self,"save_resolution",[0,0])
             self.really_applyb.children.append(b)
             assets.cur_script.obs.append(self.really_applyb)
             assets.swidth,assets.sheight = [int(x) for x in (r.text[r.text.find("(")+1:r.text.find(")")]).split("x")]
     self.old_fullscreen = assets.fullscreen
     assets.fullscreen = 0
     if self.fs.checked:
         assets.fullscreen = 1
     self.old_num_screens = assets.num_screens
     assets.num_screens = 1
     if self.ds.checked:
         assets.num_screens = 2
     assets.screen_compress = 1
     if self.vds.checked:
         assets.screen_compress = 0
     assets.smoothscale = 0
     if self.smoothscale.checked:
         assets.smoothscale = 1
     assets.make_screen()
     self.display()
     wini(assets)
コード例 #4
0
ファイル: settings.py プロジェクト: saluk/pywright
 def apply(self):
     assets = self.assets
     sw, sh = self.sw, self.sh
     for r in self.screens:
         if r.checked:
             assets.screen_mode = r.text
     for r in self.reses:
         if r.checked:
             self.oldwidth, self.oldheight = assets.swidth, assets.sheight
             self.timer = 5.0
             self.really_applyb = gui.pane()
             self.really_applyb.is_applyb = True
             self.really_applyb.width = 1000
             self.really_applyb.height = 1000
             self.really_applyb.pri = -1002
             self.really_applyb.z = 11002
             #self.really_applyb.align = False
             e = gui.editbox(None, "")
             e.draw_back = False
             self.really_applyb.children.append(e)
             self.really_applyb.timer = e
             b = gui.button(self, "save_resolution", [0, 0])
             self.really_applyb.children.append(b)
             assets.cur_script.obs.append(self.really_applyb)
             assets.swidth, assets.sheight = [
                 int(x) for x in (r.text[r.text.find("(") +
                                         1:r.text.find(")")]).split("x")
             ]
     self.old_fullscreen = assets.fullscreen
     assets.fullscreen = 0
     if self.fs.checked:
         assets.fullscreen = 1
     self.old_num_screens = assets.num_screens
     assets.smoothscale = 0
     if self.smoothscale.checked:
         assets.smoothscale = 1
     assets.make_screen()
     self.display()
     wini(assets)
コード例 #5
0
ファイル: settings.py プロジェクト: crxtrdude/pywright
    def debug(self):
        assets = self.assets
        sw,sh = self.sw,self.sh
        settings_menu.firstpane = "debug"
        self.base()

        #Create debug mode option if we aren't running a game
        if assets.game == "games":
            line = gui.pane([0,90],[sw,20])
            line.align = "horiz"
            self.children.append(line)
            line.children.append(gui.label("Debug mode?"))
            class myb(gui.checkbox):
                def click_down_over(self,*args):
                    super(myb,self).click_down_over(*args)
                    if self.checked:
                        assets.debug_mode = True
                    else:
                        assets.debug_mode = False
            line.children.append(myb("debug_mode"))
            cb = line.children[-1]
            if assets.debug_mode: cb.checked = True
            return
        
        
        line = gui.pane([0,30],[sw,20])
        line.align = "horiz"
        self.children.append(line)
        self.go_script = ""
        line.children.append(gui.editbox(self,"go_script"))
        class myb(gui.button):
            def click_down_over(s,*args):
                assets.cur_script.safe_exec(assets.cur_script.execute_line,self.go_script)
                self.close()
        line.children.append(myb(None,"execute"))
        
        line = gui.pane([0,50],[sw,20])
        line.align = "horiz"
        self.children.append(line)
        class myb(gui.button):
            def click_down_over(s,*args):
                print "debugging game"
                s = assets.DebugScript()
                s.debug_game("current","run")
                print "finished"
        line.children.append(myb(None,"Debug current script"))
        
        line = gui.pane([0,70],[sw,20])
        line.align = "horiz"
        self.children.append(line)
        class myb(gui.button):
            def click_down_over(s,*args):
                print "debugging game"
                s = assets.DebugScript()
                s.debug_game("all","run")
                print "finished"
        line.children.append(myb(None,"Debug entire game (slow)"))
        
        line = gui.pane([0,90],[sw,20])
        line.align = "horiz"
        self.children.append(line)
        class myb(gui.button):
            def click_down_over(s,*args):
                print "debugging game"
                s = assets.DebugScript()
                s.debug_game("all","quote")
                print "finished"
        line.children.append(myb(None,"Find quote errors"))
        
        line = gui.pane([0,110],[sw,20])
        line.align = "horiz"
        self.children.append(line)
        class newr(gui.radiobutton):
            def click_down_over(s,*args):
                gui.radiobutton.click_down_over(s,*args)
                assets.game_speed = int(s.text)
        line.children.append(gui.label("Game speed"))
        line.children.append(newr("1","gamespeed"))
        line.children.append(newr("2","gamespeed"))
        line.children.append(newr("6","gamespeed"))
        for t in line.children:
            if t.text==str(assets.game_speed):
                t.checked = True
コード例 #6
0
ファイル: settings.py プロジェクト: saluk/pywright
    def debug(self):
        assets = self.assets
        sw, sh = self.sw, self.sh
        settings_menu.firstpane = "debug"
        self.base()

        #Create debug mode option if we aren't running a game
        if assets.game == "games":
            line = gui.pane([0, 90], [sw, 20])
            line.align = "horiz"
            self.children.append(line)
            line.children.append(gui.label("Debug mode?"))

            class myb(gui.checkbox):
                def click_down_over(self, *args):
                    super(myb, self).click_down_over(*args)
                    if self.checked:
                        assets.debug_mode = True
                    else:
                        assets.debug_mode = False

            line.children.append(myb("debug_mode"))
            cb = line.children[-1]
            if assets.debug_mode: cb.checked = True
            return

        line = gui.pane([0, 30], [sw, 20])
        line.align = "horiz"
        self.children.append(line)
        self.go_script = ""
        line.children.append(gui.editbox(self, "go_script"))

        class myb(gui.button):
            def click_down_over(s, *args):
                assets.cur_script.safe_exec(assets.cur_script.execute_line,
                                            self.go_script)
                self.close()

        line.children.append(myb(None, "execute"))

        line = gui.pane([0, 50], [sw, 20])
        line.align = "horiz"
        self.children.append(line)

        class myb(gui.button):
            def click_down_over(s, *args):
                print "debugging game"
                s = assets.DebugScript()
                s.debug_game("current", "run")
                print "finished"

        line.children.append(myb(None, "Debug current script"))

        line = gui.pane([0, 70], [sw, 20])
        line.align = "horiz"
        self.children.append(line)

        class myb(gui.button):
            def click_down_over(s, *args):
                print "debugging game"
                s = assets.DebugScript()
                s.debug_game("all", "run")
                print "finished"

        line.children.append(myb(None, "Debug entire game (slow)"))

        line = gui.pane([0, 90], [sw, 20])
        line.align = "horiz"
        self.children.append(line)

        class myb(gui.button):
            def click_down_over(s, *args):
                print "debugging game"
                s = assets.DebugScript()
                s.debug_game("all", "quote")
                print "finished"

        line.children.append(myb(None, "Find quote errors"))

        line = gui.pane([0, 110], [sw, 20])
        line.align = "horiz"
        self.children.append(line)

        class newr(gui.radiobutton):
            def click_down_over(s, *args):
                gui.radiobutton.click_down_over(s, *args)
                assets.game_speed = int(s.text)

        line.children.append(gui.label("Game speed"))
        line.children.append(newr("1", "gamespeed"))
        line.children.append(newr("2", "gamespeed"))
        line.children.append(newr("6", "gamespeed"))
        for t in line.children:
            if t.text == str(assets.game_speed):
                t.checked = True