summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-x[-rw-r--r--]scripts/build/complay.py0
-rwxr-xr-xscripts/build/file2lines.py96
-rw-r--r--scripts/src/emu.lua4
-rw-r--r--scripts/src/mame/frontend.lua8
4 files changed, 106 insertions, 2 deletions
diff --git a/scripts/build/complay.py b/scripts/build/complay.py
index ce760185015..ce760185015 100644..100755
--- a/scripts/build/complay.py
+++ b/scripts/build/complay.py
diff --git a/scripts/build/file2lines.py b/scripts/build/file2lines.py
new file mode 100755
index 00000000000..1a8cf897656
--- /dev/null
+++ b/scripts/build/file2lines.py
@@ -0,0 +1,96 @@
+#!/usr/bin/python
+##
+## license:BSD-3-Clause
+## copyright-holders:Vas Crabb
+
+import io
+import os
+import os.path
+import re
+import sys
+
+
+def write_output(text):
+ try:
+ dst.write(text)
+ except IOError:
+ if dstfile is not None:
+ sys.stderr.write('Error writing to output file \'%s\'\n' % dstfile)
+ dst.close()
+ os.remove(dstfile)
+ else:
+ sys.stderr.write('Error writing to output\n')
+ sys.exit(3)
+
+
+if __name__ == '__main__':
+ if (len(sys.argv) > 4) or (len(sys.argv) < 2):
+ print('Usage:')
+ print(' file2lines <source.txt> [<output.h> [<varname>]]')
+ sys.exit(0 if len(sys.argv) <= 1 else 1)
+
+ srcfile = sys.argv[1]
+ dstfile = sys.argv[2] if len(sys.argv) >= 3 else None
+ if len(sys.argv) >= 4:
+ varname = sys.argv[3]
+ else:
+ varname = os.path.basename(srcfile)
+ base, ext = os.path.splitext(varname)
+ if ext.lower() == '.txt':
+ varname = base
+ varname = 'lines_' + re.sub('[^0-9A-Za-z_]', '_', varname)
+
+ dst = None
+ try:
+ with io.open(srcfile, 'r', encoding='utf-8') as src:
+ if dstfile is not None:
+ try:
+ dst = io.open(dstfile, 'w', encoding='utf-8')
+ except IOError:
+ sys.stderr.write('Unable to open output file \'%s\'\n' % dstfile)
+ sys.exit(3)
+ else:
+ dst = sys.stdout
+ write_output(u'char const *const %s[] = {\n' % varname)
+ for line in src:
+ if line[-1] == u'\n':
+ line = line[:-1]
+ write_output(u'\t\t"')
+ i = 0
+ while i < len(line):
+ for j in range(i, len(line) + 1):
+ if j < len(line):
+ ch = line[j]
+ if (ch < u' ') or (ch > u'~') or (ch in u'\"\\'):
+ break
+ if j > i:
+ write_output(line[i:j])
+ if j < len(line):
+ ch = line[j]
+ if ch == u'\a':
+ write_output(u'\\a')
+ elif ch == u'\f':
+ write_output(u'\\f')
+ elif ch == u'\t':
+ write_output(u'\\t')
+ elif ch == u'\v':
+ write_output(u'\\v')
+ elif ch in u'\"\\':
+ write_output(u'\\' + ch)
+ else:
+ ch = ord(ch)
+ if ch < 0x20:
+ write_output(u'\\{0:03o}'.format(ch))
+ elif ch < 0x10000:
+ write_output(u'\\u{0:04X}'.format(ch))
+ else:
+ write_output(u'\\U{0:08X}'.format(ch))
+ i = j + 1
+ write_output(u'",\n')
+ write_output(u'\t\tnullptr };\n')
+ except IOError:
+ sys.stderr.write('Error reading input file \'%s\'\n' % srcfile)
+ if (dstfile is not None) and (dst is not None):
+ dst.close()
+ os.remove(dstfile)
+ sys.exit(2)
diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua
index 1561bb1b691..b8b08385e68 100644
--- a/scripts/src/emu.lua
+++ b/scripts/src/emu.lua
@@ -283,11 +283,11 @@ dependency {
}
custombuildtask {
- { MAME_DIR .. "scripts/font/NotoSans-Bold.bdc", GEN_DIR .. "emu/uismall.fh", { MAME_DIR .. "scripts/build/file2str.py" }, {"@echo Converting NotoSans-Bold.bdc...", PYTHON .. " $(1) $(<) $(@) font_uismall uint8_t" }},
+ { MAME_DIR .. "scripts/font/NotoSans-Bold.bdc", GEN_DIR .. "emu/uismall.fh", { MAME_DIR .. "scripts/build/file2str.py" }, { "@echo Converting NotoSans-Bold.bdc...", PYTHON .. " $(1) $(<) $(@) font_uismall uint8_t" } },
}
custombuildtask {
- { MAME_DIR .. "src/frontend/mame/ui/uicmd14.png" , GEN_DIR .. "emu/ui/uicmd14.fh", { MAME_DIR.. "scripts/build/png2bdc.py", MAME_DIR .. "scripts/build/file2str.py" }, {"@echo Converting uicmd14.png...", PYTHON .. " $(1) $(<) temp_cmd.bdc", PYTHON .. " $(2) temp_cmd.bdc $(@) font_uicmd14 uint8_t" }},
+ { MAME_DIR .. "src/frontend/mame/ui/uicmd14.png", GEN_DIR .. "emu/ui/uicmd14.fh", { MAME_DIR.. "scripts/build/png2bdc.py", MAME_DIR .. "scripts/build/file2str.py" }, { "@echo Converting uicmd14.png...", PYTHON .. " $(1) $(<) temp_cmd.bdc", PYTHON .. " $(2) temp_cmd.bdc $(@) font_uicmd14 uint8_t" } },
layoutbuildtask("emu/layout", "dualhovu"),
layoutbuildtask("emu/layout", "dualhsxs"),
diff --git a/scripts/src/mame/frontend.lua b/scripts/src/mame/frontend.lua
index cddda85c481..8253bf439b5 100644
--- a/scripts/src/mame/frontend.lua
+++ b/scripts/src/mame/frontend.lua
@@ -176,3 +176,11 @@ files {
}
pchsource(MAME_DIR .. "src/frontend/mame/audit.cpp")
+
+dependency {
+ { MAME_DIR .. "src/frontend/mame/ui/about.cpp", GEN_DIR .. "emu/copying.ipp" },
+}
+
+custombuildtask {
+ { MAME_DIR .. "COPYING", GEN_DIR .. "emu/copying.ipp", { MAME_DIR .. "scripts/build/file2lines.py" }, { "@echo Converting COPYING...", PYTHON .. " $(1) $(<) $(@) copying_text" } },
+}