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)
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"))
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)
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)
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
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