Mercurial > parpg-source
comparison application.py @ 167:b3b82c2aebee
Using fife settings module again instead of our own.
author | Beliar <KarstenBock@gmx.net> |
---|---|
date | Mon, 20 Feb 2012 16:50:10 +0100 |
parents | 76041ed90a5d |
children | bfd3a4ef7f2b |
comparison
equal
deleted
inserted
replaced
166:a6bbb732b27b | 167:b3b82c2aebee |
---|---|
110 self.controller is the controller""" | 110 self.controller is the controller""" |
111 | 111 |
112 def __init__(self, setting): | 112 def __init__(self, setting): |
113 """Initialise the instance. | 113 """Initialise the instance. |
114 @return: None""" | 114 @return: None""" |
115 self._setting = setting | 115 ApplicationBase.__init__(self, setting) |
116 self.manager = FifeManager() | 116 self.manager = FifeManager() |
117 self.engine = fife.Engine() | |
118 self.loadSettings() | |
119 self.engine.init() | |
120 # KLUDGE M. George Hansen 2011-06-04: See parpg/vfs.py. | 117 # KLUDGE M. George Hansen 2011-06-04: See parpg/vfs.py. |
121 vfs.VFS = self.engine.getVFS() | 118 vfs.VFS = self.engine.getVFS() |
122 vfs.VFS.addNewSource(setting.parpg.DataPath) | 119 print(vfs.VFS) |
120 vfs.VFS.addNewSource(setting.get("parpg","DataPath")) | |
123 | 121 |
124 pychan.init(self.engine, debug = True) | 122 pychan.init(self.engine, debug = True) |
125 pychan.setupModalExecution(self.mainLoop,self.breakFromMainLoop) | 123 pychan.setupModalExecution(self.mainLoop,self.breakFromMainLoop) |
126 | 124 |
127 self.quitRequested = False | 125 self.quitRequested = False |
134 self.model.getAgentImportFiles() | 132 self.model.getAgentImportFiles() |
135 self.model.readAllAgents() | 133 self.model.readAllAgents() |
136 self.model.getDialogues() | 134 self.model.getDialogues() |
137 # KLUDGE M. George Hansen 2011-06-04: Hack to allow loaded PyChan XML | 135 # KLUDGE M. George Hansen 2011-06-04: Hack to allow loaded PyChan XML |
138 # scripts to locate their resources. | 136 # scripts to locate their resources. |
139 os.chdir(setting.parpg.DataPath) | 137 os.chdir(setting.get("parpg","DataPath")) |
140 self.view = MainMenuView(self.engine, self.model) | 138 self.view = MainMenuView(self.engine, self.model) |
141 self.loadFonts() | 139 self.loadFonts() |
142 self.event_listener = EventListener(self.engine) | 140 self.event_listener = EventListener(self.engine) |
143 controller = MainMenuController(self.engine, self.view, self.model, | 141 controller = MainMenuController(self.engine, self.view, self.model, |
144 self) | 142 self) |
146 self.manager.push_mode(controller) | 144 self.manager.push_mode(controller) |
147 self.listener = ApplicationListener(self.event_listener, | 145 self.listener = ApplicationListener(self.event_listener, |
148 self.engine, | 146 self.engine, |
149 self.view, | 147 self.view, |
150 self.model) | 148 self.model) |
151 #start_map = self._setting.fife.get("PARPG", "Map") | |
152 #self.model.changeMap(start_map) | |
153 | 149 |
154 def loadFonts(self): | 150 def loadFonts(self): |
155 # add the fonts path to the system path to import font definitons | 151 # add the fonts path to the system path to import font definitons |
156 sys.path.insert(0, os.path.join(self._setting.parpg.DataPath, 'fonts')) | 152 sys.path.insert(0, os.path.join(self._setting.get("parpg", "DataPath"), 'fonts')) |
157 from oldtypewriter import fontdefs | 153 from oldtypewriter import fontdefs |
158 | 154 |
159 for fontdef in fontdefs: | 155 for fontdef in fontdefs: |
160 pychan.internal.get_manager().addFont(PARPGFont(fontdef, | 156 pychan.internal.get_manager().addFont(PARPGFont(fontdef, |
161 self._setting)) | 157 self._setting)) |
162 | 158 |
163 | |
164 def loadSettings(self): | |
165 """ | |
166 Load the settings from a python file and load them into the engine. | |
167 Called in the ApplicationBase constructor. | |
168 """ | |
169 | |
170 engineSetting = self.engine.getSettings() | |
171 assert(isinstance(engineSetting, fife.EngineSettings)) | |
172 engineSetting.setDefaultFontGlyphs(self._setting.fife.FontGlyphs) | |
173 engineSetting.setDefaultFontPath( | |
174 '{0}/fonts/{1}'.format(self._setting.parpg.DataPath, | |
175 self._setting.fife.Font) | |
176 ) | |
177 engineSetting.setDefaultFontSize(self._setting.fife.DefaultFontSize) | |
178 engineSetting.setBitsPerPixel(self._setting.fife.BitsPerPixel) | |
179 engineSetting.setInitialVolume(self._setting.fife.InitialVolume) | |
180 engineSetting.setSDLRemoveFakeAlpha( | |
181 self._setting.fife.SDLRemoveFakeAlpha | |
182 ) | |
183 engineSetting.setGLUseFramebuffer(self._setting.fife.GLUseFramebuffer) | |
184 engineSetting.setGLUseNPOT(self._setting.fife.GLUseNPOT) | |
185 engineSetting.setScreenWidth(self._setting.fife.ScreenWidth) | |
186 engineSetting.setScreenHeight(self._setting.fife.ScreenHeight) | |
187 engineSetting.setRenderBackend(self._setting.fife.RenderBackend) | |
188 engineSetting.setFullScreen(self._setting.fife.FullScreen) | |
189 engineSetting.setVideoDriver(self._setting.fife.VideoDriver) | |
190 engineSetting.setLightingModel(self._setting.fife.Lighting) | |
191 engineSetting.setColorKeyEnabled(self._setting.fife.ColorKeyEnabled) | |
192 engineSetting.setMouseSensitivity(self._setting.fife.MouseSensitivity) | |
193 engineSetting.setMouseAcceleration( | |
194 self._setting.fife.MouseAcceleration | |
195 ) | |
196 | |
197 engineSetting.setColorKey(*[int(digit) | |
198 for digit in self._setting.fife.ColorKey]) | |
199 | |
200 engineSetting.setWindowTitle(self._setting.fife.WindowTitle) | |
201 engineSetting.setWindowIcon( | |
202 '/'.join(['gui/icons', self._setting.fife.WindowIcon]) | |
203 ) | |
204 | 159 |
205 def createListener(self): | 160 def createListener(self): |
206 """ __init__ takes care of creating an event listener, so | 161 """ __init__ takes care of creating an event listener, so |
207 basicapplication's createListener is harmful. Without | 162 basicapplication's createListener is harmful. Without |
208 overriding it, the program quit's on esc press, rather than | 163 overriding it, the program quit's on esc press, rather than |