From 539e61c054fbb4c80bc9b3cdbe6ade717bf52fd7 Mon Sep 17 00:00:00 2001 From: Frank DeMarco Date: Tue, 21 Jul 2015 17:44:07 -0400 Subject: [PATCH] score box --- .gitmodules | 3 + SIL.txt | 97 +++ config | 1 + electric_sieve/ElectricSieve.py | 123 ++-- electric_sieve/pgfw/Animation.py | 134 ---- electric_sieve/pgfw/Audio.py | 92 --- electric_sieve/pgfw/Configuration.py | 442 ------------- electric_sieve/pgfw/Delegate.py | 87 --- electric_sieve/pgfw/Display.py | 81 --- electric_sieve/pgfw/Game.py | 74 --- electric_sieve/pgfw/GameChild.py | 85 --- electric_sieve/pgfw/Input.py | 204 ------ electric_sieve/pgfw/Interpolator.py | 733 --------------------- electric_sieve/pgfw/Mainloop.py | 108 --- electric_sieve/pgfw/Profile.py | 26 - electric_sieve/pgfw/ScreenGrabber.py | 41 -- electric_sieve/pgfw/Setup.py | 131 ---- electric_sieve/pgfw/SetupWin.py | 69 -- electric_sieve/pgfw/Sprite.py | 359 ---------- electric_sieve/pgfw/TimeFilter.py | 36 - electric_sieve/pgfw/Vector.py | 69 -- electric_sieve/pgfw/VideoRecorder.py | 71 -- {electric_sieve/pgfw => lib}/__init__.py | 0 lib/pgfw | 1 + resource/font/terminus/Terminus-Bold.ttf | Bin 0 -> 308732 bytes resource/font/terminus/Terminus-Italic.ttf | Bin 0 -> 297620 bytes resource/font/terminus/Terminus.ttf | Bin 0 -> 308056 bytes resource/high-scores | 28 +- 28 files changed, 180 insertions(+), 2915 deletions(-) create mode 100644 .gitmodules create mode 100644 SIL.txt delete mode 100644 electric_sieve/pgfw/Animation.py delete mode 100644 electric_sieve/pgfw/Audio.py delete mode 100644 electric_sieve/pgfw/Configuration.py delete mode 100644 electric_sieve/pgfw/Delegate.py delete mode 100644 electric_sieve/pgfw/Display.py delete mode 100644 electric_sieve/pgfw/Game.py delete mode 100644 electric_sieve/pgfw/GameChild.py delete mode 100644 electric_sieve/pgfw/Input.py delete mode 100644 electric_sieve/pgfw/Interpolator.py delete mode 100644 electric_sieve/pgfw/Mainloop.py delete mode 100644 electric_sieve/pgfw/Profile.py delete mode 100644 electric_sieve/pgfw/ScreenGrabber.py delete mode 100644 electric_sieve/pgfw/Setup.py delete mode 100644 electric_sieve/pgfw/SetupWin.py delete mode 100644 electric_sieve/pgfw/Sprite.py delete mode 100644 electric_sieve/pgfw/TimeFilter.py delete mode 100644 electric_sieve/pgfw/Vector.py delete mode 100644 electric_sieve/pgfw/VideoRecorder.py rename {electric_sieve/pgfw => lib}/__init__.py (100%) create mode 160000 lib/pgfw create mode 100644 resource/font/terminus/Terminus-Bold.ttf create mode 100644 resource/font/terminus/Terminus-Italic.ttf create mode 100644 resource/font/terminus/Terminus.ttf diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..66a83be --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lib/pgfw"] + path = lib/pgfw + url = makar:/var/www/git/pgfw diff --git a/SIL.txt b/SIL.txt new file mode 100644 index 0000000..c964194 --- /dev/null +++ b/SIL.txt @@ -0,0 +1,97 @@ +Copyright (c) 2010 Dimitar Toshkov Zhekov, +with Reserved Font Name "Terminus Font". + +Copyright (c) 2011 Tilman Blumenbach, +with Reserved Font Name "Terminus (TTF)". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/config b/config index 22b3144..9aca235 100644 --- a/config +++ b/config @@ -15,6 +15,7 @@ caption = Electric Sieve dimensions = 420, 700 score-font-path = font/Titan-One.ttf title-font-path = font/Oxygen.ttf +scoreboard-font-path = font/terminus/Terminus.ttf [mouse] visible = no diff --git a/electric_sieve/ElectricSieve.py b/electric_sieve/ElectricSieve.py index 01f4816..c11bebc 100644 --- a/electric_sieve/ElectricSieve.py +++ b/electric_sieve/ElectricSieve.py @@ -9,9 +9,10 @@ from pygame.font import Font from pygame.mixer import Sound from pygame.locals import * -from electric_sieve.pgfw.Game import Game -from electric_sieve.pgfw.GameChild import GameChild -from electric_sieve.pgfw.Sprite import Sprite +from lib.pgfw.pgfw.Game import Game +from lib.pgfw.pgfw.GameChild import GameChild +from lib.pgfw.pgfw.Sprite import Sprite +from lib.pgfw.pgfw.extension import render_box class ElectricSieve(Game): @@ -53,27 +54,27 @@ class Title(GameChild): for y in xrange(0, surface.get_height(), 2): for x in xrange(0, surface.get_width(), 2): surface.blit(tile, (x, y)) - font = Font(self.get_resource("display", "title-font-path"), 20) - font.set_italic(True) - font.set_bold(True) - self.captions = captions = Sprite(self), Sprite(self) - colors = (0, 68, 170), (255, 255, 255), (128, 128, 128), \ - (220, 119, 41), (255, 80, 80), (0, 90, 110) - texts = ["", ""] - for ii, text in \ - enumerate(self.get_configuration("display", - "caption").upper().split()): - texts[ii] += "•" * (5 if ii else 3) - for ch in text: - texts[ii] += ch + " " - texts[ii] = texts[ii].strip() + "•" * (5 if ii else 3) - for _ in xrange(25): - color = choice(colors) - captions[0].add_frame(font.render(texts[0], True, color, (220, 208, 255))) - captions[1].add_frame(font.render(texts[1], True, color, (220, 208, 255))) - cx = self.display_surface.get_rect().centerx - captions[0].location.center = cx, 301 - captions[1].location.center = cx, 398 + # font = Font(self.get_resource("display", "title-font-path"), 20) + # font.set_italic(True) + # font.set_bold(True) + # self.captions = captions = Sprite(self), Sprite(self) + # colors = (0, 68, 170), (255, 255, 255), (128, 128, 128), \ + # (220, 119, 41), (255, 80, 80), (0, 90, 110) + # texts = ["", ""] + # for ii, text in \ + # enumerate(self.get_configuration("display", + # "caption").upper().split()): + # texts[ii] += "•" * (5 if ii else 3) + # for ch in text: + # texts[ii] += ch + " " + # texts[ii] = texts[ii].strip() + "•" * (5 if ii else 3) + # for _ in xrange(25): + # color = choice(colors) + # captions[0].add_frame(font.render(texts[0], True, color, (220, 208, 255))) + # captions[1].add_frame(font.render(texts[1], True, color, (220, 208, 255))) + # cx = self.display_surface.get_rect().centerx + # captions[0].location.center = cx, 301 + # captions[1].location.center = cx, 398 self.scoreboard = Scoreboard(self) self.music = Sound(self.get_resource("audio", "title")) self.advance = Sound(self.get_resource("audio", "title-advance")) @@ -99,8 +100,8 @@ class Title(GameChild): def update(self): if self.active: self.display_surface.blit(self.background, (0, 0)) - for caption in self.captions: - caption.update() + # for caption in self.captions: + # caption.update() self.scoreboard.update() @@ -173,54 +174,70 @@ class Shift(GameChild): return self.nodeset.get_y(self.time) * self.direction -class Scoreboard(GameChild, Surface): +class Scoreboard(GameChild): + + + BACKGROUND = 255, 255, 255 + FOREGROUND = 27, 27, 27 + NEW = 27, 27, 27 + SPACING = 70 + MARGIN = 30 + BLINK_INTERVAL = 400 def __init__(self, parent): GameChild.__init__(self, parent) - Surface.__init__(self, (380, 80)) + ds = self.display_surface = self.get_display_surface() self.scores_path = self.get_resource("score", "path") - self.display_surface = self.get_display_surface() self.most_recent_score = None - self.fill((255, 255, 255)) - self.rect = self.get_rect() - self.rect.center = self.display_surface.get_rect().centerx, 350 self.load() def load(self): scores = [] for line in file(self.scores_path, "r"): fields = line.split() - scores.append((float(fields[0]), int(fields[1]))) + scores.append((float(fields[0]), int(fields[1]), fields[2])) self.sprites = sprites = [] - font_path = self.get_resource("display", "score-font-path") - y = 0 + font_path = self.get_resource("display", "scoreboard-font-path") + sizes = [14] * 5 for ii, score in enumerate(sorted(scores, key=lambda score: score[1], - reverse=True)[:3]): - font = Font(font_path, [40, 24, 16][ii]) - sprites.append(Sprite(self, 250)) - text = str(score[1]) - color = (0, 0, 0) if not (score[1] == self.most_recent_score) else \ - (255, 255, 255) - sprites[ii].add_frame(font.render(text, True, color, - (255, 255, 255))) + reverse=True)[:len(sizes)]): + font = Font(font_path, sizes[ii]) + sprites.append((Sprite(self, self.BLINK_INTERVAL), + Sprite(self, self.BLINK_INTERVAL))) + score_text = str(score[1]) + color = self.FOREGROUND if not (score[1] == self.most_recent_score) else \ + self.BACKGROUND + score_plate = font.render(score_text, False, color, self.BACKGROUND) + rect = score_plate.get_rect() + surface = Surface(rect.inflate((2, 2)).size) + surface.fill(self.FOREGROUND) + rect.center = surface.get_rect().center + surface.blit(score_plate, rect) + sprites[ii][1].add_frame(render_box(font, score_text, False, color, + self.BACKGROUND, self.FOREGROUND, 1, 2)) + sprites[ii][0].add_frame(render_box(font, score[2], False, color, + self.BACKGROUND, self.FOREGROUND, 1, 2)) if score[1] == self.most_recent_score: - sprites[ii].add_frame(font.render(text, True, (0, 255, 0), - (255, 255, 255))) - sprites[ii].location.midtop = self.rect.w / 2, y - y += sprites[ii].location.h - sprites[ii].display_surface = self + sprites[ii][1].add_frame(render_box(font, score_text, False, self.NEW, + self.BACKGROUND, self.FOREGROUND, 1, 2)) + sprites[ii][0].add_frame(render_box(font, score[2], False, self.NEW, + self.BACKGROUND, self.FOREGROUND, 1, 2)) + sprites[ii][0].location.left = self.MARGIN + sprites[ii][1].location.right = self.get_display_surface().get_rect().right - self.MARGIN + y = self.get_display_surface().get_rect().centery + self.SPACING * (ii - len(sizes) / 2) + for sprite in sprites[ii]: + sprite.location.centery = y def write(self): score = int(round(self.get_game().triangles.score)) - file(self.scores_path, "a").write(str(time()) + " " + str(score) + "\n") + file(self.scores_path, "a").write(str(time()) + " " + str(score) + " " + "SIV" + "\n") self.most_recent_score = score self.load() def update(self): - self.fill((255, 255, 255)) - for sprite in self.sprites: - sprite.update() - self.display_surface.blit(self, self.rect) + for pair in self.sprites: + for sprite in pair: + sprite.update() class Sieve(Strip): diff --git a/electric_sieve/pgfw/Animation.py b/electric_sieve/pgfw/Animation.py deleted file mode 100644 index bd21ebb..0000000 --- a/electric_sieve/pgfw/Animation.py +++ /dev/null @@ -1,134 +0,0 @@ -from GameChild import GameChild - -class Animation(GameChild): - - def __init__(self, parent, method=None, interval=None, unfiltered=False): - GameChild.__init__(self, parent) - self.unfiltered = unfiltered - self.default_method = method or self.build_frame - self.accounts = {} - self.register(self.default_method, interval=interval) - self.current_elapsed = 0 - self.last_update = 0 - - def build_frame(self): - pass - - def register(self, *args, **kwargs): - interval = None - if kwargs.has_key("interval"): - interval = kwargs["interval"] - for method in args: - if method not in self.accounts: - self.accounts[method] = Account(interval, self) - else: - self.accounts[method].set_interval(interval) - - def play(self, method=None, interval=None, delay=0, play_once=False, - **kwargs): - account = self.accounts[self.get_default(method)] - account.set_delay(delay) - account.set_args(kwargs) - account.set_play_once(play_once) - if interval: - account.set_interval(interval) - account.play() - - def get_default(self, method): - if not method: - method = self.default_method - return method - - def halt(self, method=None): - if not method: - for account in self.accounts.values(): - account.halt() - else: - if self.accounts.has_key(method): - self.accounts[method].halt() - - def is_playing(self, method=None, check_all=False, include_delay=False): - if check_all: - return any(self.is_account_playing(account, include_delay) for \ - method, account in self.accounts.iteritems()) - return self.is_account_playing(self.accounts[self.get_default(method)], - include_delay) - - def is_account_playing(self, account, include_delay): - return account.playing and (not include_delay or not account.delay) - - def update(self): - for method, account in self.accounts.iteritems(): - if account.update(): - method(**account.args) - - -class Account: - - def __init__(self, interval, animation): - self.animation = animation - self.time_filter = animation.get_game().time_filter - self.set_interval(interval) - self.set_delay(0) - self.set_play_once(False) - self.interval_index = 0 - self.last_frame = 0 - self.halt() - - def set_interval(self, interval): - if isinstance(interval, int) or isinstance(interval, str): - interval = [interval] - self.interval = interval - - def set_delay(self, delay): - self.delay = delay - - def set_play_once(self, play_once): - self.play_once = play_once - - def set_args(self, args): - self.args = args - - def play(self): - self.playing = True - - def halt(self): - self.last_update = None - self.playing = False - - def update(self): - if self.playing: - if self.animation.unfiltered: - ticks = self.time_filter.get_unfiltered_ticks() - else: - ticks = self.time_filter.get_ticks() - self.update_delay(ticks) - if not self.delay: - interval = self.interval - if interval: - if ticks - self.last_frame < self.get_current_interval(): - return False - self.last_frame = ticks - self.increment_interval_index() - if self.play_once: - self.halt() - return True - - def get_current_interval(self): - return self.interval[self.interval_index] - - def increment_interval_index(self): - index = self.interval_index + 1 - if index >= len(self.interval): - index = 0 - self.interval_index = index - - def update_delay(self, ticks): - delay = self.delay - if delay > 0: - last_update = self.last_update or ticks - delay -= ticks - last_update - if delay < 0: - delay = 0 - self.last_update = ticks - self.delay = delay diff --git a/electric_sieve/pgfw/Audio.py b/electric_sieve/pgfw/Audio.py deleted file mode 100644 index 2c230e9..0000000 --- a/electric_sieve/pgfw/Audio.py +++ /dev/null @@ -1,92 +0,0 @@ -from os import listdir -from os.path import join - -from pygame.mixer import Channel, Sound, music, find_channel - -from GameChild import * -from Input import * - -class Audio(GameChild): - - current_channel = None - paused = False - muted = False - - def __init__(self, game): - GameChild.__init__(self, game) - self.delegate = self.get_delegate() - self.load_fx() - self.subscribe(self.respond) - - def load_fx(self): - fx = {} - if self.get_configuration().has_option("audio", "sfx-path"): - root = self.get_resource("audio", "sfx-path") - if root: - for name in listdir(root): - fx[name.split(".")[0]] = Sound(join(root, name)) - self.fx = fx - - def respond(self, event): - if self.delegate.compare(event, "mute"): - self.mute() - - def mute(self): - self.muted = True - self.set_volume() - - def unmute(self): - self.muted = False - self.set_volume() - - def set_volume(self): - volume = int(not self.muted) - music.set_volume(volume) - if self.current_channel: - self.current_channel.set_volume(volume) - - def play_bgm(self, path, stream=False): - self.stop_current_channel() - if stream: - music.load(path) - music.play(-1) - else: - self.current_channel = Sound(path).play(-1) - self.set_volume() - - def stop_current_channel(self): - music.stop() - if self.current_channel: - self.current_channel.stop() - self.current_channel = None - self.paused = False - - def play_fx(self, name, panning=.5): - if not self.muted: - channel = find_channel(True) - if panning != .5: - offset = 1 - abs(panning - .5) * 2 - if panning < .5: - channel.set_volume(1, offset) - else: - channel.set_volume(offset, 1) - channel.play(self.fx[name]) - - def pause(self): - channel = self.current_channel - paused = self.paused - if paused: - music.unpause() - if channel: - channel.unpause() - else: - music.pause() - if channel: - channel.pause() - self.paused = not paused - - def is_bgm_playing(self): - current = self.current_channel - if current and current.get_sound(): - return True - return music.get_busy() diff --git a/electric_sieve/pgfw/Configuration.py b/electric_sieve/pgfw/Configuration.py deleted file mode 100644 index 7e00a3b..0000000 --- a/electric_sieve/pgfw/Configuration.py +++ /dev/null @@ -1,442 +0,0 @@ -from os import sep, getcwd -from os.path import join, exists, basename, dirname, expanduser -from sys import argv -from re import match -from pprint import pformat - -from ConfigParser import RawConfigParser - -class Configuration(RawConfigParser): - - default_project_file_rel_path = "config" - default_resource_paths = [".", "resource"] - - def __init__(self, project_file_rel_path=None, resource_path=None, - type_declarations=None): - RawConfigParser.__init__(self) - self.project_file_rel_path = project_file_rel_path - self.resource_path = resource_path - self.modifiable = {} - self.order = [] - self.set_type_declarations(type_declarations) - self.set_defaults() - self.read_project_config_file() - self.modify_defaults() - self.print_debug(self) - - def set_type_declarations(self, type_declarations): - if type_declarations is None: - type_declarations = TypeDeclarations() - self.type_declarations = type_declarations - - def translate_path(self, path): - new = "" - if path and path[0] == sep: - new += sep - return expanduser("{0}{1}".format(new, join(*path.split(sep)))) - - def set_defaults(self): - add_section = self.add_section - set_option = self.set - section = "setup" - add_section(section) - set_option(section, "package-root", basename(getcwd()), False) - set_option(section, "additional-packages", "", False) - set_option(section, "title", "", False) - set_option(section, "classifiers", "", False) - set_option(section, "resource-search-path", "./, resource/", False) - set_option(section, "installation-dir", "/usr/local/share/games/", - False) - set_option(section, "changelog", "changelog", False) - set_option(section, "description-file", "", False) - set_option(section, "init-script", "", False) - set_option(section, "version", "", False) - set_option(section, "summary", "", False) - set_option(section, "license", "", False) - set_option(section, "platforms", "", False) - set_option(section, "contact-name", "", False) - set_option(section, "contact-email", "", False) - set_option(section, "url", "", False) - set_option(section, "requirements", "", False) - set_option(section, "main-object", "pgfw/Game.py", False) - set_option(section, "resource-path-identifier", "resource_path", False) - set_option(section, "special-char-placeholder", "_", False) - set_option(section, "whitespace-placeholder", "-", False) - set_option(section, "windows-dist-path", "dist/win/", False) - set_option(section, "windows-icon-path", "", False) - set_option(section, "lowercase-boolean-true", "yes", False) - section = "display" - add_section(section) - set_option(section, "dimensions", "480, 360", False) - set_option(section, "frame-duration", "40", False) - set_option(section, "wait-duration", "2", False) - set_option(section, "caption", "", False) - set_option(section, "centered", "yes", False) - set_option(section, "icon-path", "", False) - set_option(section, "skip-frames", "no", False) - set_option(section, "fullscreen", "no", False) - set_option(section, "windowed-flag", "wi", False) - set_option(section, "show-framerate", "no", False) - set_option(section, "framerate-display-flag", "fr", False) - set_option(section, "framerate-text-size", "16", False) - set_option(section, "framerate-text-color", "0, 0, 0", False) - set_option(section, "framerate-text-background", "255, 255, 255", False) - section = "input" - add_section(section) - set_option(section, "release-suffix", "-release", False) - section = "sprite" - add_section(section) - set_option(section, "transparent-color", "magenta", False) - section = "screen-captures" - add_section(section) - set_option(section, "rel-path", "caps", False) - set_option(section, "file-name-format", "%Y%m%d%H%M%S", False) - set_option(section, "file-extension", "png", False) - section = "video-recordings" - add_section(section) - set_option(section, "rel-path", "vids", False) - set_option(section, "directory-name-format", "%Y%m%d%H%M%S", False) - set_option(section, "file-extension", "png", False) - set_option(section, "frame-format", "RGB", False) - set_option(section, "framerate", "100", False) - section = "mouse" - add_section(section) - set_option(section, "visible", "yes", False) - set_option(section, "double-click-time-limit", ".5", False) - section = "keys" - add_section(section) - set_option(section, "up", "K_UP, K_w", False) - set_option(section, "right", "K_RIGHT, K_d", False) - set_option(section, "down", "K_DOWN, K_s", False) - set_option(section, "left", "K_LEFT, K_a", False) - set_option(section, "capture-screen", "K_F9", False) - set_option(section, "toggle-fullscreen", "K_F11", False) - set_option(section, "reset-game", "K_F8", False) - set_option(section, "record-video", "K_F10", False) - set_option(section, "mute", "K_F12", False) - set_option(section, "toggle-interpolator", "K_F7", False) - section = "joy" - add_section(section) - set_option(section, "advance", "7", False) - set_option(section, "pause", "7", False) - set_option(section, "select", "6", False) - section = "event" - add_section(section) - set_option(section, "user-event-id", "USEREVENT", False) - set_option(section, "command-id-offset", "1", False) - set_option(section, "command-key", "command", False) - set_option(section, "cancel-flag-key", "cancel", False) - section = "audio" - add_section(section) - set_option(section, "sfx-path", "aud/fx/", False) - section = "interpolator-gui" - add_section(section) - set_option(section, "margin", "80", False) - set_option(section, "marker-color", "255, 0, 0", False) - set_option(section, "marker-size", "11", False) - set_option(section, "curve-color", "0, 255, 0", False) - set_option(section, "label-size", "16", False) - set_option(section, "label-precision", "2", False) - set_option(section, "axis-label-count", "8", False) - set_option(section, "prompt-size", "380, 60", False) - set_option(section, "prompt-border-color", "255, 0, 0", False) - set_option(section, "prompt-border-width", "3", False) - set_option(section, "prompt-character-limit", "21", False) - set_option(section, "prompt-text-size", "42", False) - set_option(section, "template-nodeset", "L 0 0, 1000 1", False) - set_option(section, "template-nodeset-name", "template", False) - set_option(section, "flat-y-range", "1", False) - - def add_section(self, name): - if name not in self.order: - self.order.append(name) - RawConfigParser.add_section(self, name) - - def set(self, section, option, value, modifiable=True): - if modifiable: - if section not in self.order: - self.order.append(section) - if section not in self.modifiable: - self.modifiable[section] = [] - if option not in self.modifiable[section]: - self.modifiable[section].append(option) - RawConfigParser.set(self, section, option, value) - - def read_project_config_file(self): - path = self.locate_project_config_file() - if path: - fp = open(path) - self.set_modifiable(fp) - fp.seek(0) - self.readfp(fp) - fp.seek(0) - self.set_order(fp) - fp.close() - else: - self.print_debug("No configuration file found") - - def locate_project_config_file(self): - rel_path = self.project_file_rel_path - if not rel_path: - rel_path = self.default_project_file_rel_path - if exists(rel_path) and not self.is_shared_mode(): - return rel_path - if self.resource_path: - installed_path = join(self.resource_path, rel_path) - if exists(installed_path): - return installed_path - - def set_order(self, fp): - self.order = order = [] - for line in file(self.locate_project_config_file()): - result = match("^\s*\[(.*)\]\s*$", line) - if result: - order.append(result.group(1)) - - def set_modifiable(self, fp): - config = RawConfigParser() - config.readfp(fp) - modifiable = self.modifiable - for section in config._sections: - if section not in modifiable: - modifiable[section] = [] - for option in config._sections[section]: - if option != "__name__" and option not in modifiable[section]: - modifiable[section].append(option) - - def is_shared_mode(self): - return "-s" in argv - - def print_debug(self, statement): - if self.is_debug_mode(): - print statement - - def is_debug_mode(self): - return "-d" in argv - - def modify_defaults(self): - self.set_installation_path() - self.set_resource_search_path() - self.set_screen_captures_path() - self.set_video_recordings_path() - self.set_data_exclusion_list() - self.set_requirements() - - def set_installation_path(self): - self.set("setup", "installation-path", - join(self.get("setup", "installation-dir"), - self.get("setup", "package-root")), False) - - def set_resource_search_path(self): - section, option = "setup", "resource-search-path" - search_path = self.get(section, option) - if self.resource_path: - search_path.append(self.resource_path) - else: - search_path.append(self.get("setup", "installation-path")) - self.set(section, option, search_path, False) - - def get(self, section, option): - value = RawConfigParser.get(self, section, option) - if value is None: - value = self.get_substitute(section, option) - return self.cast_value(section, option, value) - - def get_substitute(self, section, option): - if section == "display": - if option == "caption": - return self.get("setup", "title") - - def cast_value(self, section, option, value): - pair = section, option - types = self.type_declarations - if type(value) == str: - if pair in types["bool"]: - if value.lower() == self.get("setup", "lowercase-boolean-true"): - return True - return False - elif pair in types["int"]: - return int(value) - elif pair in types["float"]: - return float(value) - elif pair in types["path"]: - return self.translate_path(value) - elif pair in types["list"]: - if value == "": - return [] - else: - return map(str.strip, value.split(types.list_member_sep)) - elif pair in types["int-list"]: - return map(int, value.split(types.list_member_sep)) - elif pair in types["float-list"]: - return map(float, value.split(types.list_member_sep)) - return value - - def set_screen_captures_path(self): - section, option = "screen-captures", "path" - if not self.has_option(section, option): - self.set(section, option, join(self.build_home_path(), - self.get(section, "rel-path")), - False) - - def build_home_path(self): - return join("~", "." + self.get("setup", "package-root")) - - def set_video_recordings_path(self): - section, option = "video-recordings", "path" - if not self.has_option(section, option): - self.set(section, option, join(self.build_home_path(), - self.get(section, "rel-path")), - False) - - def set_data_exclusion_list(self): - section, option = "setup", "data-exclude" - exclude = [] - if self.has_option(section, option): - exclude = self.get(section, option) - exclude += [".git", ".gitignore", "README", "build/", "dist/", - "setup.py", "MANIFEST", "PKG-INFO", - self.get("setup", "changelog"), - self.get("setup", "package-root")] - for location in self.get("setup", "additional-packages"): - exclude.append(location) - self.set(section, option, exclude, False) - - def set_requirements(self): - section, option = "setup", "requirements" - requirements = [] - if self.has_option(section, option): - requirements = self.get(section, option) - if "pygame" not in requirements: - requirements.append("pygame") - self.set(section, option, requirements, False) - - def get_section(self, section): - assignments = {} - for option in self.options(section): - assignments[option] = self.get(section, option) - return assignments - - def __repr__(self): - config = {} - for section in self.sections(): - config[section] = self.get_section(section) - return pformat(config, 2, 1) - - def items(self, section): - items = [] - for option in self.options(section): - items.append((option, self.get(section, option))) - return items - - def write(self, fp=None): - modifiable = self.modifiable - use_main = fp is None - if use_main: - path = self.locate_project_config_file() - if not path: - path = join(self.resource_path or "", - self.default_project_file_rel_path) - fp = open(path, "w") - break_line = False - for section in self.order: - if section in modifiable: - break_line and fp.write("\n") - fp.write("[%s]\n" % section) - for option in modifiable[section]: - if self.has_option(section, option): - value = self.get(section, option) - fp.write("%s = %s\n" % (option, - self.get_raw_value(value))) - break_line = True - if use_main: - fp.close() - - def get_raw_value(self, value): - if isinstance(value, list): - raw = "" - for ii, value in enumerate(value): - if ii: - raw += ", " - raw += str(value) - else: - raw = str(value) - return raw - - def clear_section(self, section): - if self.has_section(section): - for option in self.options(section): - self.remove_option(section, option) - - -class TypeDeclarations(dict): - - list_member_sep = ',' - - defaults = { - - "display": {"int": ["frame-duration", "wait-duration", - "framerate-text-size"], - - "bool": ["centered", "skip-frames", "fullscreen", - "show-framerate"], - - "int-list": ["dimensions", "framerate-text-color", - "framerate-text-background"]}, - - "screen-captures": {"path": ["rel-path", "path"]}, - - "video-recordings": {"path": ["rel-path", "path"], - - "int": "framerate"}, - - "setup": {"list": ["classifiers", "resource-search-path", - "requirements", "data-exclude", - "additional-packages"], - - "path": ["installation-dir", "changelog", "description-file", - "main-object", "icon-path", "windows-dist-path", - "package-root"]}, - - "mouse": {"float": "double-click-time-limit", - - "bool": "visible"}, - - "keys": {"list": ["up", "right", "down", "left"]}, - - "joy": {"int": ["advance", "pause", "select"]}, - - "audio": {"path": "sfx-path"}, - - "event": {"int": "command-id-offset"}, - - "interpolator-gui": {"int": ["margin", "marker-size", "label-size", - "axis-label-count", "label-precision", - "prompt-border-width", - "prompt-character-limit", - "prompt-text-size", "flat-y-range"], - - "int-list": ["marker-color", "curve-color", - "prompt-size", - "prompt-border-color"]}, - - } - - additional_defaults = {} - - def __init__(self): - dict.__init__(self, {"bool": [], "int": [], "float": [], "path": [], - "list": [], "int-list": [], "float-list": []}) - self.add_chart(self.defaults) - self.add_chart(self.additional_defaults) - - def add(self, cast, section, option): - self[cast].append((section, option)) - - def add_chart(self, chart): - for section, declarations in chart.iteritems(): - for cast, options in declarations.iteritems(): - if type(options) != list: - options = [options] - for option in options: - self.add(cast, section, option) diff --git a/electric_sieve/pgfw/Delegate.py b/electric_sieve/pgfw/Delegate.py deleted file mode 100644 index ce62c1b..0000000 --- a/electric_sieve/pgfw/Delegate.py +++ /dev/null @@ -1,87 +0,0 @@ -from pygame.event import get, pump, Event, post -from pygame.locals import * - -from GameChild import GameChild -from Input import Input - -class Delegate(GameChild): - - def __init__(self, game): - GameChild.__init__(self, game) - self.subscribers = dict() - self.load_configuration() - self.disable() - - def load_configuration(self): - config = self.get_configuration("event") - self.cancel_flag_key = config["cancel-flag-key"] - self.command_key = config["command-key"] - self.command_event_id = config["command-id-offset"] + \ - globals()[config["user-event-id"]] - - def disable(self): - self.enabled = False - - def enable(self): - self.enabled = True - self.interpolator = self.get_game().interpolator - - def dispatch(self): - if self.enabled: - subscribers = self.subscribers - for evt in get(): - kind = evt.type - if kind in subscribers: - for subscriber in subscribers[kind]: - if not self.interpolator.is_gui_active() or \ - hasattr(subscriber, "im_class") and \ - (subscriber.im_class == Input or \ - subscriber.im_class == \ - self.interpolator.gui.__class__): - self.print_debug("Passing %s to %s" % (evt, - subscriber)) - subscriber(evt) - else: - pump() - - def add_subscriber(self, callback, kind=None): - self.print_debug("Subscribing %s to %s" % (callback, kind)) - if kind is None: - kind = self.command_event_id - subscribers = self.subscribers - if kind not in subscribers: - subscribers[kind] = list() - subscribers[kind].append(callback) - - def is_command(self, event): - return event.type == self.command_event_id - - def remove_subscriber(self, callback, kind=None): - if kind is None: - kind = self.command_event_id - self.subscribers[kind].remove(callback) - - def compare(self, evt, commands=None, cancel=False, **attributes): - if evt.type == self.command_event_id: - self.add_cancel_flag_to_attributes(attributes, cancel) - if commands is not None and not isinstance(commands, list): - commands = [commands] - if commands is not None: - if not self.command_in_list(evt, commands): - return False - return all(key in evt.dict and evt.dict[key] == value for \ - key, value in attributes.iteritems()) - - def add_cancel_flag_to_attributes(self, attributes, cancel): - attributes[self.cancel_flag_key] = cancel - - def command_in_list(self, evt, commands): - return self.get_command_attribute(evt) in commands - - def get_command_attribute(self, evt): - return evt.dict[self.command_key] - - def post(self, command=None, cancel=False, **attributes): - attributes[self.command_key] = command - self.add_cancel_flag_to_attributes(attributes, cancel) - post(Event(self.command_event_id, attributes)) diff --git a/electric_sieve/pgfw/Display.py b/electric_sieve/pgfw/Display.py deleted file mode 100644 index c9e4b52..0000000 --- a/electric_sieve/pgfw/Display.py +++ /dev/null @@ -1,81 +0,0 @@ -from os import environ - -from pygame import display, image, mouse -from pygame.locals import * - -from GameChild import * - -class Display(GameChild): - - def __init__(self, game): - GameChild.__init__(self, game) - self.delegate = self.get_delegate() - self.load_configuration() - self.align_window() - self.init_screen() - self.set_caption() - self.set_icon() - self.set_mouse_visibility() - self.subscribe(self.toggle_fullscreen) - - def load_configuration(self): - config = self.get_configuration("display") - self.centered = config["centered"] - self.fullscreen_enabled = config["fullscreen"] - self.caption = config["caption"] - self.windowed_flag = config["windowed-flag"] - self.icon_path = self.get_resource("display", "icon-path") - self.mouse_visibility = self.get_configuration("mouse", "visible") - - def align_window(self): - if self.centered: - environ["SDL_VIDEO_CENTERED"] = "1" - - def init_screen(self): - flags = 0 - if self.fullscreen_requested(): - flags = FULLSCREEN - self.set_screen(flags) - - def fullscreen_requested(self): - return not self.check_command_line(self.windowed_flag) and \ - self.fullscreen_enabled - - def set_screen(self, flags=0, dimensions=None): - self.dimensions_changed = dimensions is not None - if dimensions is None: - if display.get_surface(): - dimensions = display.get_surface().get_size() - else: - dimensions = self.get_configuration("display", "dimensions") - self.screen = display.set_mode(dimensions, flags) - if self.dimensions_changed: - interpolator = self.get_game().interpolator - if interpolator.gui_enabled: - interpolator.gui.rearrange() - - def set_caption(self): - display.set_caption(self.caption) - - def set_icon(self): - if self.icon_path: - print self.icon_path - display.set_icon(image.load(self.icon_path).convert_alpha()) - - def set_mouse_visibility(self, visibility=None): - if visibility is None: - visibility = self.mouse_visibility - return mouse.set_visible(visibility) - - def get_screen(self): - return self.screen - - def get_size(self): - return self.screen.get_size() - - def toggle_fullscreen(self, event): - if self.delegate.compare(event, "toggle-fullscreen"): - screen = self.screen - cpy = screen.convert() - self.set_screen(self.screen.get_flags() ^ FULLSCREEN) - screen.blit(cpy, (0, 0)) diff --git a/electric_sieve/pgfw/Game.py b/electric_sieve/pgfw/Game.py deleted file mode 100644 index 47d47f6..0000000 --- a/electric_sieve/pgfw/Game.py +++ /dev/null @@ -1,74 +0,0 @@ -import pygame -from pygame.locals import * - -from GameChild import GameChild -from Mainloop import Mainloop -from Audio import Audio -from Display import Display -from Configuration import Configuration -from Delegate import Delegate -from Input import Input -from ScreenGrabber import ScreenGrabber -from Profile import Profile -from VideoRecorder import VideoRecorder -from Interpolator import Interpolator -from TimeFilter import TimeFilter - -class Game(GameChild): - - resource_path = None - - def __init__(self, config_rel_path=None, type_declarations=None): - self.profile = Profile(self) - GameChild.__init__(self) - self.print_debug(pygame.version.ver) - self.config_rel_path = config_rel_path - self.type_declarations = type_declarations - self.set_configuration() - pygame.init() - self.set_children() - self.subscribe(self.end, QUIT) - self.subscribe(self.end) - self.delegate.enable() - - def set_configuration(self): - self.configuration = Configuration(self.config_rel_path, - self.resource_path, - self.type_declarations) - - def set_children(self): - self.time_filter = TimeFilter(self) - self.delegate = Delegate(self) - self.display = Display(self) - self.mainloop = Mainloop(self) - self.input = Input(self) - self.audio = Audio(self) - self.screen_grabber = ScreenGrabber(self) - self.video_recorder = VideoRecorder(self) - self.interpolator = Interpolator(self) - - def frame(self): - self.time_filter.update() - self.delegate.dispatch() - if not self.interpolator.is_gui_active(): - self.update() - else: - self.interpolator.gui.update() - self.video_recorder.update() - - def run(self): - self.mainloop.run() - - def update(self): - pass - - def blit(self, source, destination, area=None, special_flags=0): - self.get_screen().blit(source, destination, area, special_flags) - - def get_rect(self): - return self.get_screen().get_rect() - - def end(self, evt): - if evt.type == QUIT or self.delegate.compare(evt, "quit"): - self.mainloop.stop() - self.profile.end() diff --git a/electric_sieve/pgfw/GameChild.py b/electric_sieve/pgfw/GameChild.py deleted file mode 100644 index 8808dce..0000000 --- a/electric_sieve/pgfw/GameChild.py +++ /dev/null @@ -1,85 +0,0 @@ -from os.path import exists, join, basename, normpath, abspath -from sys import argv - -from pygame import mixer, event, time -from pygame.locals import * - -import Game - -class GameChild: - - def __init__(self, parent=None): - self.parent = parent - self.game = self.get_game() - - def get_game(self): - current = self - while not isinstance(current, Game.Game): - current = current.parent - return current - - def get_configuration(self, section=None, option=None): - config = self.game.configuration - if option and section: - return config.get(section, option) - if section: - return config.get_section(section) - return config - - def get_input(self): - return self.game.input - - def get_screen(self): - return self.game.display.get_screen() - - def get_display_surface(self): - current = self - attribute = "display_surface" - while not isinstance(current, Game.Game): - if hasattr(current, attribute): - return getattr(current, attribute) - current = current.parent - return current.display.get_screen() - - def get_audio(self): - return self.game.audio - - def get_delegate(self): - return self.game.delegate - - def get_resource(self, path_or_section, option=None): - config = self.get_configuration() - rel_path = path_or_section - if option is not None: - rel_path = config.get(path_or_section, option) - if rel_path: - for root in config.get("setup", "resource-search-path"): - if self.is_shared_mode() and not self.is_absolute_path(root): - continue - path = join(root, rel_path) - if exists(path): - return path - self.print_debug("Couldn't find resource: {0} {1}".\ - format(path_or_section, option)) - - def is_shared_mode(self): - return self.check_command_line("s") - - def check_command_line(self, flag): - return "-" + flag in argv - - def print_debug(self, statement): - if self.is_debug_mode(): - print statement - - def is_debug_mode(self): - return self.check_command_line("d") - - def is_absolute_path(self, path): - return normpath(path) == abspath(path) - - def subscribe(self, callback, kind=None): - self.game.delegate.add_subscriber(callback, kind) - - def unsubscribe(self, callback, kind=None): - self.game.delegate.remove_subscriber(callback, kind) diff --git a/electric_sieve/pgfw/Input.py b/electric_sieve/pgfw/Input.py deleted file mode 100644 index 6f888bf..0000000 --- a/electric_sieve/pgfw/Input.py +++ /dev/null @@ -1,204 +0,0 @@ -from time import time as get_secs - -from pygame import joystick as joy -from pygame.key import get_pressed -from pygame.locals import * - -from GameChild import * - -class Input(GameChild): - - def __init__(self, game): - GameChild.__init__(self, game) - self.last_mouse_down_left = None - self.joystick = Joystick() - self.delegate = self.get_delegate() - self.load_configuration() - self.set_any_press_ignore_list() - self.unsuppress() - self.subscribe_to_events() - self.build_key_map() - self.build_joy_button_map() - - def load_configuration(self): - self.release_suffix = self.get_configuration("input", "release-suffix") - self.key_commands = self.get_configuration().items("keys") - self.double_click_time_limit = self.get_configuration( - "mouse", "double-click-time-limit") - - def set_any_press_ignore_list(self): - self.any_press_ignored = set(["capture-screen", "toggle-fullscreen", - "reset-game", "record-video", "quit", - "mute", "toggle-interpolator"]) - self.any_press_ignored_keys = set() - - def unsuppress(self): - self.suppressed = False - - def subscribe_to_events(self): - self.subscribe(self.translate_key, KEYDOWN) - self.subscribe(self.translate_key, KEYUP) - self.subscribe(self.translate_joy_button, JOYBUTTONDOWN) - self.subscribe(self.translate_joy_button, JOYBUTTONUP) - self.subscribe(self.translate_axis_motion, JOYAXISMOTION) - self.subscribe(self.translate_mouse_input, MOUSEBUTTONDOWN) - self.subscribe(self.translate_mouse_input, MOUSEBUTTONUP) - - def build_key_map(self): - key_map = {} - for command, keys in self.key_commands: - key_map[command] = [] - if type(keys) == str: - keys = [keys] - for key in keys: - key_map[command].append(globals()[key]) - self.key_map = key_map - - def build_joy_button_map(self): - self.joy_button_map = self.get_configuration("joy") - - def suppress(self): - self.suppressed = True - - def translate_key(self, event): - if not self.suppressed: - cancel = event.type == KEYUP - posted = None - key = event.key - for cmd, keys in self.key_map.iteritems(): - if key in keys: - self.post_command(cmd, cancel=cancel) - posted = cmd - if (not posted or posted not in self.any_press_ignored) and \ - key not in self.any_press_ignored_keys: - self.post_any_command(key, cancel) - - def post_command(self, cmd, **attributes): - self.delegate.post(cmd, **attributes) - - def post_any_command(self, id, cancel=False): - self.post_command("any", id=id, cancel=cancel) - - def translate_joy_button(self, event): - if not self.suppressed: - cancel = event.type == JOYBUTTONUP - posted = None - for command, button in self.joy_button_map.iteritems(): - if button == event.button: - self.post_command(command, cancel=cancel) - posted = command - if not posted or posted not in self.any_press_ignored: - self.post_any_command(event.button, cancel) - - def translate_axis_motion(self, event): - if not self.suppressed: - axis = event.axis - value = event.value - if not value: - for command in "up", "right", "down", "left": - self.post_command(command, cancel=True) - if command not in self.any_press_ignored: - self.post_any_command(command, True) - else: - if axis == 1: - if value < 0: - command = "up" - elif value > 0: - command = "down" - else: - if value > 0: - command = "right" - elif value < 0: - command = "left" - self.post_command(command) - if command not in self.any_press_ignored: - self.post_any_command(command) - - def is_command_active(self, command): - if not self.suppressed: - if self.is_key_pressed(command): - return True - joystick = self.joystick - joy_map = self.joy_button_map - if command in joy_map and joystick.get_button(joy_map[command]): - return True - if command == "up": - return joystick.is_direction_pressed(Joystick.up) - elif command == "right": - return joystick.is_direction_pressed(Joystick.right) - elif command == "down": - return joystick.is_direction_pressed(Joystick.down) - elif command == "left": - return joystick.is_direction_pressed(Joystick.left) - - def is_key_pressed(self, command): - poll = get_pressed() - for key in self.key_map[command]: - if poll[key]: - return True - - def translate_mouse_input(self, event): - button = event.button - pos = event.pos - post = self.post_command - if event.type == MOUSEBUTTONDOWN: - if button == 1: - last = self.last_mouse_down_left - if last: - limit = self.double_click_time_limit - if get_secs() - last < limit: - post("mouse-double-click-left", pos=pos) - last = get_secs() - self.last_mouse_down_left = last - - def get_axes(self): - axes = {} - for direction in "up", "right", "down", "left": - axes[direction] = self.is_command_active(direction) - return axes - - def register_any_press_ignore(self, *args, **attributes): - self.any_press_ignored.update(args) - self.any_press_ignored_keys.update(self.extract_keys(attributes)) - - def extract_keys(self, attributes): - keys = [] - if "keys" in attributes: - keys = attributes["keys"] - if type(keys) == int: - keys = [keys] - return keys - - def unregister_any_press_ignore(self, *args, **attributes): - self.any_press_ignored.difference_update(args) - self.any_press_ignored_keys.difference_update( - self.extract_keys(attributes)) - - -class Joystick: - - (up, right, down, left) = range(4) - - def __init__(self): - js = None - if joy.get_count() > 0: - js = joy.Joystick(0) - js.init() - self.js = js - - def is_direction_pressed(self, direction): - js = self.js - if not js or direction > 4: - return False - if direction == 0: - return js.get_axis(1) < 0 - elif direction == 1: - return js.get_axis(0) > 0 - elif direction == 2: - return js.get_axis(1) > 0 - elif direction == 3: - return js.get_axis(0) < 0 - - def get_button(self, id): - if self.js: - return self.js.get_button(id) diff --git a/electric_sieve/pgfw/Interpolator.py b/electric_sieve/pgfw/Interpolator.py deleted file mode 100644 index 8a578f1..0000000 --- a/electric_sieve/pgfw/Interpolator.py +++ /dev/null @@ -1,733 +0,0 @@ -from re import match -from os.path import join -from tempfile import gettempdir - -from pygame import Surface -from pygame.font import Font -from pygame.draw import aaline -from pygame.locals import * - -from GameChild import GameChild -from Sprite import Sprite -from Animation import Animation - -class Interpolator(list, GameChild): - - def __init__(self, parent): - GameChild.__init__(self, parent) - self.set_nodesets() - self.gui_enabled = self.check_command_line("-interpolator") - if self.gui_enabled: - self.gui = GUI(self) - - def set_nodesets(self): - config = self.get_configuration() - if config.has_section("interpolate"): - for name, value in config.get_section("interpolate").iteritems(): - self.add_nodeset(name, value) - - def add_nodeset(self, name, value, method=None): - self.append(Nodeset(name, value, method)) - return len(self) - 1 - - def is_gui_active(self): - return self.gui_enabled and self.gui.active - - def get_nodeset(self, name): - for nodeset in self: - if nodeset.name == name: - return nodeset - - def remove(self, outgoing): - for ii, nodeset in enumerate(self): - if nodeset.name == outgoing.name: - self.pop(ii) - break - - -class Nodeset(list): - - LINEAR, CUBIC = range(2) - - def __init__(self, name, nodes, method=None): - list.__init__(self, []) - self.name = name - if isinstance(nodes, str): - self.parse_raw(nodes) - else: - self.interpolation_method = method - self.parse_list(nodes) - self.set_splines() - - def parse_raw(self, raw): - raw = raw.strip() - if raw[0].upper() == "L": - self.set_interpolation_method(self.LINEAR, False) - else: - self.set_interpolation_method(self.CUBIC, False) - for node in raw[1:].strip().split(","): - self.add_node(map(float, node.strip().split()), False) - - def set_interpolation_method(self, method, refresh=True): - self.interpolation_method = method - if refresh: - self.set_splines() - - def add_node(self, coordinates, refresh=True): - x = coordinates[0] - inserted = False - index = 0 - for ii, node in enumerate(self): - if x < node.x: - self.insert(ii, Node(coordinates)) - inserted = True - index = ii - break - elif x == node.x: - return None - if not inserted: - self.append(Node(coordinates)) - index = len(self) - 1 - if refresh: - self.set_splines() - return index - - def parse_list(self, nodes): - for node in nodes: - self.add_node(node) - - def set_splines(self): - if self.interpolation_method == self.LINEAR: - self.set_linear_splines() - else: - self.set_cubic_splines() - - def set_linear_splines(self): - self.splines = splines = [] - for ii in xrange(len(self) - 1): - x1, y1, x2, y2 = self[ii] + self[ii + 1] - m = float(y2 - y1) / (x2 - x1) - splines.append(LinearSpline(x1, y1, m)) - - def set_cubic_splines(self): - n = len(self) - 1 - a = [node.y for node in self] - b = [None] * n - d = [None] * n - h = [self[ii + 1].x - self[ii].x for ii in xrange(n)] - alpha = [None] + [(3.0 / h[ii]) * (a[ii + 1] - a[ii]) - \ - (3.0 / h[ii - 1]) * (a[ii] - a[ii - 1]) \ - for ii in xrange(1, n)] - c = [None] * (n + 1) - l = [None] * (n + 1) - u = [None] * (n + 1) - z = [None] * (n + 1) - l[0] = 1 - u[0] = z[0] = 0 - for ii in xrange(1, n): - l[ii] = 2 * (self[ii + 1].x - self[ii - 1].x) - \ - h[ii - 1] * u[ii - 1] - u[ii] = h[ii] / l[ii] - z[ii] = (alpha[ii] - h[ii - 1] * z[ii - 1]) / l[ii] - l[n] = 1 - z[n] = c[n] = 0 - for jj in xrange(n - 1, -1, -1): - c[jj] = z[jj] - u[jj] * c[jj + 1] - b[jj] = (a[jj + 1] - a[jj]) / h[jj] - \ - (h[jj] * (c[jj + 1] + 2 * c[jj])) / 3 - d[jj] = (c[jj + 1] - c[jj]) / (3 * h[jj]) - self.splines = [CubicSpline(self[ii].x, a[ii], b[ii], c[ii], - d[ii]) for ii in xrange(n)] - - def get_y(self, t, loop=False, reverse=False, natural=False): - if loop or reverse: - if reverse and int(t) / int(self[-1].x) % 2: - t = self[-1].x - t - t %= self[-1].x - elif not natural: - if t < self[0].x: - t = self[0].x - elif t > self[-1].x: - t = self[-1].x - splines = self.splines - for ii in xrange(len(splines) - 1): - if t < splines[ii + 1].x: - return splines[ii].get_y(t) - return splines[-1].get_y(t) - - def remove(self, node, refresh=True): - list.remove(self, node) - if refresh: - self.set_splines() - - def resize(self, left, length, refresh=True): - old_left = self[0].x - old_length = self.get_length() - for node in self: - node.x = left + length * (node.x - old_left) / old_length - if refresh: - self.set_splines() - - def get_length(self): - return self[-1].x - self[0].x - - -class Node(list): - - def __init__(self, coordinates): - list.__init__(self, coordinates) - - def __getattr__(self, name): - if name == "x": - return self[0] - elif name == "y": - return self[1] - return list.__get__(self, name) - - def __setattr__(self, name, value): - if name == "x": - list.__setitem__(self, 0, value) - elif name == "y": - list.__setitem__(self, 1, value) - else: - list.__setattr__(self, name, value) - - -class Spline: - - def __init__(self, x): - self.x = x - - -class CubicSpline(Spline): - - def __init__(self, x, a, b, c, d): - Spline.__init__(self, x) - self.a = a - self.b = b - self.c = c - self.d = d - - def get_y(self, t): - x = self.x - return self.a + self.b * (t - x) + self.c * (t - x) ** 2 + self.d * \ - (t - x) ** 3 - - -class LinearSpline(Spline): - - def __init__(self, x, y, m): - Spline.__init__(self, x) - self.y = y - self.m = m - - def get_y(self, t): - return self.m * (t - self.x) + self.y - - -class GUI(Animation): - - B_DUPLICATE, B_WRITE, B_DELETE, B_LINEAR, B_CUBIC, B_SPLIT = range(6) - S_NONE, S_LEFT, S_RIGHT = range(3) - - def __init__(self, parent): - Animation.__init__(self, parent, unfiltered=True) - self.audio = self.get_audio() - self.display = self.get_game().display - self.display_surface = self.get_display_surface() - self.time_filter = self.get_game().time_filter - self.delegate = self.get_delegate() - self.split = self.S_NONE - self.success_indicator_active = True - self.success_indicator_blink_count = 0 - self.load_configuration() - self.font = Font(None, self.label_size) - self.prompt = Prompt(self) - self.set_temporary_file() - self.set_background() - self.set_success_indicator() - self.set_plot_rect() - self.set_marker_frame() - self.set_buttons() - self.active = False - self.set_nodeset_index() - self.set_y_range() - self.set_markers() - self.subscribe(self.respond_to_command) - self.subscribe(self.respond_to_mouse_down, MOUSEBUTTONDOWN) - self.subscribe(self.respond_to_key, KEYDOWN) - self.register(self.show_success_indicator, interval=100) - self.register(self.save_temporary_file, interval=10000) - self.play(self.save_temporary_file) - - def load_configuration(self): - config = self.get_configuration("interpolator-gui") - self.label_size = config["label-size"] - self.axis_label_count = config["axis-label-count"] - self.margin = config["margin"] - self.curve_color = config["curve-color"] - self.marker_size = config["marker-size"] - self.marker_color = config["marker-color"] - self.label_precision = config["label-precision"] - self.template_nodeset = config["template-nodeset"] - self.template_nodeset_name = config["template-nodeset-name"] - self.flat_y_range = config["flat-y-range"] - - def set_temporary_file(self): - self.temporary_file = open(join(gettempdir(), "pgfw-config"), "w") - - def set_background(self): - surface = Surface(self.display_surface.get_size()) - surface.fill((0, 0, 0)) - self.background = surface - - def set_success_indicator(self): - surface = Surface((10, 10)) - surface.fill((0, 255, 0)) - rect = surface.get_rect() - rect.topleft = self.display_surface.get_rect().topleft - self.success_indicator, self.success_indicator_rect = surface, rect - - def set_plot_rect(self): - margin = self.margin - self.plot_rect = self.display_surface.get_rect().inflate(-margin, - -margin) - - def set_marker_frame(self): - size = self.marker_size - surface = Surface((size, size)) - transparent_color = (255, 0, 255) - surface.fill(transparent_color) - surface.set_colorkey(transparent_color) - line_color = self.marker_color - aaline(surface, line_color, (0, 0), (size - 1, size - 1)) - aaline(surface, line_color, (0, size - 1), (size - 1, 0)) - self.marker_frame = surface - - def set_buttons(self): - self.buttons = buttons = [] - text = "Duplicate", "Write", "Delete", "Linear", "Cubic", "Split: No" - x = 0 - for instruction in text: - buttons.append(Button(self, instruction, x)) - x += buttons[-1].location.w + 10 - - def set_nodeset_index(self, increment=None, index=None): - parent = self.parent - if index is None: - if not increment: - index = 0 - else: - index = self.nodeset_index + increment - limit = len(parent) - 1 - if index > limit: - index = 0 - elif index < 0: - index = limit - self.nodeset_index = index - self.set_nodeset_label() - - def set_nodeset_label(self): - surface = self.font.render(self.get_nodeset().name, True, (0, 0, 0), - (255, 255, 255)) - rect = surface.get_rect() - rect.bottomright = self.display_surface.get_rect().bottomright - self.nodeset_label, self.nodeset_label_rect = surface, rect - - def get_nodeset(self): - if not len(self.parent): - self.parent.add_nodeset(self.template_nodeset_name, - self.template_nodeset) - self.set_nodeset_index(0) - return self.parent[self.nodeset_index] - - def set_y_range(self): - width = self.plot_rect.w - nodeset = self.get_nodeset() - self.y_range = y_range = [nodeset[0].y, nodeset[-1].y] - x = 0 - while x < width: - y = nodeset.get_y(self.get_function_coordinates(x)[0]) - if y < y_range[0]: - y_range[0] = y - elif y > y_range[1]: - y_range[1] = y - x += width * .01 - if y_range[1] - y_range[0] == 0: - y_range[1] += self.flat_y_range - if self.split: - self.adjust_for_split(y_range, nodeset) - self.set_axis_labels() - - def get_function_coordinates(self, xp=0, yp=0): - nodeset = self.get_nodeset() - x_min, x_max, (y_min, y_max) = nodeset[0].x, nodeset[-1].x, self.y_range - rect = self.plot_rect - x = float(xp) / (rect.right - rect.left) * (x_max - x_min) + x_min - y = float(yp) / (rect.bottom - rect.top) * (y_min - y_max) + y_max - return x, y - - def adjust_for_split(self, y_range, nodeset): - middle = nodeset[0].y if self.split == self.S_LEFT else nodeset[-1].y - below, above = middle - y_range[0], y_range[1] - middle - if below > above: - y_range[1] += below - above - else: - y_range[0] -= above - below - - def set_axis_labels(self): - self.axis_labels = labels = [] - nodeset, formatted, render, rect, yr = (self.get_nodeset(), - self.get_formatted_measure, - self.font.render, - self.plot_rect, self.y_range) - for ii, node in enumerate(nodeset[0::len(nodeset) - 1]): - xs = render(formatted(node.x), True, (0, 0, 0), (255, 255, 255)) - xsr = xs.get_rect() - xsr.top = rect.bottom - if not ii: - xsr.left = rect.left - else: - xsr.right = rect.right - ys = render(formatted(yr[ii]), True, (0, 0, 0), (255, 255, 255)) - ysr = ys.get_rect() - ysr.right = rect.left - if not ii: - ysr.bottom = rect.bottom - else: - ysr.top = rect.top - labels.append(((xs, xsr), (ys, ysr))) - - def get_formatted_measure(self, measure): - return "%s" % float(("%." + str(self.label_precision) + "g") % measure) - - def deactivate(self): - self.active = False - self.time_filter.open() - self.audio.muted = self.saved_mute_state - self.display.set_mouse_visibility(self.saved_mouse_state) - - def respond_to_command(self, event): - compare = self.delegate.compare - if compare(event, "toggle-interpolator"): - self.toggle() - elif self.active: - if compare(event, "reset-game"): - self.deactivate() - elif compare(event, "quit"): - self.get_game().end(event) - - def toggle(self): - if self.active: - self.deactivate() - else: - self.activate() - - def activate(self): - self.active = True - self.time_filter.close() - self.saved_mute_state = self.audio.muted - self.audio.mute() - self.draw() - self.saved_mouse_state = self.display.set_mouse_visibility(True) - - def respond_to_mouse_down(self, event): - redraw = False - if self.active and not self.prompt.active: - nodeset_rect = self.nodeset_label_rect - plot_rect = self.plot_rect - if event.button == 1: - pos = event.pos - if nodeset_rect.collidepoint(pos): - self.set_nodeset_index(1) - redraw = True - elif self.axis_labels[0][0][1].collidepoint(pos): - text = "{0} {1}".format(*map(self.get_formatted_measure, - self.get_nodeset()[0])) - self.prompt.activate(text, self.resize_nodeset, 0) - elif self.axis_labels[1][0][1].collidepoint(pos): - text = "{0} {1}".format(*map(self.get_formatted_measure, - self.get_nodeset()[-1])) - self.prompt.activate(text, self.resize_nodeset, -1) - else: - bi = self.collide_buttons(pos) - if bi is not None: - if bi == self.B_WRITE: - self.get_configuration().write() - self.play(self.show_success_indicator) - elif bi in (self.B_LINEAR, self.B_CUBIC): - nodeset = self.get_nodeset() - if bi == self.B_LINEAR: - nodeset.set_interpolation_method(Nodeset.LINEAR) - else: - nodeset.set_interpolation_method(Nodeset.CUBIC) - self.store_in_configuration() - redraw = True - elif bi == self.B_DUPLICATE: - self.prompt.activate("", self.add_nodeset) - elif bi == self.B_DELETE and len(self.parent) > 1: - self.parent.remove(self.get_nodeset()) - self.set_nodeset_index(1) - self.store_in_configuration() - redraw = True - elif bi == self.B_SPLIT: - self.toggle_split() - redraw = True - elif plot_rect.collidepoint(pos) and \ - not self.collide_markers(pos): - xp, yp = pos[0] - plot_rect.left, pos[1] - plot_rect.top - self.get_nodeset().add_node( - self.get_function_coordinates(xp, yp)) - self.store_in_configuration() - redraw = True - elif event.button == 3: - pos = event.pos - if nodeset_rect.collidepoint(pos): - self.set_nodeset_index(-1) - redraw = True - elif plot_rect.collidepoint(pos): - marker = self.collide_markers(pos) - if marker: - self.get_nodeset().remove(marker.node) - self.store_in_configuration() - redraw = True - elif self.active and self.prompt.active and \ - not self.prompt.rect.collidepoint(event.pos): - self.prompt.deactivate() - redraw = True - if redraw: - self.set_y_range() - self.set_markers() - self.draw() - - def resize_nodeset(self, text, index): - result = match("^\s*(-{,1}\d*\.{,1}\d*)\s+(-{,1}\d*\.{,1}\d*)\s*$", - text) - if result: - try: - nodeset = self.get_nodeset() - x, y = map(float, result.group(1, 2)) - if (index == -1 and x > nodeset[0].x) or \ - (index == 0 and x < nodeset[-1].x): - nodeset[index].y = y - if index == -1: - nodeset.resize(nodeset[0].x, x - nodeset[0].x) - else: - nodeset.resize(x, nodeset[-1].x - x) - self.store_in_configuration() - self.set_y_range() - self.set_axis_labels() - self.set_markers() - self.draw() - return True - except ValueError: - return False - - def collide_buttons(self, pos): - for ii, button in enumerate(self.buttons): - if button.location.collidepoint(pos): - return ii - - def store_in_configuration(self): - config = self.get_configuration() - section = "interpolate" - config.clear_section(section) - for nodeset in self.parent: - code = "L" if nodeset.interpolation_method == Nodeset.LINEAR else \ - "C" - for ii, node in enumerate(nodeset): - if ii > 0: - code += "," - code += " {0} {1}".format(*map(self.get_formatted_measure, - node)) - if not config.has_section(section): - config.add_section(section) - config.set(section, nodeset.name, code) - - def toggle_split(self): - self.split += 1 - if self.split > self.S_RIGHT: - self.split = self.S_NONE - self.buttons[self.B_SPLIT].set_frame(["Split: No", "Split: L", - "Split: R"][self.split]) - - def add_nodeset(self, name): - nodeset = self.get_nodeset() - self.set_nodeset_index(index=self.parent.add_nodeset(\ - name, nodeset, nodeset.interpolation_method)) - self.store_in_configuration() - self.draw() - return True - - def collide_markers(self, pos): - for marker in self.markers: - if marker.location.collidepoint(pos): - return marker - - def set_markers(self): - self.markers = markers = [] - for node in self.get_nodeset()[1:-1]: - markers.append(Marker(self, node)) - markers[-1].location.center = self.get_plot_coordinates(*node) - - def get_plot_coordinates(self, x=0, y=0): - nodeset = self.get_nodeset() - x_min, x_max, (y_min, y_max) = nodeset[0].x, nodeset[-1].x, self.y_range - x_ratio = float(x - x_min) / (x_max - x_min) - rect = self.plot_rect - xp = x_ratio * (rect.right - rect.left) + rect.left - y_ratio = float(y - y_min) / (y_max - y_min) - yp = rect.bottom - y_ratio * (rect.bottom - rect.top) - return xp, yp - - def draw(self): - display_surface = self.display_surface - display_surface.blit(self.background, (0, 0)) - display_surface.blit(self.nodeset_label, self.nodeset_label_rect) - self.draw_axes() - self.draw_function() - self.draw_markers() - self.draw_buttons() - - def draw_axes(self): - display_surface = self.display_surface - for xl, yl in self.axis_labels: - display_surface.blit(*xl) - display_surface.blit(*yl) - - def draw_function(self): - rect = self.plot_rect - surface = self.display_surface - nodeset = self.get_nodeset() - step = 1 - for x in xrange(rect.left, rect.right + step, step): - ii = x - rect.left - fx = nodeset.get_y(self.get_function_coordinates(ii)[0]) - y = self.get_plot_coordinates(y=fx)[1] - if ii > 0: - aaline(surface, self.curve_color, (x - step, last_y), (x, y)) - last_y = y - - def draw_markers(self): - for marker in self.markers: - marker.update() - - def draw_buttons(self): - for button in self.buttons: - button.update() - - def respond_to_key(self, event): - if self.prompt.active: - prompt = self.prompt - if event.key == K_RETURN: - if prompt.callback[0](prompt.text, *prompt.callback[1]): - prompt.deactivate() - elif event.key == K_BACKSPACE: - prompt.text = prompt.text[:-1] - prompt.update() - prompt.draw_text() - elif (event.unicode.isalnum() or event.unicode.isspace() or \ - event.unicode in (".", "-", "_")) and len(prompt.text) < \ - prompt.character_limit: - prompt.text += event.unicode - prompt.update() - prompt.draw_text() - - def show_success_indicator(self): - self.draw() - if self.success_indicator_blink_count > 1: - self.success_indicator_blink_count = 0 - self.halt(self.show_success_indicator) - else: - if self.success_indicator_active: - self.display_surface.blit(self.success_indicator, - self.success_indicator_rect) - if self.success_indicator_active: - self.success_indicator_blink_count += 1 - self.success_indicator_active = not self.success_indicator_active - - def save_temporary_file(self): - fp = self.temporary_file - fp.seek(0) - fp.truncate() - self.get_configuration().write(fp) - - def rearrange(self): - self.set_background() - self.set_success_indicator() - self.set_plot_rect() - self.set_markers() - self.set_nodeset_label() - self.set_axis_labels() - self.set_buttons() - self.prompt.reset() - -class Marker(Sprite): - - def __init__(self, parent, node): - Sprite.__init__(self, parent) - self.add_frame(parent.marker_frame) - self.node = node - - -class Button(Sprite): - - def __init__(self, parent, text, left): - Sprite.__init__(self, parent) - self.set_frame(text) - self.location.bottomleft = left, \ - self.get_display_surface().get_rect().bottom - - def set_frame(self, text): - self.clear_frames() - self.add_frame(self.parent.font.render(text, True, (0, 0, 0), - (255, 255, 255))) - - -class Prompt(Sprite): - - def __init__(self, parent): - Sprite.__init__(self, parent) - self.load_configuration() - self.font = Font(None, self.text_size) - self.reset() - self.deactivate() - - def deactivate(self): - self.active = False - - def load_configuration(self): - config = self.get_configuration("interpolator-gui") - self.size = config["prompt-size"] - self.border_color = config["prompt-border-color"] - self.border_width = config["prompt-border-width"] - self.character_limit = config["prompt-character-limit"] - self.text_size = config["prompt-text-size"] - - def reset(self): - self.set_frame() - self.place() - - def set_frame(self): - self.clear_frames() - surface = Surface(self.size) - self.add_frame(surface) - surface.fill(self.border_color) - width = self.border_width * 2 - surface.fill((0, 0, 0), surface.get_rect().inflate(-width, -width)) - - def place(self): - self.location.center = self.display_surface.get_rect().center - - def activate(self, text, callback, *args): - self.active = True - self.text = str(text) - self.callback = callback, args - self.update() - self.draw_text() - - def draw_text(self): - surface = self.font.render(self.text, True, (255, 255, 255), (0, 0, 0)) - rect = surface.get_rect() - rect.center = self.location.center - self.display_surface.blit(surface, rect) diff --git a/electric_sieve/pgfw/Mainloop.py b/electric_sieve/pgfw/Mainloop.py deleted file mode 100644 index 419a966..0000000 --- a/electric_sieve/pgfw/Mainloop.py +++ /dev/null @@ -1,108 +0,0 @@ -from pygame import display -from pygame.font import Font -from pygame.time import get_ticks, wait - -from GameChild import GameChild - -class Mainloop(GameChild): - - def __init__(self, parent): - GameChild.__init__(self, parent) - self.overflow = 0 - self.frame_count = 1 - self.actual_frame_duration = 0 - self.frames_this_second = 0 - self.last_framerate_display = 0 - self.load_configuration() - self.init_framerate_display() - self.last_ticks = get_ticks() - self.stopping = False - - def load_configuration(self): - config = self.get_configuration("display") - self.target_frame_duration = config["frame-duration"] - self.wait_duration = config["wait-duration"] - self.skip_frames = config["skip-frames"] - self.show_framerate = config["show-framerate"] - self.framerate_text_size = config["framerate-text-size"] - self.framerate_text_color = config["framerate-text-color"] - self.framerate_text_background = config["framerate-text-background"] - self.framerate_display_flag = config["framerate-display-flag"] - - def init_framerate_display(self): - if self.framerate_display_active(): - screen = self.get_screen() - self.last_framerate_count = 0 - self.framerate_topright = screen.get_rect().topright - self.display_surface = screen - self.font = Font(None, self.framerate_text_size) - self.font.set_bold(True) - self.render_framerate() - - def framerate_display_active(self): - return self.check_command_line(self.framerate_display_flag) or \ - self.show_framerate - - def render_framerate(self): - text = self.font.render(str(self.last_framerate_count), False, - self.framerate_text_color, - self.framerate_text_background) - rect = text.get_rect() - rect.topright = self.framerate_topright - self.framerate_text = text - self.framerate_text_rect = rect - - def run(self): - while not self.stopping: - self.advance_frame() - self.update_frame_duration() - self.update_overflow() - self.stopping = False - - def advance_frame(self): - refresh = False - while self.frame_count > 0: - refresh = True - self.parent.frame() - if self.framerate_display_active(): - self.update_framerate() - self.frame_count -= 1 - if not self.skip_frames: - break - if refresh: - display.update() - - def update_frame_duration(self): - last_ticks = self.last_ticks - actual_frame_duration = get_ticks() - last_ticks - last_ticks = get_ticks() - while actual_frame_duration < self.target_frame_duration: - wait(self.wait_duration) - actual_frame_duration += get_ticks() - last_ticks - last_ticks = get_ticks() - self.actual_frame_duration = actual_frame_duration - self.last_ticks = last_ticks - - def update_overflow(self): - self.frame_count = 1 - target_frame_duration = self.target_frame_duration - overflow = self.overflow - overflow += self.actual_frame_duration - target_frame_duration - while overflow > target_frame_duration: - self.frame_count += 1 - overflow -= target_frame_duration - overflow = self.overflow - - def update_framerate(self): - count = self.frames_this_second + 1 - if get_ticks() - self.last_framerate_display > 1000: - if count != self.last_framerate_count: - self.last_framerate_count = count - self.render_framerate() - self.last_framerate_display = get_ticks() - count = 0 - self.display_surface.blit(self.framerate_text, self.framerate_text_rect) - self.frames_this_second = count - - def stop(self): - self.stopping = True diff --git a/electric_sieve/pgfw/Profile.py b/electric_sieve/pgfw/Profile.py deleted file mode 100644 index 87a74d2..0000000 --- a/electric_sieve/pgfw/Profile.py +++ /dev/null @@ -1,26 +0,0 @@ -import cProfile -from time import strftime -from os import mkdir -from os.path import join, exists - -from GameChild import GameChild - -class Profile(cProfile.Profile, GameChild): - - def __init__(self, parent): - GameChild.__init__(self, parent) - cProfile.Profile.__init__(self) - if self.requested(): - self.enable() - - def requested(self): - return self.check_command_line("p") - - def end(self): - if self.requested(): - root = "stat/" - if not exists(root): - mkdir(root) - self.disable() - self.create_stats() - self.dump_stats(join(root, strftime("%Y%m%d-%H%M_%S.stat"))) diff --git a/electric_sieve/pgfw/ScreenGrabber.py b/electric_sieve/pgfw/ScreenGrabber.py deleted file mode 100644 index 2058683..0000000 --- a/electric_sieve/pgfw/ScreenGrabber.py +++ /dev/null @@ -1,41 +0,0 @@ -from os import makedirs -from os.path import exists, join -from sys import exc_info -from time import strftime - -from pygame import image - -from GameChild import * -from Input import * - -class ScreenGrabber(GameChild): - - def __init__(self, game): - GameChild.__init__(self, game) - self.delegate = self.get_delegate() - self.load_configuration() - self.subscribe(self.save_display) - - def load_configuration(self): - config = self.get_configuration("screen-captures") - self.save_path = config["path"] - self.file_name_format = config["file-name-format"] - self.file_extension = config["file-extension"] - - def save_display(self, event): - if self.delegate.compare(event, "capture-screen"): - directory = self.save_path - try: - if not exists(directory): - makedirs(directory) - name = self.build_name() - path = join(directory, name) - capture = image.save(self.get_screen(), path) - self.print_debug("Saved screen capture to %s" % (path)) - except: - self.print_debug("Couldn't save screen capture to %s, %s" %\ - (directory, exc_info()[1])) - - def build_name(self): - return "{0}.{1}".format(strftime(self.file_name_format), - self.file_extension) diff --git a/electric_sieve/pgfw/Setup.py b/electric_sieve/pgfw/Setup.py deleted file mode 100644 index 04cf753..0000000 --- a/electric_sieve/pgfw/Setup.py +++ /dev/null @@ -1,131 +0,0 @@ -from os import walk, remove -from os.path import sep, join, exists, normpath -from re import findall, sub -from distutils.core import setup -from distutils.command.install import install -from pprint import pprint -from fileinput import FileInput -from re import sub, match - -from Configuration import * - -class Setup: - - config = Configuration() - manifest_path = "MANIFEST" - - def __init__(self): - pass - - def remove_old_mainfest(self): - path = self.manifest_path - if exists(path): - remove(path) - - def build_package_list(self): - packages = [] - config = self.config.get_section("setup") - locations = [config["package-root"]] + config["additional-packages"] - for location in locations: - if exists(location): - for root, dirs, files in walk(location, followlinks=True): - packages.append(root.replace(sep, ".")) - return packages - - def build_data_map(self): - include = [] - config = self.config.get_section("setup") - exclude = map(normpath, config["data-exclude"]) - for root, dirs, files in walk("."): - dirs = self.remove_excluded(dirs, root, exclude) - files = [join(root, f) for f in self.remove_excluded(files, root, - exclude)] - if files: - include.append((normpath(join(config["installation-path"], - root)), files)) - return include - - def remove_excluded(self, paths, root, exclude): - removal = [] - for path in paths: - if normpath(join(root, path)) in exclude: - removal.append(path) - for path in removal: - paths.remove(path) - return paths - - def translate_title(self): - config = self.config.get_section("setup") - title = config["title"].replace(" ", config["whitespace-placeholder"]) - return sub("[^\w-]", config["special-char-placeholder"], title) - - def build_description(self): - description = "" - path = self.config.get("setup", "description-file") - if exists(path): - description = "\n%s\n%s\n%s" % (file(path).read(), - "Changelog\n=========", - self.translate_changelog()) - return description - - def translate_changelog(self): - translation = "" - path = self.config.get("setup", "changelog") - if exists(path): - lines = file(path).readlines() - package_name = lines[0].split()[0] - for line in lines: - line = line.strip() - if line.startswith(package_name): - version = findall("\((.*)\)", line)[0] - translation += "\n%s\n%s\n" % (version, "-" * len(version)) - elif line and not line.startswith("--"): - if line.startswith("*"): - translation += line + "\n" - else: - translation += " " + line + "\n" - return translation - - def setup(self, windows=[], options={}): - print "running setup..." - self.remove_old_mainfest() - config = self.config.get_section("setup") - scripts = [] - if config["init-script"]: - scripts.append(config["init-script"]) - setup(cmdclass={"install": insert_resource_path}, - name=self.translate_title(), - packages=self.build_package_list(), - scripts=scripts, - data_files=self.build_data_map(), - requires=config["requirements"], - version=config["version"], - description=config["summary"], - classifiers=config["classifiers"], - long_description=self.build_description(), - license=config["license"], - platforms=config["platforms"], - author=config["contact-name"], - author_email=config["contact-email"], - url=config["url"], - windows=windows, - options=options) - - -class insert_resource_path(install): - - def run(self): - install.run(self) - self.edit_game_object_file() - - def edit_game_object_file(self): - config = Configuration().get_section("setup") - for path in self.get_outputs(): - if path.endswith(config["main-object"]): - for line in FileInput(path, inplace=True): - pattern = "^ *{0} *=.*".\ - format(config["resource-path-identifier"]) - if match(pattern, line): - line = sub("=.*$", "= \"{0}\"".\ - format(config["installation-path"]), line) - print line.strip("\n") diff --git a/electric_sieve/pgfw/SetupWin.py b/electric_sieve/pgfw/SetupWin.py deleted file mode 100644 index 232322b..0000000 --- a/electric_sieve/pgfw/SetupWin.py +++ /dev/null @@ -1,69 +0,0 @@ -from os import makedirs, walk, sep, remove -from os.path import join, dirname, basename, exists -from shutil import rmtree, copy, rmtree -from itertools import chain -from zipfile import ZipFile - -import py2exe - -from Setup import Setup - -class SetupWin(Setup): - - def __init__(self): - Setup.__init__(self) - self.replace_isSystemDLL() - - def replace_isSystemDLL(self): - origIsSystemDLL = py2exe.build_exe.isSystemDLL - def isSystemDLL(pathname): - if basename(pathname).lower() in ("libogg-0.dll", "sdl_ttf.dll"): - return 0 - return origIsSystemDLL(pathname) - py2exe.build_exe.isSystemDLL = isSystemDLL - - def setup(self): - config = self.config.get_section("setup") - windows = [{}] - if config["init-script"]: - windows[0]["script"] = config["init-script"] - if config["windows-icon-path"]: - windows[0]["icon-resources"] = [(1, config["windows-icon-path"])] - Setup.setup(self, windows, - {"py2exe": {"packages": self.build_package_list(), - "dist_dir": config["windows-dist-path"]}}) - rmtree("build") - self.copy_data_files() - self.create_archive() - - def copy_data_files(self): - root = self.config.get("setup", "windows-dist-path") - for path in chain(*zip(*self.build_data_map())[1]): - dest = join(root, dirname(path)) - if not exists(dest): - makedirs(dest) - copy(path, dest) - self.include_readme(root) - - def include_readme(self, root): - name = "README" - if exists(name): - readme = open(name, "r") - reformatted = open(join(root, name + ".txt"), "w") - for line in open(name, "r"): - reformatted.write(line.rstrip() + "\r\n") - - def create_archive(self): - config = self.config.get_section("setup") - title = self.translate_title() + "-" + config["version"] + "-win" - archive_name = title + ".zip" - archive = ZipFile(archive_name, "w") - destination = config["windows-dist-path"] - for root, dirs, names in walk(destination): - for name in names: - path = join(root, name) - archive.write(path, path.replace(destination, title + sep)) - archive.close() - copy(archive_name, "dist") - remove(archive_name) - rmtree(destination) diff --git a/electric_sieve/pgfw/Sprite.py b/electric_sieve/pgfw/Sprite.py deleted file mode 100644 index 1df6bd1..0000000 --- a/electric_sieve/pgfw/Sprite.py +++ /dev/null @@ -1,359 +0,0 @@ -from os import listdir -from os.path import isfile, join -from sys import exc_info, stdout -from glob import glob -from traceback import print_exc, print_stack - -from pygame import Color, Rect, Surface -from pygame.image import load -from pygame.transform import flip -from pygame.locals import * - -from Animation import Animation -from Vector import Vector - -class Sprite(Animation): - - def __init__(self, parent, framerate=None): - Animation.__init__(self, parent, self.shift_frame, framerate) - self.frames = [] - self.mirrored = False - self.hidden = False - self.alpha = 255 - self.locations = [Location(self)] - self.framesets = [Frameset(self, framerate=framerate)] - self.set_frameset(0) - self.motion_overflow = Vector() - self.display_surface = self.get_display_surface() - - def __getattr__(self, name): - if name in ("location", "rect"): - return self.locations[0] - if hasattr(Animation, "__getattr__"): - return Animation.__getattr__(self, name) - raise AttributeError, name - - def set_frameset(self, identifier): - if isinstance(identifier, str): - for ii, frameset in enumerate(self.framesets): - if frameset.name == identifier: - identifier = ii - break - self.frameset_index = identifier - self.register_interval() - self.update_location_size() - if self.get_current_frameset().length() > 1: - self.play() - - def register_interval(self): - self.register(self.shift_frame, - interval=self.get_current_frameset().framerate) - - def get_current_frameset(self): - return self.framesets[self.frameset_index] - - def update_location_size(self): - size = self.get_current_frameset().rect.size - for location in self.locations: - location.size = size - location.fader.init_surface() - - def set_framerate(self, framerate): - self.get_current_frameset().set_framerate(framerate) - self.register_interval() - - def load_from_path(self, path, transparency=False, ppa=True, key=None, - extension=None, omit=False): - if isfile(path): - paths = [path] - else: - if extension: - paths = sorted(glob(join(path, "*." + extension))) - else: - paths = [join(path, name) for name in sorted(listdir(path))] - for path in paths: - img = load(path) - if transparency: - if ppa: - frame = img.convert_alpha() - else: - frame = self.fill_colorkey(img, key) - else: - frame = img.convert() - self.add_frame(frame, omit) - - def fill_colorkey(self, img, key=None): - if not key: - key = (255, 0, 255) - img = img.convert_alpha() - frame = Surface(img.get_size()) - frame.fill(key) - frame.set_colorkey(key) - frame.blit(img, (0, 0)) - return frame - - def add_frame(self, frame, omit=False): - self.frames.append(frame) - frame.set_alpha(self.alpha) - if not omit: - frameset = self.get_current_frameset() - frameset.add_index(self.frames.index(frame)) - self.update_location_size() - if frameset.length() > 1: - self.play() - - def shift_frame(self): - self.get_current_frameset().shift() - - def get_current_frame(self): - return self.frames[self.get_current_frameset().get_current_id()] - - def move(self, dx=0, dy=0): - for location in self.locations: - location.move_ip(dx, dy) - - def reset_motion_overflow(self): - for location in self.locations: - location.reset_motion_overflow() - - def collide(self, other): - if not isinstance(other, Rect): - other = other.rect - for location in self.locations: - if location.colliderect(other): - return location - - def mirror(self): - frames = self.frames - for ii, frame in enumerate(frames): - frames[ii] = flip(frame, True, False) - self.mirrored = not self.mirrored - - def clear_frames(self): - self.frames = [] - for frameset in self.framesets: - frameset.order = [] - frameset.reset() - frameset.measure_rect() - - def add_location(self, topleft=None, offset=(0, 0), count=1, base=0): - if topleft is not None: - for ii in xrange(count): - self.locations.append(Location( - self, Rect(topleft, self.locations[0].size))) - else: - base = self.locations[base] - current_offset = list(offset) - for ii in xrange(count): - self.locations.append(Location(self, - base.move(*current_offset))) - current_offset[0] += offset[0] - current_offset[1] += offset[1] - return self.locations[-1] - - def fade(self, length=0, out=None, index=None): - if index is None: - for location in self.locations: - location.fader.start(length, out) - else: - self.locations[index].fader.start(length, out) - - def set_alpha(self, alpha): - self.alpha = alpha - for frame in self.frames: - frame.set_alpha(alpha) - for location in self.locations: - location.fader.set_alpha() - - def add_frameset(self, order, framerate=None, name=None): - frameset = Frameset(self, order, framerate, name) - self.framesets.append(frameset) - return frameset - - def hide(self): - self.hidden = True - - def unhide(self): - self.hidden = False - - def remove_locations(self, location=None): - if location: - self.locations.remove(location) - else: - self.locations = self.locations[:1] - - def reverse(self, frameset=None): - if frameset: - frameset.reverse() - else: - for frameset in self.framesets: - frameset.reverse() - - def update(self, flags=0): - Animation.update(self) - self.draw(flags) - - def draw(self, flags=0): - for location in self.locations: - location.fader.draw(flags) - - -class Location(Rect): - - def __init__(self, sprite, rect=(0, 0, 0, 0)): - self.sprite = sprite - Rect.__init__(self, rect) - self.motion_overflow = Vector() - self.fader = Fader(self) - - def move_ip(self, dx, dy): - if isinstance(dx, float) or isinstance(dy, float): - excess = self.update_motion_overflow(dx, dy) - Rect.move_ip(self, int(dx) + excess[0], int(dy) + excess[1]) - else: - Rect.move_ip(self, dx, dy) - - def update_motion_overflow(self, dx, dy): - overflow = self.motion_overflow - overflow.move(dx - int(dx), dy - int(dy)) - excess = map(int, overflow) - overflow[0] -= int(overflow[0]) - overflow[1] -= int(overflow[1]) - return excess - - def reset_motion_overflow(self): - self.motion_overflow.place_at_origin() - - -class Fader(Surface): - - def __init__(self, location): - self.location = location - self.time_filter = location.sprite.get_game().time_filter - self.reset() - - def reset(self): - self.init_surface() - self.fade_remaining = None - - def init_surface(self): - Surface.__init__(self, self.location.size) - if self.location.sprite.frames: - background = Surface(self.get_size()) - sprite = self.location.sprite - key = sprite.get_current_frame().get_colorkey() or (255, 0, 255) - self.set_colorkey(key) - background.fill(key) - self.background = background - self.set_alpha() - - def set_alpha(self, alpha=None): - if alpha is None: - alpha = self.location.sprite.alpha - Surface.set_alpha(self, alpha) - - def start(self, length, out=None): - if self.fade_remaining <= 0: - alpha = self.get_alpha() - maximum = self.location.sprite.alpha - if out is None: - out = alpha == maximum - if out and alpha > 0 or not out and alpha < maximum: - self.fade_length = self.fade_remaining = length - self.start_time = self.time_filter.get_ticks() - self.fading_out = out - - def draw(self, flags): - sprite = self.location.sprite - if self.fade_remaining >= 0: - self.update_alpha() - self.clear() - frame = sprite.get_current_frame() - frame.set_alpha(255) - self.blit(frame, (0, 0)) - frame.set_alpha(sprite.alpha) - if not sprite.hidden: - self.blit_to_display(self, flags) - elif self.fade_remaining is None or self.get_alpha() >= sprite.alpha: - if self.fade_remaining >= 0: - self.update_alpha() - if not sprite.hidden: - self.blit_to_display(sprite.get_current_frame(), flags) - - def blit_to_display(self, frame, flags): - self.location.sprite.display_surface.blit(frame, self.location, None, - flags) - - def update_alpha(self): - remaining = self.fade_remaining = self.fade_length - \ - (self.time_filter.get_ticks() - self.start_time) - ratio = self.fade_length and float(remaining) / self.fade_length - if not self.fading_out: - ratio = 1 - ratio - maximum = self.location.sprite.alpha - alpha = int(ratio * maximum) - if alpha > maximum: - alpha = maximum - elif alpha < 0: - alpha = 0 - self.set_alpha(alpha) - - def clear(self): - self.blit(self.background, (0, 0)) - - -class Frameset(): - - def __init__(self, sprite, order=[], framerate=None, name=None): - self.sprite = sprite - self.name = name - self.reversed = False - self.order = [] - self.rect = Rect(0, 0, 0, 0) - self.add_index(order) - self.set_framerate(framerate) - self.reset() - - def add_index(self, order): - if isinstance(order, int): - order = [order] - self.order += order - self.measure_rect() - - def set_framerate(self, framerate): - self.framerate = framerate - - def reset(self): - self.current_index = 0 - - def get_current_id(self): - return self.order[self.current_index] - - def measure_rect(self): - max_width, max_height = 0, 0 - frames = self.sprite.frames - for index in self.order: - frame = frames[index] - width, height = frame.get_size() - max_width = max(width, max_width) - max_height = max(height, max_height) - self.rect.size = max_width, max_height - - def shift(self): - if len(self.order) > 1: - self.increment_index() - - def increment_index(self): - increment = 1 if not self.reversed else -1 - index = self.current_index + increment - if index < 0: - index = self.length() - 1 - elif index >= self.length(): - index = 0 - self.current_index = index - - def length(self): - return len(self.order) - - def reverse(self): - self.reversed = not self.reversed diff --git a/electric_sieve/pgfw/TimeFilter.py b/electric_sieve/pgfw/TimeFilter.py deleted file mode 100644 index e57e3c1..0000000 --- a/electric_sieve/pgfw/TimeFilter.py +++ /dev/null @@ -1,36 +0,0 @@ -from pygame.time import get_ticks - -from GameChild import GameChild - -class TimeFilter(GameChild): - - def __init__(self, parent): - GameChild.__init__(self, parent) - self.ticks = self.unfiltered_ticks = self.last_ticks = get_ticks() - self.open() - - def close(self): - self.closed = True - - def open(self): - self.closed = False - - def get_ticks(self): - return self.ticks - - def get_unfiltered_ticks(self): - return self.unfiltered_ticks - - def get_last_ticks(self): - return self.last_ticks - - def get_last_frame_duration(self): - return self.last_frame_duration - - def update(self): - ticks = get_ticks() - self.last_frame_duration = duration = ticks - self.last_ticks - if not self.closed: - self.ticks += duration - self.unfiltered_ticks += duration - self.last_ticks = ticks diff --git a/electric_sieve/pgfw/Vector.py b/electric_sieve/pgfw/Vector.py deleted file mode 100644 index 819e847..0000000 --- a/electric_sieve/pgfw/Vector.py +++ /dev/null @@ -1,69 +0,0 @@ -class Vector(list): - - def __init__(self, x=0, y=0): - list.__init__(self, (x, y)) - - def __getattr__(self, name): - if name == "x": - return self[0] - elif name == "y": - return self[1] - - def __setattr__(self, name, value): - if name == "x": - self[0] = value - elif name == "y": - self[1] = value - else: - list.__setattr__(self, name, value) - - def __add__(self, other): - return Vector(self.x + other[0], self.y + other[1]) - - __radd__ = __add__ - - def __iadd__(self, other): - self.x += other[0] - self.y += other[1] - return self - - def __sub__(self, other): - return Vector(self.x - other[0], self.y - other[1]) - - def __rsub__(self, other): - return Vector(other[0] - self.x, other[1] - self.y) - - def __isub__(self, other): - self.x -= other[0] - self.y -= other[1] - return self - - def __mul__(self, other): - return Vector(self.x * other, self.y * other) - - __rmul__ = __mul__ - - def __imul__(self, other): - self.x *= other - self.y *= other - return self - - def apply_to_components(self, function): - self.x = function(self.x) - self.y = function(self.y) - - def place(self, x=None, y=None): - if x is not None: - self.x = x - if y is not None: - self.y = y - - def move(self, dx=0, dy=0): - if dx: - self.x += dx - if dy: - self.y += dy - - def place_at_origin(self): - self.x = 0 - self.y = 0 diff --git a/electric_sieve/pgfw/VideoRecorder.py b/electric_sieve/pgfw/VideoRecorder.py deleted file mode 100644 index 2aba53c..0000000 --- a/electric_sieve/pgfw/VideoRecorder.py +++ /dev/null @@ -1,71 +0,0 @@ -from os import makedirs -from os.path import exists, join -from tempfile import TemporaryFile -from time import strftime - -from pygame.image import tostring, frombuffer, save -from pygame.time import get_ticks - -from GameChild import GameChild - -class VideoRecorder(GameChild): - - def __init__(self, parent): - GameChild.__init__(self, parent) - self.display_surface = self.get_display_surface() - self.delegate = self.get_delegate() - self.load_configuration() - self.reset() - self.subscribe(self.respond) - - def load_configuration(self): - config = self.get_configuration("video-recordings") - self.root = config["path"] - self.directory_name_format = config["directory-name-format"] - self.file_extension = config["file-extension"] - self.frame_format = config["frame-format"] - self.framerate = config["framerate"] - - def reset(self): - self.recording = False - self.frame_length = None - self.frames = None - self.last_frame = 0 - - def respond(self, event): - compare = self.delegate.compare - if compare(event, "record-video"): - self.toggle_record() - elif compare(event, "reset-game"): - self.reset() - - def toggle_record(self): - recording = not self.recording - if recording: - self.frame_length = len(self.get_string()) - self.frames = TemporaryFile() - else: - self.write_frames() - self.recording = recording - - def get_string(self): - return tostring(self.display_surface, self.frame_format) - - def write_frames(self): - root = join(self.root, strftime(self.directory_name_format)) - if not exists(root): - makedirs(root) - size = self.display_surface.get_size() - frames = self.frames - frames.seek(0) - for ii, frame in enumerate(iter(lambda: frames.read(self.frame_length), - "")): - path = join(root, "%04i.png" % ii) - save(frombuffer(frame, size, self.frame_format), path) - print "wrote video frames to " + root - - def update(self): - ticks = get_ticks() - if self.recording and ticks - self.last_frame >= self.framerate: - self.frames.write(self.get_string()) - self.last_frame = ticks diff --git a/electric_sieve/pgfw/__init__.py b/lib/__init__.py similarity index 100% rename from electric_sieve/pgfw/__init__.py rename to lib/__init__.py diff --git a/lib/pgfw b/lib/pgfw new file mode 160000 index 0000000..a0aba9a --- /dev/null +++ b/lib/pgfw @@ -0,0 +1 @@ +Subproject commit a0aba9a0bb527ec7f3d7269cdd522448560a99c3 diff --git a/resource/font/terminus/Terminus-Bold.ttf b/resource/font/terminus/Terminus-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..06700dedccafee66dd488c8f56a90b18dc71944d GIT binary patch literal 308732 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�^8t+R9z`fnuS%UQk>LC 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 G~U*EXQZ9L=0J%HrK0Ay!^61Dw)Fk^jTszyb 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

@0`|G_L3MIOC5n$^fb@Qm#_+t2*9Y@fnR^k?BH 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 G@c#kY9?%>B literal 0 HcmV?d00001 diff --git a/resource/font/terminus/Terminus.ttf b/resource/font/terminus/Terminus.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f4bb6b21d5e15cb4d78a223930e410ca30f4f284 GIT binary patch literal 308056 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

@= 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 literal 0 HcmV?d00001 diff --git a/resource/high-scores b/resource/high-scores index 09db111..c5c40c1 100644 --- a/resource/high-scores +++ b/resource/high-scores @@ -1,20 +1,8 @@ -1398631170.296798 200 -1398631170.296798 100 -1398631170.296798 40 -1398635621.7 158 -1398635792.99 154 -1398636058.07 180 -1398636195.37 232 -1398636310.09 131 -1398636404.1 120 -1398636488.41 165 -1398636581.89 173 -1398636667.8 186 -1398647055.97 78 -1398647195.17 187 -1398647939.59 155 -1398648230.57 88 -1436645313.22 196 -1436645428.32 246 -1436645528.27 193 -1437504178.89 165 +1398631170.296798 100 SIV +1398631170.296798 70 SIV +1398631170.296798 45 SIV +1398635621.7 25 SIV +1398635792.99 10 SIV +1437514837.26 206 SIV +1437514932.23 22 SIV +1437514988.25 88 SIV