diff options
author | Paul Gilbert | 2016-07-26 19:48:14 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-26 19:48:14 -0400 |
commit | 504cf6ecb688a3f1c65a857bffd527d8b0e6ba63 (patch) | |
tree | 0c0d96d4061c11850c851f0fc981c75a58c20515 /gui/themes/scummtheme.py | |
parent | d8c28d15ae553d047b7e571f98727fa79ee143f3 (diff) | |
parent | e19922d181e775791f9105b8be7ff410770ede51 (diff) | |
download | scummvm-rg350-504cf6ecb688a3f1c65a857bffd527d8b0e6ba63.tar.gz scummvm-rg350-504cf6ecb688a3f1c65a857bffd527d8b0e6ba63.tar.bz2 scummvm-rg350-504cf6ecb688a3f1c65a857bffd527d8b0e6ba63.zip |
Merge branch 'master' into xeen
Diffstat (limited to 'gui/themes/scummtheme.py')
-rwxr-xr-x | gui/themes/scummtheme.py | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/gui/themes/scummtheme.py b/gui/themes/scummtheme.py index 94dc08f1ef..d5fa4dfca7 100755 --- a/gui/themes/scummtheme.py +++ b/gui/themes/scummtheme.py @@ -35,11 +35,15 @@ def buildAllThemes(): if os.path.isdir(os.path.join('.', f)) and not f[0] == '.': buildTheme(f) -def parseSTX(theme_file, def_file): +def parseSTX(theme_file, def_file, subcount): comm = re.compile("<!--(.*?)-->", re.DOTALL) head = re.compile("<\?(.*?)\?>") strlitcount = 0 + subcount += 1 + + def_file.write(";\n const char *defaultXML" + str(subcount) + " = ") + output = "" for line in theme_file: output += line.rstrip("\r\n\t ").lstrip() @@ -55,8 +59,12 @@ def parseSTX(theme_file, def_file): for line in output.splitlines(): if line and not line.isspace(): strlitcount += len(line) + if strlitcount > 65535: + subcount += 1 + def_file.write(";\n const char *defaultXML" + str(subcount) + " = ") + strlitcount = len(line) def_file.write("\"" + line + "\"\n") - return strlitcount + return subcount def buildDefTheme(themeName): def_file = open("default.inc", "w") @@ -64,8 +72,8 @@ def buildDefTheme(themeName): if not os.path.isdir(themeName): print ("Cannot open default theme dir.") - def_file.write(""" "<?xml version = '1.0'?>"\n""") - strlitcount = 24 + def_file.write("""const char *defaultXML1 = "<?xml version = '1.0'?>"\n""") + subcount = 1 filenames = os.listdir(themeName) filenames.sort() @@ -73,16 +81,16 @@ def buildDefTheme(themeName): filename = os.path.join(themeName, filename) if os.path.isfile(filename) and filename.endswith(".stx"): theme_file = open(filename, "r") - strlitcount += parseSTX(theme_file, def_file) + subcount = parseSTX(theme_file, def_file, subcount) theme_file.close() - def_file.close() + def_file.write(";\nconst char *defaultXML[] = { defaultXML1") + for sub in range(2, subcount + 1): + def_file.write(", defaultXML" + str(sub)) - if strlitcount > 65535: - print("WARNING: default.inc string literal is of length %d which exceeds the" % strlitcount) - print(" maximum length of 65536 that C++ compilers are required to support.") - print(" It is likely that bugs will occur dependent on compiler behaviour.") - print(" To avoid this, reduce the size of the theme.") + def_file.write(" };\n") + + def_file.close() def printUsage(): print ("===============================") |