@@ -22,6 +22,7 @@ auto Mame2BML::main(Arguments arguments) -> void {
22
22
vector<string> driverNames = {};
23
23
if (!markupName.endsWith (" .xml" )) return print (" error: arguments in incorrect order\n " );
24
24
if (!outputName.endsWith (" .bml" )) return print (" error: arguments in incorrect order\n " );
25
+ if (arguments.size () == 0 ) return print (" error: mame driver or ares core name required\n " );
25
26
26
27
while (arguments.size ()) {
27
28
string driverName = arguments.take ();
@@ -35,11 +36,6 @@ auto Mame2BML::main(Arguments arguments) -> void {
35
36
36
37
output.print (" database\n " );
37
38
output.print (" revision: " , chrono::local::date (), " \n " );
38
- output.print (" drivers: " );
39
- for (auto driver : driverNames) {
40
- output.print (driver, " , " );
41
- }
42
- output.print (" \n " );
43
39
44
40
pathname = Location::path (markupName);
45
41
auto document = XML::unserialize (markup);
@@ -48,6 +44,11 @@ auto Mame2BML::main(Arguments arguments) -> void {
48
44
// machine list xml (from mame.exe -listxml)
49
45
if (header.name () == " mame" ) {
50
46
output.print (" romset: " , header[" build" ].string (), " \n " );
47
+ output.print (" drivers: " );
48
+ for (auto driver : driverNames) {
49
+ output.print (driver, " , " );
50
+ }
51
+ output.print (" \n " );
51
52
52
53
for (auto machine : header) {
53
54
if (machine.name () != " machine" ) continue ;
@@ -71,7 +72,7 @@ auto Mame2BML::main(Arguments arguments) -> void {
71
72
for (auto rom : machine) {
72
73
if (rom.name () == " rom" ) {
73
74
if (rom[" region" ].string () != region) {
74
- region = rom[" region" ].string ().replace (" :" , " " );
75
+ region = rom[" region" ].string ().replace (" :" , " - " );
75
76
output.print (" " , region, " \n " );
76
77
}
77
78
@@ -99,7 +100,9 @@ auto Mame2BML::main(Arguments arguments) -> void {
99
100
output.print (" title: " , software[" description" ].string (), " \n " );
100
101
output.print (" board: " , driverNames.first (), " \n " );
101
102
102
- for (auto sub : software[" part" ]){
103
+ print (" found " , software[" name" ].string (), " (" , software[" description" ].string (), " )\n " );
104
+
105
+ for (auto sub : software[" part" ]) {
103
106
if (sub.name () == " feature" ) {
104
107
output.print (" feature\n " );
105
108
output.print (" name: " , sub[" name" ].string (), " \n " );
@@ -108,7 +111,7 @@ auto Mame2BML::main(Arguments arguments) -> void {
108
111
}
109
112
110
113
if (sub.name () != " dataarea" ) continue ;
111
- output.print (" " , sub[" name" ].string ().replace (" :" , " " ), " \n " );
114
+ output.print (" " , sub[" name" ].string ().replace (" :" , " - " ), " \n " );
112
115
output.print (" size: " , sub[" size" ].natural (), " \n " );
113
116
114
117
for (auto rom : sub) {
0 commit comments