Example #1
0
 def __init__(self, pos, dir):
     self.pos = pos
     self.size = (1, 1)
     self.type = 'MultiExtractor'
     self.dir = dir
     if dir == 'left':
         self.texture = media.loadtexture('leftextractor.png')
     if dir == 'right':
         self.texture = media.loadtexture('rightextractor.png')
     if dir == 'up':
         self.texture = media.loadtexture('upextractor.png')
     if dir == 'down':
         self.texture = media.loadtexture('downextractor.png')
     self.reset_timer()
Example #2
0
 def __init__(self, pos, dir):
     self.dir = dir
     self.pos = pos
     self.size = (1, 1)
     if dir == 'left':
         self.texture = media.loadtexture('leftconvey.png')
     if dir == 'right':
         self.texture = media.loadtexture('rightconvey.png')
     if dir == 'up':
         self.texture = media.loadtexture('upconvey.png')
     if dir == 'down':
         self.texture = media.loadtexture('downconvey.png')
     self.timer = 0.0
     self.time_limit = 0.5
     self.type = 'Conveyor'
Example #3
0
 def __init__(self, pos, dir, output=ItemA):
     self.pos = pos
     self.size = (1, 1)
     self.type = 'Extractor'
     self.dir = dir
     if dir == 'left':
         self.texture = media.loadtexture('leftextractor.png')
     if dir == 'right':
         self.texture = media.loadtexture('rightextractor.png')
     if dir == 'up':
         self.texture = media.loadtexture('upextractor.png')
     if dir == 'down':
         self.texture = media.loadtexture('downextractor.png')
     self.nextproduce = output
     self.reset_timer()
Example #4
0
 def __init__(self, f):
     global animations
     f = file(f)
     timing = [x.split() for x in f.readlines()]
     self.timing = [(media.loadtexture(x), float(y)) for x, y in timing]
     self.frame = 0
     self.time = 0.0
     animations.append(self)
Example #5
0
 def __init__(self, f):
     self.name = f
     f = file(f)
     lines = f.readlines()
     self.spritesheet = media.loadtexture(lines[0].strip())
     self.animlines = [(int(length), 1.0/float(timing)) for length, timing in
                       [line.split() for line in lines[1:]]]
     self.maxframes = max([length for length, timing in self.animlines])
     self.numstates = float(len(self.animlines))
     self.state = 0
     self.frame = 0.0
     self.time = 0.0
Example #6
0
def init (s = (20, 20), loadfrom = None):
    global pos, selected, selectedtexture, board, size, showpassable, moving, attacking, screensize, initialized
    initialized = True
    pos = [0, 0]
    selected = None
    selectedtexture = loadtexture("Border.png")
    board = array(*s)
    size = board.size
    clearmarks()
    showpassable = False
    moving = False
    attacking = False
    screensize = 10.0
    if loadfrom:
        load(loadfrom)
        return
    grass = loadtexture("grass.png")
    ocean = loadtexture("water.png")
    for x in xrange(size[0]):
        for y in xrange (size[1]):
            board[x, y] = tile(grass)
    setupdrawlists()
Example #7
0
def deserialize(obj):
    if not obj:
        return None
    if obj[0] == 'character':
        c = character(obj[1], obj[2])
        c.stats = obj[3]
        return c
    if obj[0] == 'tile':
        t = loadtexture(obj[1])
        tl = tile(t)
        tl.contents = deserialize(obj[2])
        tl.passable = obj[3]
        return tl
Example #8
0
 def __init__(self, pos, dir):
     self.dir = dir
     self.pos = pos
     self.size = (3, 3)
     if dir == 'left':
         self.texture = media.loadtexture('leftextractor.png')
         self.output = (pos[0] - 1, pos[1] + 1)
     if dir == 'right':
         self.texture = media.loadtexture('rightextractor.png')
         self.output = (pos[0] + 3, pos[1] + 1)
     if dir == 'up':
         self.texture = media.loadtexture('upextractor.png')
         self.output = (pos[0] + 1, pos[1] - 1)
     if dir == 'down':
         self.texture = media.loadtexture('downextractor.png')
         self.output = (pos[0] + 1, pos[1] + 3)
     self.type = 'Factory'
     self.lastinput = []
     self.materials = 0
     self.materialsneeded = 2
     self.running = False
     self.prodtime = 0.0
     self.runtime = 0.5
Example #9
0
 def __init__(self, f):
     self.name = f
     f = file(f)
     lines = f.readlines()
     self.spritesheet = media.loadtexture(lines[0].strip())
     self.animlines = [
         (int(length), 1.0 / float(timing))
         for length, timing in [line.split() for line in lines[1:]]
     ]
     self.maxframes = max([length for length, timing in self.animlines])
     self.numstates = float(len(self.animlines))
     self.state = 0
     self.frame = 0.0
     self.time = 0.0
