first commit
							parent
							
								
									fda4ad94cd
								
							
						
					
					
						commit
						d28279894f
					
				@ -0,0 +1,53 @@
 | 
			
		||||
import time
 | 
			
		||||
from pydfhack import ContextManager
 | 
			
		||||
 | 
			
		||||
df_cm = ContextManager("Memory.xml")
 | 
			
		||||
df = None
 | 
			
		||||
 | 
			
		||||
def test_attach():
 | 
			
		||||
    global df
 | 
			
		||||
    
 | 
			
		||||
    if not df:
 | 
			
		||||
        df = df_cm.get_single_context()
 | 
			
		||||
    
 | 
			
		||||
    if not df.attach():
 | 
			
		||||
        print "Unable to attach!"
 | 
			
		||||
        return False
 | 
			
		||||
    elif not df.detach():
 | 
			
		||||
        print "Unabled to detach!"
 | 
			
		||||
        return False
 | 
			
		||||
    else:
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
def suspend_test():
 | 
			
		||||
    global df
 | 
			
		||||
    
 | 
			
		||||
    if not df:
 | 
			
		||||
        df = df_cm.get_single_context()
 | 
			
		||||
    
 | 
			
		||||
    print "Testing suspend/resume"
 | 
			
		||||
    
 | 
			
		||||
    df.attach()
 | 
			
		||||
    
 | 
			
		||||
    t1 = time.time()
 | 
			
		||||
    
 | 
			
		||||
    for i in xrange(1000):
 | 
			
		||||
        df.suspend()
 | 
			
		||||
        
 | 
			
		||||
        if i % 10 == 0:
 | 
			
		||||
            print "%i%%" % (i / 10.0,)
 | 
			
		||||
        
 | 
			
		||||
        df.resume()
 | 
			
		||||
    
 | 
			
		||||
    t2 = time.time()
 | 
			
		||||
    
 | 
			
		||||
    df.detach()
 | 
			
		||||
    
 | 
			
		||||
    print "suspend test done in $0.9f seconds" % (t2 - t1)
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    if test_attach():
 | 
			
		||||
        suspend_test()
 | 
			
		||||
    
 | 
			
		||||
    print "Done.  Press any key to continue"
 | 
			
		||||
    raw_input()
 | 
			
		||||
@ -0,0 +1,20 @@
 | 
			
		||||
from context import Context, ContextManager
 | 
			
		||||
 | 
			
		||||
cm = ContextManager("Memory.xml")
 | 
			
		||||
df = cm.get_single_context()
 | 
			
		||||
 | 
			
		||||
df.attach()
 | 
			
		||||
 | 
			
		||||
pos = df.position
 | 
			
		||||
 | 
			
		||||
print "Hotkeys"
 | 
			
		||||
 | 
			
		||||
hotkeys = pos.read_hotkeys()
 | 
			
		||||
 | 
			
		||||
for key in hotkeys:
 | 
			
		||||
    print "x: %d\ny: %d\tz: %d\ttext: %s" % (key.x, key.y, key.z, key.name)
 | 
			
		||||
 | 
			
		||||
df.detach()
 | 
			
		||||
 | 
			
		||||
print "Done.  Press any key to continue"
 | 
			
		||||
raw_input()
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
import sys
 | 
			
		||||
from pydfhack import ContextManager
 | 
			
		||||
 | 
			
		||||
df_cm = ContextManager("Memory.xml")
 | 
			
		||||
df = df_cm.get_single_context()
 | 
			
		||||
 | 
			
		||||
if not df.attach():
 | 
			
		||||
    print "Unable to attach!"
 | 
			
		||||
    print "Press any key to continue"
 | 
			
		||||
    
 | 
			
		||||
    raw_input()
 | 
			
		||||
    sys.exit(1)
 | 
			
		||||
 | 
			
		||||
pos = df.position
 | 
			
		||||
 | 
			
		||||
print "view coords:  %s" % (pos.view_coords,)
 | 
			
		||||
print "cursor coords:  %s" % (pos.cursor_coords,)
 | 
			
		||||
print "window size:  %s" % (pos.window_size,)
 | 
			
		||||
 | 
			
		||||
