Skip to content

Commit

Permalink
move even more stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
Magnus Auvinen committed May 22, 2007
1 parent 15c9578 commit 90bcda3
Show file tree
Hide file tree
Showing 4 changed files with 182 additions and 0 deletions.
45 changes: 45 additions & 0 deletions readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
This is the first playable beta version of Teewars.

Keys
####

A and D to move left and right
W or Space to jump
Left mouse button fires your weapon
Right mouse button launches the grappling hook
1-5 to change weapon


Gameplay
########

Players spawn with the Sledge Hammer and the Gun, which has unlimited ammo. All other weapons hold 10 rounds.


Command Line Switches
####################

-s to start a server
-w for windowed mode


The Teewars team
################

Matricks Code
Phobos Code
Serp Code
Void Code
Red Com Graphics
Ampleyfly Graphics
Maikka Graphics
Dopefish Levels
Teetow Audio
Trin Web page


Contact info
############

http://www.teewars.com
Any bugs or problems can be addressed in #teewars on Quakenet IRC.
30 changes: 30 additions & 0 deletions scripts/deploy_win.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import zipfile
import os, os.path
from distutils.file_util import copy_file

# A bit of dir trickery to make sure we're referring to the right dir
# this makes it possible to run the script both from the teewars root and
# the scripts subdir
if os.getcwd().find("scripts") > -1:
dir = os.path.abspath("..")
else:
dir = os.getcwd()

data_dir = "%s\\%s" % (dir, 'data')
exe_file = "%s\\%s" % (dir, 'teewars.exe')
zip_file = "%s\\%s" % (dir, 'teewars.zip')

ns = os.listdir(data_dir)
try:
ns.remove('.svn')
except:
pass
zf = zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED)
zf.write(exe_file, 'teewars.exe')
for n in ns:
zf.write(os.path.join(data_dir, n), "%s\\%s" % ('data', n))

print "Data written to zip-file:\n"
zf.printdir()
zf.close()

5 changes: 5 additions & 0 deletions scripts/make_docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh
docs/doctool/NaturalDocs -r -s Small -i src/ -i docs/articles -o HTML docs/output -p docs/config

#rm -Rf ~/public_html/.docs
#cp -Rf docs/output ~/public_html/.docs
102 changes: 102 additions & 0 deletions scripts/png.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
import struct, zlib, sys

class image:
w = 0
h = 0
data = []

def read_tga(f):
image = f.read()
img_type = struct.unpack("<B", image[2:3])[0]
img_bpp = struct.unpack("<B", image[16:17])[0]
img_width = struct.unpack("<H", image[12:14])[0]
img_height = struct.unpack("<H", image[14:16])[0]

if img_type != 2 or img_bpp != 32:
print "image must be a RGBA"

start = 18+struct.unpack("B", image[0])[0]
end = start + img_width*img_height*4
image_data = image[start:end] # fetch raw data
return image_data

def write_tga(f, w, h, bpp, data):
f.write(struct.pack("<BBBHHBHHHHBB", 0, 0, 2, 0, 0, 0, 0, 0, w, h, bpp, 0) + data)





def load_png(f):
def read(fmt): return struct.unpack("!"+fmt, f.read(struct.calcsize("!"+fmt)))
def skip(count): f.read(count)

# read signature
if read("cccccccc") != ('\x89', 'P', 'N', 'G', '\r', '\n', '\x1a', '\n'):
return 0

# read chunks
width = -1
height = -1
imagedata = ""
while 1:
size, id = read("I4s")
if id == "IHDR": # read header
width, height, bpp, colortype, compression, filter, interlace = read("IIBBBBB")
if bpp != 8 or compression != 0 or filter != 0 or interlace != 0 or (colortype != 2 and colortype != 6):
print "can't handle png of this type"
print width, height, bpp, colortype, compression, filter, interlace
return 0
skip(4)
elif id == "IDAT":
imagedata += f.read(size)
skip(4) # read data
elif id == "IEND":
break # we are done! \o/
else:
skip(size+4) # skip unknown chunks

# decompress image data
rawdata = map(ord, zlib.decompress(imagedata))

# apply per scanline filters
pitch = width*4+1
bpp = 4
imgdata = []
prevline = [0 for x in xrange(0, (width+1)*bpp)]
for y in xrange(0,height):
filter = rawdata[pitch*y]
pixeldata = rawdata[pitch*y+1:pitch*y+pitch]
thisline = [0 for x in xrange(0,bpp)]
def paeth(a, b, c):
p = a + b - c
pa = abs(p - a)
pb = abs(p - b)
pc = abs(p - c)
if pa <= pb and pa <= pc:
return a
if pb <= pc:
return b
return c

if filter == 0: f = lambda a,b,c: 0
elif filter == 1: f = lambda a,b,c: a
elif filter == 2: f = lambda a,b,c: b
elif filter == 3: f = lambda a,b,c: (a+b)/2
elif filter == 4: f = paeth

for x in xrange(0, width*bpp):
thisline += [(pixeldata[x] + f(thisline[x], prevline[x+bpp], prevline[x])) % 256]

prevline = thisline
imgdata += thisline[4:]

raw = ""
for x in imgdata:
raw += struct.pack("B", x)

#print len(raw), width*height*4
write_tga(file("test2.tga", "w"), width, height, 32, raw)
return 0

load_png(file("butterfly2.png", "rb"))

0 comments on commit 90bcda3

Please sign in to comment.