Example #10
0
def makeeditwindow():
    global window
    gui.removeallwindows()
    terrains = []  #[(i[1], i[1][8:]) for i in media.dircontents('terrain')]
    terrainysize = len(terrains) * 0.035
    namespec = ['**brushname', 0.005, 0.005, 0.035]
    spec = [['@' + n[1].split('.')[0], 0.05, i * 0.035 + 0.055, 0.035]
            for i, n in enumerate(terrains)]
    charspec = [['@Add Char', 0.05, terrainysize + 0.065, 0.035],
                ['@Rem Char', 0.05, terrainysize + 0.100, 0.035],
                ['@Edit Char', 0.05, terrainysize + 0.135, 0.035],
                ['@Save map', 0.05, terrainysize + 0.170, 0.035]]
    funcs = [functor(setterrainbrush, loadtexture(n[0]), n[1].split('.')[0]) for n in terrains] + \
            [functor(setentitybrush, addchar, 'Add Char'), functor(setentitybrush, remchar, 'Rem Char'), seteditchar, savemap]
    window = gui.newwindow([0.25, terrainysize + 0.210, namespec] + spec +
                           charspec, es, (0.1, 0.1), funcs)
Example #11
0
    def draw(self):
        x, y = self.pos
        xsize, ysize = self.size
        bg = media.loadtexture("menu_bg.png")
        corner = media.loadtexture("menu_corner.png")
        vertborder = media.loadtexture("menu_side.png")
        horzborder = media.loadtexture("menu_topbot.png")
        buttonbg = media.loadtexture("menu_buttonbg.png")

        bg()
        glBegin(GL_QUADS)
        glColor4f(1.0, 1.0, 1.0, 1.0)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x, y, 5.0)
        glTexCoord2f(1.0, 0.0)
        glVertex3f(x + xsize, y, 5.0)
        glTexCoord2f(1.0, 1.0)
        glVertex3f(x + xsize, y + ysize, 5.0)
        glTexCoord2f(0.0, 1.0)
        glVertex3f(x, y + ysize, 5.0)
        glEnd()

        corner()
        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x - 0.01, y - 0.01, 5.0)
        glTexCoord2f(1.0, 0.0)
        glVertex3f(x, y - 0.01, 5.0)
        glTexCoord2f(1.0, 1.0)
        glVertex3f(x, y, 5.0)
        glTexCoord2f(0.0, 1.0)
        glVertex3f(x - 0.01, y, 5.0)
        glEnd()

        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x + xsize, y - 0.01, 5.0)
        glTexCoord2f(1.0, 0.0)
        glVertex3f(x + xsize + 0.01, y - 0.01, 5.0)
        glTexCoord2f(1.0, 1.0)
        glVertex3f(x + xsize + 0.01, y, 5.0)
        glTexCoord2f(0.0, 1.0)
        glVertex3f(x + xsize, y, 5.0)
        glEnd()

        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x - 0.01, y + ysize, 5.0)
        glTexCoord2f(1.0, 0.0)
        glVertex3f(x, y + ysize, 5.0)
        glTexCoord2f(1.0, 1.0)
        glVertex3f(x, y + ysize + 0.01, 5.0)
        glTexCoord2f(0.0, 1.0)
        glVertex3f(x - 0.01, y + ysize + 0.01, 5.0)
        glEnd()

        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x + xsize, y + ysize, 5.0)
        glTexCoord2f(1.0, 0.0)
        glVertex3f(x + xsize + 0.01, y + ysize, 5.0)
        glTexCoord2f(1.0, 1.0)
        glVertex3f(x + xsize + 0.01, y + ysize + 0.01, 5.0)
        glTexCoord2f(0.0, 1.0)
        glVertex3f(x + xsize, y + ysize + 0.01, 5.0)
        glEnd()

        horzborder()
        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x, y - 0.01, 5.0)
        glTexCoord2f(xsize / 0.05 * 2, 0.0)
        glVertex3f(x + xsize, y - 0.01, 5.0)
        glTexCoord2f(xsize / 0.05 * 2, 1.0)
        glVertex3f(x + xsize, y, 5.0)
        glTexCoord2f(0.0, 1.0)
        glVertex3f(x, y, 5.0)
        glEnd()

        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x, y + ysize, 5.0)
        glTexCoord2f(xsize / 0.05 * 2, 0.0)
        glVertex3f(x + xsize, y + ysize, 5.0)
        glTexCoord2f(xsize / 0.05 * 2, 1.0)
        glVertex3f(x + xsize, y + ysize + 0.01, 5.0)
        glTexCoord2f(0.0, 1.0)
        glVertex3f(x, y + ysize + 0.01, 5.0)
        glEnd()

        vertborder()
        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x - 0.01, y, 5.0)
        glTexCoord2f(1.0, 0.0)
        glVertex3f(x, y, 5.0)
        glTexCoord2f(1.0, ysize / 0.05 * 2)
        glVertex3f(x, y + ysize, 5.0)
        glTexCoord2f(0.0, ysize / 0.05 * 2)
        glVertex3f(x - 0.01, y + ysize, 5.0)
        glEnd()

        glBegin(GL_QUADS)
        glTexCoord2f(0.0, 0.0)
        glVertex3f(x + xsize, y, 5.0)
        glTexCoord2f(1.0, 0.0)
        glVertex3f(x + xsize + 0.01, y, 5.0)
        glTexCoord2f(1.0, ysize / 0.05 * 2)
        glVertex3f(x + xsize + 0.01, y + ysize, 5.0)
        glTexCoord2f(0.0, ysize / 0.05 * 2)
        glVertex3f(x + xsize, y + ysize, 5.0)
        glEnd()

        glPushMatrix()
        glTranslate(0.0, 0.0, 6.0)
        for s in self.spec:
            if s[0][:3] == '***':
                bits = s[0][3:].split('.')
                t = texture.Text(str(getattr(self.char, bits[0]).get(bits[1])),
                                 drawfont, s[3] * screen.height)
            elif s[0][:2] == '**':
                t = texture.Text(str(getattr(self.char, s[0][2:])), drawfont,
                                 s[3] * screen.height)
            elif s[0][:1] == '@':
                t = texture.Text(s[0][1:], drawfont, s[3] * screen.height)
                hsize = t.horizsize(s[3])
                buttonbg()
                glBegin(GL_QUADS)
                glTexCoord2f(0.0, 0.0)
                glVertex3f(x + s[1] - 0.005, y + s[2], -0.01)
                glTexCoord2f(1.0, 0.0)
                glVertex3f(x + s[1] + hsize + 0.005, y + s[2], -0.01)
                glTexCoord2f(1.0, 1.0)
                glVertex3f(x + s[1] + hsize + 0.005, y + s[2] + s[3], -0.01)
                glTexCoord2f(0.0, 1.0)
                glVertex3f(x + s[1] - 0.005, y + s[2] + s[3], -0.01)
                glEnd()
            elif s[0][:1] == '$':
                t = None
                image = media.loadtexture(s[0][1:])
                image()
                width = s[3] * image.size[0] / image.size[1]
                glBegin(GL_QUADS)
                glTexCoord2f(0.0, 0.0)
                glVertex2f(x + s[1], y + s[2])
                glTexCoord2f(1.0, 0.0)
                glVertex2f(x + s[1] + width, y + s[2])
                glTexCoord2f(1.0, 1.0)
                glVertex2f(x + s[1] + width, y + s[2] + s[3])
                glTexCoord2f(0.0, 1.0)
                glVertex2f(x + s[1], y + s[2] + s[3])
                glEnd()
            else:
                t = texture.Text(s[0], drawfont, s[3] * screen.height)
            if t:
                t.render((x + s[1], y + s[2]), s[3])
        glPopMatrix()
