示例#1
0
    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]
示例#2
0
 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")
示例#3
0
 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
示例#4
0
    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]