From d79750782d7cb756899ed230833b04a899f60c8c Mon Sep 17 00:00:00 2001 From: frank Date: Tue, 16 Jan 2024 11:03:16 -0800 Subject: [PATCH] update name entry for new controller, fix title prompt rotation --- config | 2 +- electric_sieve/ElectricSieve.py | 33 +++++++++++++++++---------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/config b/config index cc2963c..9d8b2c3 100644 --- a/config +++ b/config @@ -34,7 +34,7 @@ quit = K_ESCAPE advance = K_RETURN [joy] -advance = 8 +advance = 9 left = 4 right = 5 diff --git a/electric_sieve/ElectricSieve.py b/electric_sieve/ElectricSieve.py index e66f4fa..1d5e47c 100644 --- a/electric_sieve/ElectricSieve.py +++ b/electric_sieve/ElectricSieve.py @@ -249,7 +249,7 @@ class Title(GameChild): self.music = Sound(self.get_resource("audio", "title")) self.advance = Sound(self.get_resource("audio", "title-advance")) self.prompt_surface = pygame.image.load(self.get_configuration("display", "prompt-image")).convert_alpha() - self.prompt_surface = pygame.transform.smoothscale(self.prompt_surface, (440, 440 * 0.6666)) + self.prompt_surface = self.get_game().orient(pygame.transform.smoothscale(self.prompt_surface, (440, 440 * 0.6666))) self.subscribe(self.respond) def respond(self, event): @@ -306,8 +306,9 @@ class Title(GameChild): logo.clear_frames() elapsed = self.holding_button_elapsed / self.get_configuration("input", "title-hold") if elapsed: - logo.add_frame(self.get_game().orient(pygame.transform.scale( - self.prompt_surface, (max(0, 440 - int(elapsed * 440)), max(0, 440 * 0.6666 - int(elapsed * 440 * 0.6666)))))) + size = self.get_game().orient( + pygame.Rect(0, 0, max(0, 440 - int(elapsed * 440)), max(0, 440 * 0.6666 - int(elapsed * 440 * 0.6666)))) + logo.add_frame(pygame.transform.scale(self.prompt_surface, size.size)) else: logo.add_frame(self.prompt_surface) logo.location.center = self.get_display_surface().get_rect().center @@ -905,19 +906,20 @@ class Initials(GameChild): self.left_last_pressed = 0 self.button_prompt = BlinkingSprite(self, 500) font = pygame.font.Font(self.get_resource("terminus/Terminus.ttf"), 32) - self.button_prompt.add_frame(self.get_game().orient(font.render("HOLD RIGHT TO ENTER", True, pygame.Color(0, 0, 0), pygame.Color(255, 255, 255)))) + self.button_prompt.add_frame(self.get_game().orient( + font.render("PRESS START FOR NEXT LETTER", True, pygame.Color(0, 0, 0), pygame.Color(255, 255, 255)))) if not self.get_game().rotated: - self.button_prompt.location.midbottom = self.get_display_surface().get_rect().midbottom + self.button_prompt.location.midbottom = self.get_display_surface().get_rect().move(0, -200).midbottom else: - self.button_prompt.location.midright = self.get_display_surface().get_rect().midright + self.button_prompt.location.midright = self.get_display_surface().get_rect().move(-200, 0).midright self.reset() self.deactivate() self.font = Font(self.get_resource("display", "initials-font"), self.LETTER_SIZE) + self.text = "---" self.subscribe(self.respond) def reset(self): self.idle_time = 0 - self.text = "---" self.index = 0 self.holding_button = False self.holding_button_elapsed = 0 @@ -929,17 +931,16 @@ class Initials(GameChild): if self.active: self.idle_time = 0 compare = self.get_game().delegate.compare - if compare(event, "left", cancel=False): - self.left_last_pressed = pygame.time.get_ticks() - if compare(event, "right", cancel=False): + # if compare(event, "left", cancel=False): + # self.left_last_pressed = pygame.time.get_ticks() + if compare(event, "advance"): self.holding_button = True - elif compare(event, "right", cancel=True): - self.holding_button = False - self.holding_button_elapsed = 0 - if (compare(event, "right", cancel=True) and pygame.time.get_ticks() - self.left_last_pressed > 200) or compare(event, "left", cancel=True): - if compare(event, "left", cancel=True): + self.holding_button_elapsed = self.get_configuration("input", "initials-hold") + # if (compare(event, "right", cancel=True) and pygame.time.get_ticks() - self.left_last_pressed > 200) or compare(event, "left", cancel=True): + if compare(event, "left") or compare(event, "right"): + if compare(event, "left"): increment = -1 - elif compare(event, "right", cancel=True): + elif compare(event, "right"): increment = 1 letter = self.text[self.index] if letter == '-':