Example #12
0
 def __init__(self, previous = None):
     self.splash = media.loadtexture('splash.png')
Example #13
0
 def __init__(self, pos, dir):
     self.dir = dir
     self.pos = pos
     self.size = (1, 1)
     if dir == 'left':
         self.texture = media.loadtexture('leftconvey.png')
         self.overflowleft = media.loadtexture('downextractor.png')
         self.overflowright = media.loadtexture('upextractor.png')
     if dir == 'right':
         self.texture = media.loadtexture('rightconvey.png')
         self.overflowleft = media.loadtexture('upextractor.png')
         self.overflowright = media.loadtexture('downextractor.png')
     if dir == 'up':
         self.texture = media.loadtexture('upconvey.png')
         self.overflowleft = media.loadtexture('leftextractor.png')
         self.overflowright = media.loadtexture('rightextractor.png')
     if dir == 'down':
         self.texture = media.loadtexture('downconvey.png')
         self.overflowleft = media.loadtexture('rightextractor.png')
         self.overflowright = media.loadtexture('leftextractor.png')
     self.timer = 0.0
     self.time_limit = 0.5
     self.type = 'Overflow'
     self.overflowdir = 'left'
Example #14
0
 def setanimset(self, set):
     self.animset = animset(set)
     self.texture = media.loadtexture(self.animset.idle)