|
16 | 16 |
|
17 | 17 |
|
18 | 18 |
|
19 | | - |
20 | | -# standalone vgmplay???? |
21 | 19 | EXTRA_MACHINES = [ |
22 | | - "vgmplay", |
23 | | - "a2pcxport" |
| 20 | + "vgmplay" |
24 | 21 | ] |
25 | 22 |
|
26 | 23 | EXCLUDE = set() |
@@ -54,34 +51,28 @@ def fix_machine_description(x, devname): |
54 | 51 | return x |
55 | 52 |
|
56 | 53 |
|
57 | | -p = argparse.ArgumentParser() |
58 | | -p.add_argument('--full', action='store_true') |
59 | | -p.add_argument('--extra', action='store_true') |
60 | | -p.add_argument('machine', nargs="*") |
61 | | -args = p.parse_args() |
62 | | - |
63 | | -extra = args.extra |
64 | | -machines = args.machine |
65 | | -if not machines: |
66 | | - if extra: |
67 | | - machines = [ *MACHINES_EXTRA, *EXTRA_MACHINES] |
68 | | - else: |
69 | | - machines = [ *MACHINES, *EXTRA_MACHINES] |
70 | 54 |
|
71 | 55 | romdata = { } |
72 | 56 | parents = set() |
73 | 57 | processed = set() |
74 | 58 |
|
75 | | -for mname in machines: |
| 59 | +def process_machine(mname): |
| 60 | + |
| 61 | + global romdata |
| 62 | + global parents |
| 63 | + global processed |
| 64 | + global EXCLUDE |
76 | 65 |
|
77 | 66 | print(mname) |
78 | 67 |
|
| 68 | + |
| 69 | + |
79 | 70 | xml = mame.run(mname, "-listxml") |
80 | 71 | root = ET.fromstring(xml) |
81 | 72 |
|
82 | 73 | # todo -- if child in included and has roms, mark them with the parent. |
83 | 74 |
|
84 | | - first = True |
| 75 | + # first = True |
85 | 76 | # included = set() |
86 | 77 | for m in root.findall('./machine'): |
87 | 78 |
|
@@ -111,15 +102,36 @@ def fix_machine_description(x, devname): |
111 | 102 | # continue |
112 | 103 |
|
113 | 104 |
|
114 | | -ROMS = [{ 'value': k, 'description': fix_machine_description(v, k)} for k, v in romdata.items()]; |
115 | | -ROMS.sort(key=lambda x: x.get('description')) |
116 | | -# print(ROMS) |
| 105 | + |
| 106 | +p = argparse.ArgumentParser() |
| 107 | +p.add_argument('--full', action='store_true') |
| 108 | +p.add_argument('--extra', action='store_true') |
| 109 | +p.add_argument('machine', nargs="*") |
| 110 | +args = p.parse_args() |
| 111 | + |
| 112 | +extra = args.extra |
| 113 | +machines = args.machine |
| 114 | +if not machines: |
| 115 | + if extra: |
| 116 | + machines = [ *MACHINES_EXTRA, *EXTRA_MACHINES] |
| 117 | + else: |
| 118 | + machines = [ *MACHINES, *EXTRA_MACHINES] |
| 119 | + |
| 120 | + |
| 121 | + |
| 122 | +for mname in machines: |
| 123 | + process_machine(mname) |
| 124 | + |
117 | 125 |
|
118 | 126 | missing = parents - processed |
119 | 127 | if len(missing): |
120 | 128 | print('Missing parents:') |
121 | | - for x in missing: print(x) |
| 129 | + for x in missing: process_machine(x) |
| 130 | + |
122 | 131 |
|
| 132 | +ROMS = [{ 'value': k, 'description': fix_machine_description(v, k)} for k, v in romdata.items()]; |
| 133 | +ROMS.sort(key=lambda x: x.get('description')) |
| 134 | +# print(ROMS) |
123 | 135 |
|
124 | 136 | if extra: |
125 | 137 | path = "../Ample/Resources/roms~extra.plist" |
|
0 commit comments