Example #1
0
    def execute(self):
        if as64core.fade_status in (as64core.FADEOUT_COMPLETE, as64core.FADEOUT_PARTIAL):
            return self.signals["FADEOUT"]
        else:
            if as64core.split_index() > 0:
                prev_split_star = as64core.route.splits[as64core.split_index()-1].star_count
            else:
                prev_split_star = as64core.route.initial_star

            if as64core.prediction_info.prediction == as64core.star_count and as64core.prediction_info.probability > config.get("thresholds", "probability_threshold"):
                as64core.enable_fade_count(True)
                as64core.enable_xcam_count(True)
                return self.signals["START"]
            elif self._star_skip_enabled and prev_split_star <= as64core.prediction_info.prediction <= as64core.current_split().star_count and as64core.prediction_info.probability > config.get("thresholds", "probability_threshold"):
                if as64core.prediction_info.prediction == self._prev_prediction:
                    self._jump_predictions += 1
                else:
                    self._jump_predictions = 0

                if self._jump_predictions >= 4:
                    as64core.enable_fade_count(True)
                    as64core.enable_xcam_count(True)
                    as64core.set_star_count(as64core.prediction_info.prediction)
                    self._jump_predictions = 0
                    self._prev_prediction = -1
                    return self.signals["START"]

                self._prev_prediction = as64core.prediction_info.prediction

        return self.signals["LOOP"]
Example #2
0
    def execute(self):
        region = as64core.get_region(as64core.FADEOUT_REGION)

        if as64core.fade_status in (as64core.FADEOUT_COMPLETE, as64core.FADEOUT_PARTIAL):
            return self.signals["FADEOUT"]
        else:
            if as64core.split_index() > 0:
                prev_split_star = as64core.route.splits[as64core.split_index() - 1].star_count
            else:
                prev_split_star = as64core.route.initial_star

            if as64core.prediction_info.prediction == as64core.star_count and as64core.prediction_info.probability > config.get(
                    "thresholds", "probability_threshold"):
                as64core.enable_fade_count(True)
                as64core.enable_xcam_count(True)
                as64core.set_in_game(True)
                return self.signals["COMPLETE"]
            elif self._star_skip_enabled and prev_split_star <= as64core.prediction_info.prediction <= as64core.current_split().star_count and as64core.prediction_info.probability > config.get(
                    "thresholds", "probability_threshold"):
                if as64core.prediction_info.prediction == self._prev_prediction:
                    self._jump_predictions += 1
                else:
                    self._jump_predictions = 0

                if self._jump_predictions >= 4:
                    as64core.enable_fade_count(True)
                    as64core.enable_xcam_count(True)
                    as64core.set_star_count(as64core.prediction_info.prediction)
                    self._jump_predictions = 0
                    self._prev_prediction = -1
                    as64core.set_in_game(True)
                    return self.signals["COMPLETE"]

                self._prev_prediction = as64core.prediction_info.prediction

        if as64core.fadein_count == 2:
            region_int = region.astype(int)
            region_int_b, region_int_g, region_int_r = region_int.transpose(2, 0, 1)
            mask = (np.abs(region_int_r - region_int_g) > 25)

            region[mask] = [0, 0, 0]

            if np.any(region == [0, 0, 0]):
                try:
                    time.sleep(self._restart_split_delay)
                except ValueError:
                    pass
                as64core.fadein_count = 0
                as64core.fadeout_count = 0
                as64core.split()
                as64core.set_in_game(True)
                return self.signals["COMPLETE"]

        return self.signals["LOOP"]
Example #3
0
    def _reset(self):
        if not config.get("general", "srl_mode"):
            if as64core.current_time - as64core.last_split < self._undo_threshold:
                as64core.undo()

            as64core.reset()
            if as64core.start_on_reset:
                as64core.split()

        as64core.enable_fade_count(False)
        as64core.enable_xcam_count(False)
        as64core.set_in_game(False)
        as64core.star_count = as64core.route.initial_star
Example #4
0
    def on_transition(self):
        as64core.enable_fade_count(False)
        as64core.fps = 6

        super().on_transition()
Example #5
0
 def on_transition(self):
     super().on_transition()
     as64core.fps = 29.97
     as64core.enable_fade_count(True)