view engine/extensions/loaders.py @ 102:af9a5579763e

test of rotation steps + facing location renders, for barra.
author kaelisebonrai@33b003aa-7bff-0310-803a-e67f0ece8222
date Wed, 23 Jul 2008 02:28:46 +0000
parents ab09325f901e
children 5e85737281bc
line wrap: on
line source

# coding: utf-8
# Loader interface for FIFE's native xml format.

import fife

from serializers.xmlmap import XMLMapLoader
from serializers import WrongFileType, NameClash

fileExtensions = ('xml',)

def loadMapFile(path, engine, content = ''):
	map_loader = XMLMapLoader(engine)
	return map_loader.loadResource(fife.ResourceLocation(path))

from serializers.xmlobject import XMLObjectLoader

def loadImportFile(path, engine):
	object_loader = XMLObjectLoader(engine.getImagePool(), engine.getAnimationPool(), engine.getModel(), engine.getVFS())
	res = None
	try:
		res = object_loader.loadResource(fife.ResourceLocation(path))
		print 'imported object file ' + path
	except WrongFileType:
		pass
#		print 'ignored non-object file ' + path
	except NameClash:
		pass
#		print 'ignored already loaded file ' + path
	return res

def loadImportDir(path, engine):
	for file in filter(lambda f: f.split('.')[-1] == 'xml', engine.getVFS().listFiles(path)):
		loadImportFile('/'.join([path, file]), engine)

def loadImportDirRec(path, engine):
	loadImportDir(path, engine)

	for dir in filter(lambda d: not d.startswith('.'), engine.getVFS().listDirectories(path)):
		loadImportDirRec('/'.join([path, dir]), engine)