diff options
Diffstat (limited to 'gui/themes/scummtheme.py')
-rwxr-xr-x | gui/themes/scummtheme.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gui/themes/scummtheme.py b/gui/themes/scummtheme.py index 4c55fd79de..e8001f8bc6 100755 --- a/gui/themes/scummtheme.py +++ b/gui/themes/scummtheme.py @@ -37,6 +37,7 @@ def parseSTX(theme_file, def_file): comm = re.compile("<!--(.*?)-->", re.DOTALL) head = re.compile("<\?(.*?)\?>") + strlitcount = 0 output = "" for line in theme_file: output += line.rstrip("\r\n\t ").lstrip() + " \n" @@ -48,7 +49,9 @@ def parseSTX(theme_file, def_file): for line in output.splitlines(): if line and not line.isspace(): + strlitcount += len(line) def_file.write("\"" + line + "\"\n") + return strlitcount def buildDefTheme(themeName): def_file = open("default.inc", "w") @@ -57,16 +60,23 @@ def buildDefTheme(themeName): print ("Cannot open default theme dir.") def_file.write(""" "<?xml version = '1.0'?>"\n""") + strlitcount = 24 for filename in os.listdir(themeName): filename = os.path.join(themeName, filename) if os.path.isfile(filename) and filename.endswith(".stx"): theme_file = open(filename, "r") - parseSTX(theme_file, def_file) + strlitcount += parseSTX(theme_file, def_file) theme_file.close() def_file.close() + 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 printUsage(): print ("===============================") print ("ScummVM Theme Generation Script") |