if not df.detach():
 | 
			
		||||
    print "Unable to detach!"
 | 
			
		||||
 | 
			
		||||
print "Done.  Press any key to continue"
 | 
			
		||||
raw_input()
 | 
			
		||||
@ -0,0 +1,27 @@
 | 
			
		||||
from pydfhack import ContextManager, Maps
 | 
			
		||||
 | 
			
		||||
df_cm = ContextManager("Memory.xml")
 | 
			
		||||
df = df_cm.get_single_context()
 | 
			
		||||
 | 
			
		||||
df.attach()
 | 
			
		||||
 | 
			
		||||
m = df.maps()
 | 
			
		||||
 | 
			
		||||
m.start()
 | 
			
		||||
 | 
			
		||||
m_x, m_y, m_z = m.size
 | 
			
		||||
 | 
			
		||||
for x in xrange(m_x):
 | 
			
		||||
    for y in xrange(m_y):
 | 
			
		||||
        for z in xrange(m_z):
 | 
			
		||||
            if m.is_valid_block(x, y, z):
 | 
			
		||||
                d = m.read_designations(x, y, z)
 | 
			
		||||
                
 | 
			
		||||
                for i in d:
 | 
			
		||||
                    for j in i:
 | 
			
		||||
                        j.bits.hidden = 0
 | 
			
		||||
                
 | 
			
		||||
                m.write_designations(x, y, z, d)
 | 
			
		||||
 | 
			
		||||
m.finish()
 | 
			
		||||
df.detach()
 | 
			
		||||
@ -0,0 +1,52 @@
 | 
			
		||||
from context import Context, ContextManager
 | 
			
		||||
 | 
			
		||||
cm = ContextManager("Memory.xml")
 | 
			
		||||
df = cm.get_single_context()
 | 
			
		||||
 | 
			
		||||
df.attach()
 | 
			
		||||
 | 
			
		||||
pos = df.position
 | 
			
		||||
veg = df.vegetation
 | 
			
		||||
mps = df.maps
 | 
			
		||||
mat = df.materials
 | 
			
		||||
 | 
			
		||||
x, y, z = pos.get_cursor_coords()
 | 
			
		||||
 | 
			
		||||
num_veg = veg.start()
 | 
			
		||||
 | 
			
		||||
if x == -30000:
 | 
			
		||||
    print "----==== Trees ====----"
 | 
			
		||||
    
 | 
			
		||||
    for i in xrange(num_veg):
 | 
			
		||||
        t = veg.read(i)
 | 
			
		||||
        
 | 
			
		||||
        print "%d/%d/%d, %d:%d" % (t.x, t.y, t.z, t.type, t.material)
 | 
			
		||||
else:
 | 
			
		||||
    #new method, gets the list of trees in a block.  can show farm plants
 | 
			
		||||
    if mps.start():
 | 
			
		||||
        pos_tuple = (x, y, z)
 | 
			
		||||
        trees = mps.read_vegetation(x / 16, y / 16, z)
 | 
			
		||||
        
 | 
			
		||||
        if trees is not None:
 | 
			
		||||
            for t in trees:
 | 
			
		||||
                if (t.x, t.y, t.z) == pos_tuple:
 | 
			
		||||
                    print "----==== Tree at %d/%d/%d ====----" % pos_tuple
 | 
			
		||||
                    print str(t)
 | 
			
		||||
                    break
 | 
			
		||||
        mps.finish()
 | 
			
		||||
    
 | 
			
		||||
    #old method, get the tree from the global vegetation vector.  can't show farm plants
 | 
			
		||||
    for i in xrange(num_veg):
 | 
			
		||||
        t = veg.read(i)
 | 
			
		||||
        
 | 
			
		||||
        if (t.x, t.y, t.z) == pos_tuple:
 | 
			
		||||
            print "----==== Tree at %d/%d/%d ====----" % pos_tuple
 | 
			
		||||
            print str(t)
 | 
			
		||||
            break
 | 
			
		||||
 | 
			
		||||
veg.finish()
 | 
			
		||||
 | 
			
		||||
df.detach()
 | 
			
		||||
 | 
			
		||||
print "Done.  Press any key to continue"
 | 
			
		||||
raw_input()
 | 
			
		||||
		Loading…
	
		Reference in New Issue