# HG changeset patch
# User KarstenBock@gmx.net
# Date 1318337257 -7200
# Node ID 80672955ab705b7b9146649b1f58a3a2c08b1cbc
# Parent 86656563555e1281c77a7447079903d3050ad479
PARPG now works with, and needs Fife 0.3.3.
diff -r 86656563555e -r 80672955ab70 application.py
--- a/application.py Mon Oct 10 15:12:33 2011 +0200
+++ b/application.py Tue Oct 11 14:47:37 2011 +0200
@@ -18,7 +18,6 @@
from fife import fife
from fife.extensions import pychan
-from fife.extensions.serializers.xmlanimation import XMLAnimationLoader
from fife.extensions.basicapplication import ApplicationBase
from parpg import console, vfs
@@ -121,9 +120,6 @@
# KLUDGE M. George Hansen 2011-06-04: See parpg/vfs.py.
vfs.VFS = self.engine.getVFS()
vfs.VFS.addNewSource(setting.parpg.DataPath)
- self._animationloader = XMLAnimationLoader(self.engine.getImagePool(),
- self.engine.getVFS())
- self.engine.getAnimationPool().addResourceLoader(self._animationloader)
pychan.init(self.engine, debug = True)
pychan.setupModalExecution(self.mainLoop,self.breakFromMainLoop)
@@ -180,7 +176,9 @@
engineSetting.setDefaultFontSize(self._setting.fife.DefaultFontSize)
engineSetting.setBitsPerPixel(self._setting.fife.BitsPerPixel)
engineSetting.setInitialVolume(self._setting.fife.InitialVolume)
- engineSetting.setSDLRemoveFakeAlpha(self._setting.fife.SDLRemoveFakeAlpha)
+ engineSetting.setSDLRemoveFakeAlpha(
+ self._setting.fife.SDLRemoveFakeAlpha
+ )
engineSetting.setScreenWidth(self._setting.fife.ScreenWidth)
engineSetting.setScreenHeight(self._setting.fife.ScreenHeight)
engineSetting.setRenderBackend(self._setting.fife.RenderBackend)
@@ -207,7 +205,7 @@
def _pump(self):
"""Main game loop.
- There are in fact 2 main loops, this one and the one in GameSceneView.
+ There are 2 main loops, this one and the one in GameSceneView.
@return: None"""
if self.listener.quit:
self.breakRequested = True #pylint: disable-msg=C0103
diff -r 86656563555e -r 80672955ab70 common/listeners/event_listener.py
--- a/common/listeners/event_listener.py Mon Oct 10 15:12:33 2011 +0200
+++ b/common/listeners/event_listener.py Tue Oct 11 14:47:37 2011 +0200
@@ -17,9 +17,10 @@
"""This module contains the EventListener that receives events and distributes
them to PARPG listeners"""
+import logging
from fife import fife
-import logging
+from fife.extensions import pychan
logger = logging.getLogger('event_listener')
@@ -39,7 +40,7 @@
fife.IMouseListener.__init__(self)
self.event_manager.addMouseListener(self)
fife.ConsoleExecuter.__init__(self)
- engine.getGuiManager().getConsole().setConsoleExecuter(self)
+ pychan.manager.hook.guimanager.getConsole().setConsoleExecuter(self)
self.listeners = {"Mouse" : [],
"Key" : [],
diff -r 86656563555e -r 80672955ab70 controllerbase.py
--- a/controllerbase.py Mon Oct 10 15:12:33 2011 +0200
+++ b/controllerbase.py Tue Oct 11 14:47:37 2011 +0200
@@ -68,18 +68,17 @@
@param type: ???
@return: None"""
cursor = self.engine.getCursor()
- cursor_type = fife.CURSOR_IMAGE
- img_pool = self.engine.getImagePool()
+ img_manager = self.engine.getImageManager()
if(mc_type == "target"):
- target_cursor_id = img_pool.addResourceFromFile(image)
- dummy_cursor_id = img_pool.addResourceFromFile(dummy_image)
- cursor.set(cursor_type, dummy_cursor_id)
- cursor.setDrag(cursor_type, target_cursor_id, -16, -16)
+ target_cursor_id = img_manager.load(image)
+ dummy_cursor_id = img_manager.load(dummy_image)
+ cursor.set(dummy_cursor_id)
+ cursor.setDrag(target_cursor_id, -16, -16)
else:
cursor_type = fife.CURSOR_IMAGE
- zero_cursor_id = img_pool.addResourceFromFile(image)
- cursor.set(cursor_type, zero_cursor_id)
- cursor.setDrag(cursor_type, zero_cursor_id)
+ zero_cursor_id = img_manager.load(image)
+ cursor.set(zero_cursor_id)
+ cursor.setDrag(zero_cursor_id)
def resetMouseCursor(self):
"""Reset cursor to default image.
diff -r 86656563555e -r 80672955ab70 font.py
--- a/font.py Mon Oct 10 15:12:33 2011 +0200
+++ b/font.py Tue Oct 11 14:47:37 2011 +0200
@@ -1,7 +1,8 @@
import os
+from fife.extensions import pychan
from fife.extensions.pychan.fonts import Font
-from fife.extensions.pychan.internal import get_manager
+
class PARPGFont(Font):
""" Font class for PARPG
@@ -35,7 +36,7 @@
self.size = fontdef['size']
self.antialias = fontdef['antialias']
self.color = fontdef.get('color', [255, 255, 255])
- manager = get_manager().hook.engine.getGuiManager()
+ manager = pychan.manager.hook.guimanager
self.font = manager.createFont(self.source, self.size, '')
if not self.font:
diff -r 86656563555e -r 80672955ab70 gamemap.py
--- a/gamemap.py Mon Oct 10 15:12:33 2011 +0200
+++ b/gamemap.py Tue Oct 11 14:47:37 2011 +0200
@@ -14,6 +14,7 @@
# along with PARPG. If not, see .
from fife import fife
+from fife.extensions import pychan
from fife.extensions.loaders import loadMapFile
class GameMap(fife.MapChangeListener):
@@ -101,21 +102,21 @@
self.target_rotation = self.cameras[self.my_cam_id].getRotation()
- self.outline_renderer = fife.InstanceRenderer.\
- getInstance(
- self.cameras[
- self.my_cam_id
- ])
+ self.outline_renderer = (
+ fife.InstanceRenderer.getInstance(self.cameras[self.my_cam_id])
+ )
# set the render text
- rend = fife.FloatingTextRenderer.getInstance(self.cameras[
- self.my_cam_id
- ])
- text = self.engine.getGuiManager().createFont('fonts/rpgfont.png',
- 0,
- self.settings.fife.FontGlyphs)
+ rend = fife.FloatingTextRenderer.getInstance(
+ self.cameras[self.my_cam_id]
+ )
+ font = pychan.manager.hook.guimanager.createFont(
+ 'fonts/rpgfont.png',
+ 0,
+ self.settings.fife.FontGlyphs
+ )
- rend.changeDefaultFont(text)
+ rend.setFont(font)
rend.activateAllLayers(self.map)
rend.setEnabled(True)
@@ -124,9 +125,9 @@
rend.activateAllLayers(self.map)
# Activate the grid renderer on all layers
- rend = fife.CoordinateRenderer.getInstance(self.cameras[
- self.my_cam_id
- ])
+ rend = fife.CoordinateRenderer.getInstance(
+ self.cameras[self.my_cam_id]
+ )
rend.setColor(0, 0, 0)
rend.addActiveLayer(self.map.getLayer("GroundLayer"))
@@ -137,7 +138,8 @@
"""Add the player character to the map
@return: None"""
# Update gamestate.player_character
- self.model.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.onNewMap(self.agent_layer)
+ player = self.model.game_state.getObjectById("PlayerCharacter")
+ player.fifeagent.behaviour.onNewMap(self.agent_layer)
self.centerCameraOnPlayer()
def toggleRenderer(self, r_name):
@@ -167,5 +169,5 @@
def centerCameraOnPlayer(self):
"""Center the camera on the player"""
camera = self.cameras[self.my_cam_id]
- player_agent = self.model.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.agent
- camera.setLocation(player_agent.getLocation())
+ player = self.model.game_state.getObjectById("PlayerCharacter")
+ camera.setLocation(player.fifeagent.behaviour.getLocation())
diff -r 86656563555e -r 80672955ab70 gamemodel.py
--- a/gamemodel.py Mon Oct 10 15:12:33 2011 +0200
+++ b/gamemodel.py Tue Oct 11 14:47:37 2011 +0200
@@ -94,12 +94,7 @@
self.dialogue_directory = settings.parpg.DialoguesPath
self.dialogues = {}
self.agent_import_files = {}
- self.obj_loader = XMLObjectLoader(
- self.engine.getImagePool(),
- self.engine.getAnimationPool(),
- self.engine.getModel(),
- self.engine.getVFS()
- )
+ self.obj_loader = XMLObjectLoader(self.engine)
def checkAttributes(self, attributes, template):
"""Checks for attributes that where not given in the map file
@@ -134,7 +129,9 @@
id_number += 1
if id_number > self.MAX_ID_NUMBER:
raise ValueError(
- "Number exceeds MAX_ID_NUMBER:" + str(self.MAX_ID_NUMBER))
+ "Number exceeds MAX_ID_NUMBER:" +
+ str(self.MAX_ID_NUMBER)
+ )
ID = ID + "_" + str(id_number)
return ID
@@ -207,7 +204,8 @@
def teleport(self, agent, position):
"""Called when a an agent is moved instantly to a new position.
- The setting of position may wan to be created as its own method down the road.
+ The setting of position may wan to be created as its own method down
+ the road.
@type position: String Tuple
@param position: X,Y coordinates passed from engine.changeMap
@return: fife.Location"""
@@ -303,7 +301,8 @@
and agent_values["Entity"]["graphics"].has_key("gfx"):
object_model = agent_values["Entity"]["graphics"]["gfx"]
elif agent_values.has_key("Template"):
- object_model = self.object_db[agent_values["Template"]]["graphics"]["gfx"]
+ template = self.object_db[agent_values["Template"]]
+ object_model = template["graphics"]["gfx"]
else:
object_model = self.GENERIC_ITEM_GFX
import_file = self.agent_import_files[object_model]
@@ -427,7 +426,8 @@
entity_data["containable"]["item_type"] = template
- obj = self.createMapObject(self.active_map.agent_layer, entity_data, inst_id, world)
+ obj = self.createMapObject(self.active_map.agent_layer,
+ entity_data, inst_id, world)
if agent.has_key("Inventory"):
inv = agent["Inventory"]
@@ -440,12 +440,16 @@
item_type = data["type"]
item_data = {}
item_data = self.checkAttributes(item_data, item_type)
- if item_data.has_key("containable") and item_data.has_key("equipable"):
+ if (item_data.has_key("containable") and
+ item_data.has_key("equipable")):
item = self.createItem(
self.createUniqueID(data["ID"]),
item_data, world, item_type)
else:
- raise Exception("Item %s is not containable or equipable." % item_type)
+ raise Exception(
+ "Item %s is not containable or equipable." %
+ item_type
+ )
else:
identifier = data["ID"]
if self.game_state.hasObject(identifier):
@@ -533,7 +537,8 @@
self.active_map.addPC()
#self.game_state.getObjectById("PlayerCharacter").fifeagent.start()
if agent.has_key("PeopleKnown"):
- self.game_state.getObjectById("PlayerCharacter").fifeagent.people_i_know = agent["PeopleKnown"]
+ player = self.game_state.getObjectById("PlayerCharacter")
+ player.fifeagent.people_i_know = agent["PeopleKnown"]
def changeMap(self, map_name, target_position = None):
"""Registers for a map change on the next pump().
@@ -607,9 +612,10 @@
# For now we copy the PlayerCharacter,
# in the future we will need to copy
# PlayerCharacter specifics between the different PlayerCharacter's
- self.game_state.getObjectById("PlayerCharacter").fifeagent = player_char
- self.game_state.getObjectById("PlayerCharacter").fifeagent.setup()
- self.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.speed = self.settings.parpg.PCSpeed
+ player = self.game_state.getObjectById("PlayerCharacter")
+ player.fifeagent = player_char
+ player.fifeagent.setup()
+ player.fifeagent.behaviour.speed = self.settings.parpg.PCSpeed
def addObject(self, layer, obj):
@@ -625,7 +631,8 @@
self.game_state.current_map_name)
if ref is None:
# no, add it to the game state
- self.game_state.addObject(obj.general.identifier, self.game_state.current_map_name, obj)
+ self.game_state.addObject(obj.general.identifier,
+ self.game_state.current_map_name, obj)
else:
# yes, use the current game state data
obj.fifeagent.pos.X = ref.X
@@ -667,10 +674,11 @@
@type position: fife.ScreenPoint
@param position: Screen position to move to
@return: None"""
+ player = self.game_state.getObjectById("PlayerCharacter")
if(self.pc_run == 1):
- self.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.run(position)
+ player.fifeagent.behaviour.run(position)
else:
- self.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.walk(position)
+ player.fifeagent.behaviour.walk(position)
def teleportAgent(self, agent, position):
"""Code called when an agent should teleport to another location
diff -r 86656563555e -r 80672955ab70 sounds.py
--- a/sounds.py Mon Oct 10 15:12:33 2011 +0200
+++ b/sounds.py Tue Oct 11 14:47:37 2011 +0200
@@ -14,6 +14,7 @@
# along with PARPG. If not, see .
# sounds.py holds the object code to play sounds and sound effects
+from fife import fife
class SoundEngine:
def __init__(self, fife_engine):
@@ -36,7 +37,7 @@
@return: None"""
if(sfile is not None):
# setup the new sound
- sound = self.engine.getSoundClipPool().addResourceFromFile(sfile)
+ sound = self.engine.getSoundClipManager().load(sfile)
self.music.setSoundClip(sound)
self.music.setLooping(True)
self.music_init = True