summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
committer Simon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
commit2e401babb793238564ca640fc802a52ab7f6c293 (patch)
tree87a9b471e82604e76f96d556f5771322fb31818a /build
parentc096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff)
parent04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff)
downloadpowder-2e401babb793238564ca640fc802a52ab7f6c293.zip
powder-2e401babb793238564ca640fc802a52ab7f6c293.tar.gz
Python console
Diffstat (limited to 'build')
-rw-r--r--build/example.py21
-rw-r--r--build/ext_chat.py4
-rw-r--r--build/tpt_console.py116
3 files changed, 139 insertions, 2 deletions
diff --git a/build/example.py b/build/example.py
new file mode 100644
index 0000000..850d8ae
--- /dev/null
+++ b/build/example.py
@@ -0,0 +1,21 @@
+import utils
+# example script
+
+def noise(typ,amount=50):
+ for xx in range(4,612):
+ for yy in range(4,384):
+ if(random.randrange(0,100)<amount):
+ tpt.create(xx,yy,typ)
+
+def increment(amount=1):
+ for xx in range(4,612):
+ for yy in range(4,384):
+ i = tpt.get_pmap(xx,yy)>>8
+ t = tpt.get_prop(i,"type")+amount
+ if t>=148:
+ t=t-148
+ if t==128:
+ t=129
+ if t==55:
+ t=56
+ tpt.set_type(i=i,settoint=t) \ No newline at end of file
diff --git a/build/ext_chat.py b/build/ext_chat.py
index 8daa7ca..56a58e5 100644
--- a/build/ext_chat.py
+++ b/build/ext_chat.py
@@ -28,7 +28,7 @@ def init():
NICK=name+"[tpt]"
IDENT=name+"[tpt]"
REALNAME=name
- CHANNEL="#foobar7"
+ CHANNEL="#powder"
readbuffer=""
def exit():
@@ -57,7 +57,7 @@ def key(keyy) :
except:
key.pmod=(False,False,False)
global typing,typed
- print "got %s"%repr(keyy)
+ #print "got %s"%repr(keyy)
ctrl1,ctrl2,alt1,alt2,shift1,shift2=tpt.get_modifier()
mod=(ctrl1 or ctrl2,alt1 or alt2,shift1 or shift2)
skip=False
diff --git a/build/tpt_console.py b/build/tpt_console.py
new file mode 100644
index 0000000..b26ecef
--- /dev/null
+++ b/build/tpt_console.py
@@ -0,0 +1,116 @@
+import tpt
+from tpt import *
+import sys
+import code
+import ctypes
+import traceback
+DEBUG=False
+
+#print "console module loaded."
+#redirect stdout like this:
+class logger:
+ def write(self,txt):
+ txt=txt.strip().split("\n")[-1]
+ repr(txt)
+ tpt.log(txt)
+if(DEBUG==False):
+ sys.stdout=logger()
+ sys.stderr=logger()
+
+
+element={"none":0,"dust":1,"watr":2,"oil":3,"fire":4,"stne":5,"lava":6,"gunp":7,
+ "nitr":8,"clne":9,"gas":10,"plex":11,"goo":12,"icei":13,"metl":14,"sprk":15,
+ "snow":16,"wood":17,"neut":18,"plut":19,"plnt":20,"acid":21,"void":22,
+ "wtrv":23,"cnct":24,"dstw":25,"salt":26,"sltw":27,"dmnd":28,"bmtl":29,
+ "brmt":30,"phot":31,"uran":32,"wax":33,"mwax":34,"pscn":35,"nscn":36,
+ "lntg":37,"insl":38,"bhol":39,"whol":40,"rbdm":41,"lrbd":42,"ntct":43,
+ "sand":44,"glas":45,"ptct":46,"bgla":47,"thdr":48,"plsm":49,"etrd":50,
+ "nice":51,"nble":52,"btry":53,"lcry":54,"stkm":55,"swch":56,"smke":57,
+ "desl":58,"coal":59,"lo2":60,"o2":61,"inwr":62,"yest":63,"dyst":64,
+ "thrm":65,"glow":66,"brck":67,"hflm":68,"firw":69,"fuse":70,"fsep":71,
+ "amtr":72,"bcol":73,"pcln":74,"hswc":75,"iron":76,"mort":77,"gol":78,
+ "hlif":79,"asim":80,"2x2":81,"dani":82,"amoe":83,"move":84,"pgol":85,
+ "dmoe":86,"34":87,"llif":88,"stan":89,"spng":90,"rime":91,"fog":92,
+ "bcln":93,"love":94,"deut":95,"warp":96,"pump":97,"fwrk":98,"pipe":99,
+ "frzz":100,"frzw":101,"grav":102,"bizr":103,"bizrg":104,"bizrs":105,
+ "inst":106,"isoz":107,"iszs":108,"prti":109,"prto":110,"pste":111,
+ "psts":112,"anar":113,"vine":114,"invis":115,"equalvel":116,"spawn2":117,
+ "spawn":118,"shld1":119,"shld2":120,"shld3":121,"shld4":122,"lolz":123,
+ "wifi":124,"filt":125,"aray":126,"bray":127,"stkm2":128,"bomb":129,
+ "c5":130,"sing":131,"qrtz":132,"pqrt":133,"seed":134,"maze":135,
+ "coag":136,"wall":137,"gnar":138,"repl":139,"myst":140,"boyl":141,
+ "lote":142,"frg2":143,"star":144,"frog":145,"bran":146,"wind":147,
+ "num":148}
+
+
+def fork_unblock():
+ pass#i need to implement this some day.
+def error(ex):
+ traceback.print_exc()
+ err=traceback.format_exc()
+ sys.stdout.write(err)
+
+def clean():
+ #add any functions that must be reachable here.
+ """copy=["__builtins__","__name__","__doc__","__package__",'tpt','clean',
+ 'element','fork','_fork','fork_status','fork_unblock','sys']
+ handle.glob={}
+ for item in copy:
+ handle.glob[item]=globals()[item]"""
+ handle.glob=globals()
+ handle.buf=""
+
+def handle(txt):
+ try:
+ a=handle.glob
+ except:
+ clean()
+ try:
+ _handle(txt)
+ except Exception as ex:
+ error(ex)
+
+def _handle(txt):
+ #print "handling '%s'"%txt
+ try:
+ sys.stdout.write(repr(eval(txt,handle.glob)))
+ except:
+ try:
+ exec txt in handle.glob
+ except Exception as ex:
+ error(ex)
+
+
+_extensions=[]
+def loadext(fname):
+ ext=__import__(fname)
+ ext.init()
+ _extensions.append(ext)
+
+def keypress(key):
+ unload=[]
+ for item in _extensions:
+ try:
+ item.key(key)
+ except Exception as ex:
+ error(ex)
+ unload.append(item)
+ for item in unload:
+ item.exit()
+ _extensions.remove(item)
+
+
+def step():
+ unload=[]
+ for item in _extensions:
+ try:
+ item.step()
+ except Exception as ex:
+ error(ex)
+ unload.append(item)
+ for item in unload:
+ try:
+ item.exit()
+ except Exception as ex:
+ error(ex)
+ _extensions.remove(item)