X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;ds=sidebyside;f=tabakrolletjie%2Floader.py;h=7f012a0f0375ef525f16a265cbd17e7291ddaec5;hb=5cfb0b7b438b7cfe15c1e481883b3a95bf9c7c44;hp=d37120fde77ed23431090626bb97b08f5679d96f;hpb=ab39c18968fd4435bcf1bfcaf89ede5ad08e3f88;p=tabakrolletjie.git diff --git a/tabakrolletjie/loader.py b/tabakrolletjie/loader.py index d37120f..7f012a0 100644 --- a/tabakrolletjie/loader.py +++ b/tabakrolletjie/loader.py @@ -4,7 +4,11 @@ import json import os import pygame.image +import pygame.font import pygame.display +import pygame.mixer + +from .constants import DEBUG class Loader(object): @@ -18,7 +22,8 @@ class Loader(object): path = "/".join(parts) rel_path = os.path.join(*path.split("/")) abs_path = os.path.join(self._prefix, rel_path) - print abs_path + if DEBUG: + print abs_path return abs_path def open_file(self, *parts): @@ -40,6 +45,23 @@ class Loader(object): self._cache[fn] = img return img + def load_font(self, *parts, **kwargs): + """Return a pygame font of the given size""" + size = kwargs.get('size', 12) + fn = self.full_path("fonts", *parts) + font = pygame.font.Font(fn, size) + # Do we need to cache this? + return font + + def load_sound(self, *parts): + """Return a pygame sound""" + fn = self.full_path("sounds", *parts) + sound = self._cache.get(fn, None) + if not sound: + sound = pygame.mixer.Sound(fn) + self._cache[fn] = sound + return sound + _DATA_PREFIX = os.path.abspath( os.path.join(os.path.dirname(__file__), "..", "data"))