def __update_res_opts(self): nx, ny = pf.get_native_resolution() arx, ary = pf.settings_get("pf.video.aspect_ratio") ar = arx / ary native_ar = float(nx) / ny if ar < native_ar: base = (ny * ar, ny) else: base = (nx, nx / ar) assert base[0] <= nx assert base[1] <= ny new_opts = [ base, (base[0]/1.5, base[1]/1.5), (base[0]/2, base[1]/2), ] res = pf.settings_get("pf.video.resolution") int_new_opts = [(int(o[0]), int(o[1])) for o in new_opts] if (int(res[0]), int(res[1])) not in int_new_opts: new_opts += [res] new_opts.sort(reverse=True) self.view.res_opts = new_opts self.view.res_opt_strings = ["{}:{}".format(int(opt[0]), int(opt[1])) for opt in new_opts]
def __init__(self): vresx, vresy = (1920, 1080) super(PerfStatsWindow, self).__init__( "Performance", (vresx / 2 - PerfStatsWindow.WIDTH / 2, vresy / 2 - PerfStatsWindow.HEIGHT / 2, PerfStatsWindow.WIDTH, PerfStatsWindow.HEIGHT), pf.NK_WINDOW_BORDER | pf.NK_WINDOW_MOVABLE | pf.NK_WINDOW_MINIMIZABLE | pf.NK_WINDOW_TITLE | pf.NK_WINDOW_CLOSABLE, (vresx, vresy)) self.tickindex = 0 self.ticksum_ms = 0 self.max_frame_latency = 0 self.frame_times_ms = [0] * 100 self.frame_perfstats = [{}] * 100 self.selected_perfstats = {} self.paused = False self.trace_python = pf.settings_get("pf.debug.trace_python") self.trace_gpu = pf.settings_get("pf.debug.trace_gpu")
def __load_selection(self): try: hb_saved = pf.settings_get("pf.game.healthbar_mode") if hb_saved == True: self.view.hb_idx = 0 else: self.view.hb_idx = 1 self.__og_hb_idx = self.view.hb_idx except Exception as e: print("Could not load settings:" + str(e)) raise
def __load_selection(self): err = None try: ar_saved = pf.settings_get("pf.video.aspect_ratio") ar_saved = tuple( (int(num)) for num in ar_saved ) gcd = fractions.gcd(*ar_saved) ar_saved = tuple( (num//gcd) for num in ar_saved ) for i, cand in enumerate(self.view.ar_opts): gcd = fractions.gcd(*cand) cand = tuple( (num//gcd) for num in cand ) if cand == ar_saved: self.view.ar_idx = i self.__og_ar_idx = i break except: err = lambda: sys.exc_info() if not err else err try: res_saved = pf.settings_get("pf.video.resolution") for i, cand in enumerate(self.view.res_opts): if cand == res_saved: self.view.res_idx = i self.__og_res_idx = i break except: err = lambda: sys.exc_info() if not err else err try: dm_saved = pf.settings_get("pf.video.display_mode") for i, cand in enumerate(self.view.mode_opts): if cand == dm_saved: self.view.mode_idx = i self.__og_mode_idx = i break except: err = lambda: sys.exc_info() if not err else err try: wat_saved = pf.settings_get("pf.video.window_always_on_top") self.view.win_on_top_idx = int(wat_saved == 0) self.__og_win_on_top_idx = int(wat_saved == 0) except: err = lambda: sys.exc_info() if not err else err try: vsync_saved = pf.settings_get("pf.video.vsync") self.view.vsync_idx = int(vsync_saved == 0) self.__og_vsync_idx = int(vsync_saved == 0) except: err = lambda: sys.exc_info() if not err else err try: shadows_saved = pf.settings_get("pf.video.shadows_enabled") self.view.shadows_idx = int(shadows_saved == 0) self.__og_shadows_idx = int(shadows_saved == 0) except: err = lambda: sys.exc_info() if not err else err try: water_reflect_saved = pf.settings_get("pf.video.water_reflection") self.view.water_reflect_idx = int(water_reflect_saved == 0) self.__og_water_reflect_idx = int(water_reflect_saved == 0) except: err = lambda: sys.exc_info() if not err else err if err: raise err[0], err[1], err[2]