Exemplo n.º 1
0
def createsect(pts, xo, yo, zo):
    nsect = namestruct.struct(buildmap.sectorstruct)
    nsect.xo = xo
    nsect.yo = yo
    nsect.zo = zo
    nsect.wallptr = -1
    nsect.wallnum = -1
    nsect.ceilingz = -49152
    nsect.floorz = 0
    nsect.ceilingstat = nsect.floorstat = 0
    nsect.ceilingheinum = nsect.floorheinum = 0
    nsect.ceilingpal = nsect.floorpal = 0
    nsect.floorshade = nsect.ceilingshade = -1
    nsect.ceilingxpanning = nsect.ceilingypanning = 0
    nsect.floorxpanning = nsect.floorypanning = 0
    nsect.floorpicnum = 22
    nsect.ceilingpicnum = 20
    nsect.visibility = 0
    nsect.filler = 0
    nsect.lotag = nsect.extra = 0
    nsect.hitag = 1

    nsect.walls = [createwall(pt) for pt in pts]

    for w1,w2 in zip(nsect.walls[:-1],nsect.walls[1:]):
        w1.p2 = w2
    nsect.walls[-1].p2 = nsect.walls[0]

    nsect.sprites = []

    return nsect
Exemplo n.º 2
0
def createwall(pt):
    nw = namestruct.struct(buildmap.wallstruct)
    nw.x, nw.y = pt
    nw.point2 = -1
    nw.nextwall = -1
    nw.nextsector = -1
    nw.cstat = 0
    nw.shade = -1
    nw.pal = 0
    nw.picnum = 23
    nw.overpicnum = 0
    nw.xrepeat = nw.yrepeat = 8
    nw.xpanning = nw.ypanning = 0
    nw.lotag = nw.hitag = nw.extra = 0

    return nw
Exemplo n.º 3
0
def createspr(x,y,z,pn,ht,lt):
    nspr = namestruct.struct(buildmap.spritestruct)
    nspr.x = x
    nspr.y = y
    nspr.z = z
    nspr.cstat = 0
    nspr.picnum = pn
    nspr.shade = nspr.pal = nspr.clipdist = nspr.filler = 0
    nspr.xrepeat = nspr.yrepeat = 32
    nspr.xoffset = nspr.yoffset = 0
    nspr.statnum = nspr.ang = nspr.owner = 0
    nspr.xvel = nspr.yvel = nspr.zvel = 0
    nspr.hitag = ht
    nspr.lotag = lt
    nspr.extra = 0
    return nspr
Exemplo n.º 4
0
map=buildmap.map(sys.argv[1])

img = Image.open(sys.argv[2])

itr=iter(img.getdata())

nspr = []
for s in map.sprites:
    if s.picnum != 1: nspr.append(s)
map.sprites=nspr
for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        r,g,b = itr.next()[:3]

        if r == 255 and g == 255 and b == 255:
            nspr = namestruct.struct(buildmap.spritestruct)
            nspr.x = (x+12) * 640 - 131072
            nspr.y = (y+12) * 640 - 131072
            nspr.z = 0
            nspr.cstat = 0
            nspr.picnum = 1
            nspr.shade = nspr.pal = nspr.clipdist = nspr.filler = 0
            nspr.xrepeat = nspr.yrepeat = 8
            nspr.xoffset = nspr.yoffset = 0
            nspr.sectnum = nspr.statnum = nspr.ang = nspr.owner = 0
            nspr.xvel = nspr.yvel = nspr.zvel = nspr.hitag = nspr.lotag = nspr.extra = 0
            map.sprites.append(nspr)

            

map.writeto(sys.argv[3])
Exemplo n.º 5
0
    #rail.append(list(rotpts(0, 0, n * mul, rpts)))


sects = [
    [circ1]
    #[ big, reversed(circ1) ],
    #[circ3], #inner
    #rail, #rail
    #[circ1, reversed(circ2)] #outer
    ]

cw = 0
cs = 0

for s in sects:
    sec = namestruct.struct(buildmap.sectorstruct);
    
    sec.wallptr = cw
    sec.ceilingz = 114688
    sec.floorz = 155648
    sec.ceilingstat = 0
    sec.floorstat = 0
    sec.ceilingpicnum = 20
    sec.floorpicnum = 28
    sec.ceilingshade = -1
    sec.floorshade = -1
    sec.ceilingpal = 0
    sec.ceilingxpanning = 0
    sec.ceilingypanning = 0
    sec.floorxpanning = 0
    sec.floorypanning = 0