aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVicent Marti2008-11-16 01:54:45 +0000
committerVicent Marti2008-11-16 01:54:45 +0000
commit92d1d19eb4180fc2f66c1865cae05dc6b73503d5 (patch)
tree4bd2652b65e5655edd59b1753e61e0be0e3ac626
parent08a2d2fbb5f3d8b9ad2e8655950a2da4d7e7ee6b (diff)
downloadscummvm-rg350-92d1d19eb4180fc2f66c1865cae05dc6b73503d5.tar.gz
scummvm-rg350-92d1d19eb4180fc2f66c1865cae05dc6b73503d5.tar.bz2
scummvm-rg350-92d1d19eb4180fc2f66c1865cae05dc6b73503d5.zip
Binary parser: Fixed missing sections in render info.
svn-id: r35091
-rw-r--r--tools/themeparser.py40
1 files changed, 27 insertions, 13 deletions
diff --git a/tools/themeparser.py b/tools/themeparser.py
index 98fefcb314..797f2600b2 100644
--- a/tools/themeparser.py
+++ b/tools/themeparser.py
@@ -529,23 +529,37 @@ class STXBinaryFile:
def __parseRender(self, renderDom):
self.debug("GLOBAL SECTION: RENDER INFO.")
- paletteDom = renderDom.getElementsByTagName("palette")[0]
- bitmapsDom = renderDom.getElementsByTagName("bitmaps")[0]
- fontsDom = renderDom.getElementsByTagName("fonts")[0]
- defaultsDom = renderDom.getElementsByTagName("defaults")[0]
-
- self.__parsePalette(paletteDom)
-
- bitmapBIN = self.__parseBitmaps(bitmapsDom)
- fontsBIN = self.__parseFonts(fontsDom)
+ bitmapBIN = ""
+ fontsBIN = ""
cursorBIN = ""
drawdataBIN = ""
- for cur in renderDom.getElementsByTagName("cursor"):
- cursorBIN += self.__parseCursor(cur)
+ # parse color palettes
+ paletteDom = renderDom.getElementsByTagName("palette")
+ if paletteDom:
+ self.__parsePalette(paletteDom[0])
+
+ # parse bitmaps
+ bitmapsDom = renderDom.getElementsByTagName("bitmaps")
+ if bitmapsDom:
+ bitmapBIN = self.__parseBitmaps(bitmapsDom[0])
+
+ # parse fonts
+ fontsDom = renderDom.getElementsByTagName("fonts")[0]
+ fontsBIN = self.__parseFonts(fontsDom)
- self._globalDefaults = self.__parseDrawStep(defaultsDom)
+ # parse defaults
+ defaultsDom = renderDom.getElementsByTagName("defaults")
+ if defaultsDom:
+ self._globalDefaults = self.__parseDrawStep(defaultsDom[0])
+ else:
+ self._globalDefaults = {}
+ # parse cursors
+ for cur in renderDom.getElementsByTagName("cursor"):
+ cursorBIN += self.__parseCursor(cur)
+
+ # parse drawdata sets
for dd in renderDom.getElementsByTagName("drawdata"):
drawdataBIN += self.__parseDrawData(dd)
@@ -556,6 +570,6 @@ class STXBinaryFile:
return renderInfoBIN
if __name__ == '__main__':
- bin = STXBinaryFile('../gui/themes/scummmodern', True, True)
+ bin = STXBinaryFile('../gui/themes/scummclassic', True, True)
bin.parse()
\ No newline at end of file