forked from teeworlds/teeworlds
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Magnus Auvinen
committed
May 22, 2007
1 parent
15c9578
commit 90bcda3
Showing
4 changed files
with
182 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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")) |