def _loadObjects(self): # get fifedit objects self.model = self._engine.getModel() self.all_action_sets = ActionSetLoader.get_sets() TileSetLoader.load() ActionSetLoader.load() self.animationloader = SQLiteAnimationLoader() self._loadGroundTiles() self._loadBuildings()
def _loadGroundTiles(self): print("loading UH ground tiles...") tile_sets = TileSetLoader.get_sets() for tile_set_id in tile_sets: tile_set = tile_sets[tile_set_id] object = self.model.createObject(str(tile_set_id), util.GROUND_NAMESPACE) fife.ObjectVisual.create(object) # load animations for action_id in tile_sets[tile_set_id].iterkeys(): action = object.createAction(action_id+"_"+str(tile_set_id)) fife.ActionVisual.create(action) for rotation in tile_sets[tile_set_id][action_id].iterkeys(): anim = self.animationloader.loadResource( \ str(tile_set_id)+"+"+str(action_id)+"+"+ \ str(rotation) + ':shift:center+0,bottom+8') action.get2dGfxVisual().addAnimation(int(rotation), anim) action.setDuration(anim.getDuration())
not_found = not_found + 1 continue # Instead of only float value we need to hold a 'bit' more infos in all_action_sets dictionary animval = all_action_sets[tileset_id][action_id][rotation][file] del all_action_sets[tileset_id][action_id][rotation][file] all_action_sets[tileset_id][action_id][rotation][file_new] = [animval, \ atlases[entry.source], entry.xpos, entry.ypos, entry.width, entry.height] # Dump it into JSON file import json with open(os.path.join("development", "atlas", "actionsets.json"), mode="wb") as fjson: json.dump(all_action_sets, fjson, indent=1) # Same stuff with tilesets all_tile_sets = TileSetLoader.get_sets() for tileset_id in all_tile_sets: for action_id in all_tile_sets[tileset_id]: for rotation in sorted(all_tile_sets[tileset_id][action_id]): for file in sorted(all_tile_sets[tileset_id][action_id][rotation]): file_new = file.replace('\\', '/') try: entry = mapping[file_new] except KeyError: print "Warning: {0} not found".format(file) not_found = not_found + 1 continue animval = all_tile_sets[tileset_id][action_id][rotation][file]