aboutsummaryrefslogtreecommitdiff
path: root/scripts/rcc
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2020-03-30 14:08:41 +0300
committerAqua-sama <aqua@iserlohn-fortress.net>2020-03-30 14:17:00 +0300
commitf9ea03470e3a0bbe67ccb0a531dcf0e39aec1e90 (patch)
treea2079e6810e083ed437d2c0f1b9b1fe0bba27776 /scripts/rcc
parentDrop dependency on serge-sans-paille/frozen (diff)
downloadrcc-f9ea03470e3a0bbe67ccb0a531dcf0e39aec1e90.tar.xz
Move scripts/rcc to top level
- add rcc generator for use when importing as subproject
Diffstat (limited to 'scripts/rcc')
-rwxr-xr-xscripts/rcc49
1 files changed, 0 insertions, 49 deletions
diff --git a/scripts/rcc b/scripts/rcc
deleted file mode 100755
index 479b609..0000000
--- a/scripts/rcc
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-import sys
-from zstd import zstd
-from rcc_format import *
-
-def none(filelist, args):
- write_header(args.output, args.namespace)
-
- for f in filelist:
- with open(f.path, 'rb') as contents:
- write_item(args.output, f.variable, contents.read())
-
- write_entries(args.output, filelist)
- print("constexpr auto compression = embed::None;", file=args.output)
-
- write_footer(args.output, args.namespace)
-
-if __name__ == "__main__":
- parser = argparse.ArgumentParser(
- description='Resource Compiler for C++',
- epilog='For a full list of compression options, check {mode} --help.',
- )
-
- mode = parser.add_subparsers(help='compression mode')
-
- none_mode = mode.add_parser('-')
- none_mode.set_defaults(func=none)
-
- zstd_mode = mode.add_parser('Zstd',
- description='use Zstd compression',
- epilog='A dictionary is recommended if compressing many small files. size(source)/size(dictionary) should be >= 10'
- )
- zstd_mode.add_argument('--binary', type=str, default='zstd', help='zstd binary name')
- zstd_mode.add_argument('--train', type=argparse.FileType('wb'), help='train dictionary and exit')
- zstd_mode.add_argument('-d', '--dict', type=argparse.FileType('rb'), help='use dictionary, recommended for many similar small files')
- zstd_mode.add_argument('--dsize', type=int, default=512, help='dictionary size, used for training')
- zstd_mode.add_argument('-l', '--level', type=int, default=19, help='compression level')
- zstd_mode.set_defaults(func=zstd)
-
- parser.add_argument('input', type=argparse.FileType('rt'), help='input file (.xrc)')
- parser.add_argument('-o', '--output', type=argparse.FileType('wt'), default=sys.stdout, help='output header file')
- parser.add_argument('-n', '--namespace', type=str, default='resources', help='namespace')
-
- args=parser.parse_args()
-
- args.func(filelist(args.input), args)
-