def loadWesenWithID(self, ent, pos, reqs_update, owner, sender, ent_id=None): print('InWesenID: %s' % str(owner)) if ent_id is not None: ent = daswesen.load_wesen(ent, pos, self.layers_l, self.collisions_l, reqs_update, sender, ent_id) ent.owner = owner else: ent = daswesen.load_wesen(ent, pos, self.layers_l, self.collisions_l, reqs_update, sender) ent.owner = owner self.tiles.append(ent) try: ent.go() except: pass
def fromxml(self, map_name, sender): tmptiles = [] self.name = map_name #print("[libkarten]Loading Karte xml mapfile with name "+str(map_name)+".") path_to_mapfile = os.path.join("..", "media", "maps_xml", map_name + ".xml") try: xml_tree = ET.parse(path_to_mapfile) except IOError as e: return root = xml_tree.getroot() tileset_defs_tag = root.findall("tileset_definitions")[0] for adding_tileset in tileset_defs_tag.findall("tileset"): self.tilesets[adding_tileset.get("name")]=XMLTileSet(adding_tileset.get("name")) tilestag = root.findall("map_tiles")[0] for tiles in tilestag.findall("tile"): layer_temp = self.layers_l[int(tiles.get("layer")) - 1] c_layers_temp = [] c_indexes_temp = "" for col_layer in tiles.get("collision_layers").split(): c_layers_temp.append(self.collisions_l[int(col_layer) - 1]) c_indexes_temp = tiles.get("collision_layers") self.tiles.append(Tile(self.tilesets[tiles.get("tileset")].tiles[int(tiles.get("index"))], layer_temp,int(tiles.get("layer")), (int(tiles.get("pos").split()[0]), int(tiles.get("pos").split()[1])), c_indexes_temp, c_layers_temp)) entstag = root.findall("ents")[0] for ent in entstag.findall("ent"): self.tiles.append(daswesen.load_wesen(ent.get("entfile"), (int(ent.get("pos").split()[0]), int(ent.get("pos").split()[1])), self.layers_l, self.collisions_l, self.reqs_update, sender)) self.tilesets[ent.get("entfile").replace(".py","")]=EntTilesetMockup(ent.get("entfile"))
def add_tile(): global current_tile mpos_l = [0, 0] mpos_l[0], mpos_l[1] = mse mpos_l[0] -= camera_pos[0] mpos_l[1] -= camera_pos[1] c_temp_layers = "" for index, layer_svar in enumerate(COL_LAYER_ENABLED): if str(layer_svar.get()) == '1': if index + 1 == 1: c_temp_layers += "1 " if index + 1 == 2: c_temp_layers += "2 " if index + 1 == 3: c_temp_layers += "3 " if index + 1 == 4: c_temp_layers += "4 " if index + 1 == 5: c_temp_layers += "5 " if c_temp_layers != "": c_temp_layers = c_temp_layers[:-1] is_wesen_tset = True try: map_var.tilesets[current_tset].is_wesen_mockup except: is_wesen_tset = False if is_wesen_tset: map_var.tiles.append( daswesen.load_wesen(map_var.tilesets[current_tset].name, (int(mpos_l[0]), int(mpos_l[1])), map_var.layers_l, map_var.collisions_l, map_var.reqs_update)) return if enable_brushmode == True: global brushxtiles global brushytiles print(n + "Drawing brush of size " + str(brushxtiles) + " by " + str(brushytiles)) i = 0 i2 = 0 while i < brushytiles: i2 = 0 while i2 < brushxtiles: print(n + "In process of drawing brush of size " + str(brushxtiles) + " by " + str(brushytiles)) mpos_4 = (mpos_l[0] + (i2 * current_tile.image.get_rect()[2]), mpos_l[1] + (i * current_tile.image.get_rect()[3])) map_var.add_tile(current_tile, current_layer, int(current_layer_str.get()[5]), mpos_4, c_temp_layers) print(n + "Creating tile at coordinates " + str(mpos_4)) i2 += 1 i += 1 if not enable_brushmode == True: map_var.add_tile(current_tile, current_layer, int(current_layer_str.get()[5]), mpos_l, c_temp_layers) print(n + "Tile of type " + str(current_tile) + " added at position " + str(mpos_l) + " on layer " + str(current_layer) + " on collision layers: " + str(current_collision_layers) + ".")
def add_tile(): global current_tile mpos_l=[0,0] mpos_l[0],mpos_l[1]=mse mpos_l[0]-=camera_pos[0] mpos_l[1]-=camera_pos[1] c_temp_layers="" for index,layer_svar in enumerate(COL_LAYER_ENABLED): if str(layer_svar.get())=='1': if index+1==1: c_temp_layers+="1 " if index+1==2: c_temp_layers+="2 " if index+1==3: c_temp_layers+="3 " if index+1==4: c_temp_layers+="4 " if index+1==5: c_temp_layers+="5 " if c_temp_layers!="": c_temp_layers=c_temp_layers[:-1] is_wesen_tset=True try: map_var.tilesets[current_tset].is_wesen_mockup except: is_wesen_tset=False if is_wesen_tset: map_var.tiles.append(daswesen.load_wesen(map_var.tilesets[current_tset].name,(int(mpos_l[0]),int(mpos_l[1])),map_var.layers_l,map_var.collisions_l,map_var.reqs_update)) return if enable_brushmode==True: global brushxtiles global brushytiles print(n+"Drawing brush of size "+str(brushxtiles)+" by "+str(brushytiles)) i=0 i2=0 while i<brushytiles: i2=0 while i2<brushxtiles: print(n+"In process of drawing brush of size "+str(brushxtiles)+" by "+str(brushytiles)) mpos_4=(mpos_l[0]+(i2*current_tile.image.get_rect()[2]),mpos_l[1]+(i*current_tile.image.get_rect()[3])) map_var.add_tile(current_tile,current_layer,int(current_layer_str.get()[5]),mpos_4,c_temp_layers) print(n+"Creating tile at coordinates "+str(mpos_4)) i2+=1 i+=1 if not enable_brushmode==True: map_var.add_tile(current_tile,current_layer,int(current_layer_str.get()[5]),mpos_l,c_temp_layers) print(n+"Tile of type "+str(current_tile)+" added at position "+str(mpos_l)+" on layer "+str(current_layer)+" on collision layers: "+str(current_collision_layers)+".")
def reverseConvertMap(data, mapobj, sender): t0 = timeit.default_timer() #print(data) data = pickle.loads(data) #print(data) tiles = data[0] #print('TILE_DATA',tiles) tilesets = data[1] for tileset in tilesets: is_mockup, name = tileset if not is_mockup: inthing = False for key, foo in mapobj.tilesets.items(): if key == name: inthing = True if not inthing: mapobj.load_tileset(name) else: inthing = False for key, foo in mapobj.tilesets.items(): if key == name: inthing = True if not inthing: mapobj.load_entdef(name) for tile in tiles: iswesen, tilesetname, layerindex, clayerindexes, tileindex, tilex, tiley, ent_id, owner = tile if not iswesen: clayers = [] for index in clayerindexes: clayers.append(mapobj.collisions_l[int(index) - 1]) mapobj.add_tile(mapobj.tilesets[tilesetname].tiles[int(tileindex)], mapobj.layers_l[int(layerindex) - 1], layerindex, (int(tilex), int(tiley)), clayerindexes, clayers) else: ent = daswesen.load_wesen(tilesetname, (int(tilex), int(tiley)), mapobj.layers_l, mapobj.collisions_l, mapobj.reqs_update, sender, ent_id) if owner != None: ent.owner = owner mapobj.tiles.append(ent) #print('IN THING:',tiles) t1 = timeit.default_timer() print('Exec reverseConvertMap time %s' % str(t1 - t0))
def fromxml(self, map_name, sender): tmptiles = [] self.name = map_name #print("[libkarten]Loading Karte xml mapfile with name "+str(map_name)+".") path_to_mapfile = os.path.join("..", "media", "maps_xml", map_name + ".xml") try: xml_tree = ET.parse(path_to_mapfile) except IOError as e: return root = xml_tree.getroot() tileset_defs_tag = root.findall("tileset_definitions")[0] for adding_tileset in tileset_defs_tag.findall("tileset"): self.tilesets[adding_tileset.get("name")] = XMLTileSet( adding_tileset.get("name")) tilestag = root.findall("map_tiles")[0] for tiles in tilestag.findall("tile"): layer_temp = self.layers_l[int(tiles.get("layer")) - 1] c_layers_temp = [] c_indexes_temp = "" for col_layer in tiles.get("collision_layers").split(): c_layers_temp.append(self.collisions_l[int(col_layer) - 1]) c_indexes_temp = tiles.get("collision_layers") self.tiles.append( Tile( self.tilesets[tiles.get("tileset")].tiles[int( tiles.get("index"))], layer_temp, int(tiles.get("layer")), (int(tiles.get("pos").split()[0]), int(tiles.get("pos").split()[1])), c_indexes_temp, c_layers_temp)) entstag = root.findall("ents")[0] for ent in entstag.findall("ent"): self.tiles.append( daswesen.load_wesen(ent.get("entfile"), (int(ent.get("pos").split()[0]), int(ent.get("pos").split()[1])), self.layers_l, self.collisions_l, self.reqs_update, sender)) self.tilesets[ent.get("entfile").replace(".py", "")] = EntTilesetMockup( ent.get("entfile"))
def reverseConvertMap(data,mapobj,sender): t0=timeit.default_timer() #print(data) data=pickle.loads(data) #print(data) tiles=data[0] #print('TILE_DATA',tiles) tilesets=data[1] for tileset in tilesets: is_mockup,name=tileset if not is_mockup: inthing=False for key,foo in mapobj.tilesets.items(): if key==name: inthing=True if not inthing: mapobj.load_tileset(name) else: inthing=False for key,foo in mapobj.tilesets.items(): if key==name: inthing=True if not inthing: mapobj.load_entdef(name) for tile in tiles: iswesen,tilesetname,layerindex,clayerindexes,tileindex,tilex,tiley,ent_id,owner=tile if not iswesen: clayers=[] for index in clayerindexes: clayers.append(mapobj.collisions_l[int(index)-1]) mapobj.add_tile(mapobj.tilesets[tilesetname].tiles[int(tileindex)],mapobj.layers_l[int(layerindex)-1],layerindex,(int(tilex),int(tiley)),clayerindexes,clayers) else: ent=daswesen.load_wesen(tilesetname,(int(tilex),int(tiley)),mapobj.layers_l,mapobj.collisions_l,mapobj.reqs_update,sender,ent_id) if owner!=None: ent.owner=owner mapobj.tiles.append(ent) #print('IN THING:',tiles) t1=timeit.default_timer() print('Exec reverseConvertMap time %s' % str(t1-t0))