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()
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'
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()
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)
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
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()
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
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
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
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)
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()
def __init__(self, previous = None): self.splash = media.loadtexture('splash.png')
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'
def setanimset(self, set): self.animset = animset(set) self.texture = media.loadtexture(self.animset.idle)