-
Notifications
You must be signed in to change notification settings - Fork 5
/
changelog.txt
692 lines (422 loc) · 29.2 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
[B]AML ideas and planned features (more futuristic ideas)[/B]
WIP [CORE] JSON database files (specially MAME_DB_main.json, MAME_DB_render.json and
MAME_assets.json) could be compressed with DEFLATE to reduce the size on disk. They
will decompressed on the fly. I have to test if this is faster than no compression at all.
Use low values of compression in the deflate algorithm. Maximum compression is very
slow but less compression is fast and may reduce the JSON file size a lot.
According to Zachmorris, MessagePack is the fastest serialization method in Python 3.
The module xmltodict is also very interesting and the performance very good in Python 3.
See https://forum.kodi.tv/showthread.php?tid=329315&pid=2975588#pid2975588
See https://github.com/vsergeev/u-msgpack-python
See https://github.com/martinblech/xmltodict
WIP [AUDIT] Samples distributed with MAME are uncompressed and not stored into ZIP files.
The MAME audit engine must take this into account.
See comments in mame_scan_MAME_ROMs() @mame.py
WIP [CORE] AML/AEL must report the aspect ratio of artwork to the skin.
How to implement this? Using PIL?
I think best way is that core developers expose the image aspect ratio to the
skin using infolabels.
[B]AML ideas and planned features (read to implement)[/B]
WIP [DOCS] Improve the AML wiki in Github and move documentation from Kodi forum to
Github wiki.
WIP [CORE] Implement the "Read-only launchers". ROLs are XML files that include the
launcher information as well as the ROMs information. ROLs are generated with AML,
can be exported as XML and then used with AEL. AEL will handle ROLs as read-only
(cannot be edited). If a ROL should be changed, then the XML is edited or regenerated
and then imported again into AML.
WIP [MANUALS] Increase the number of supported PDF filters.
This may require A LOT of Python coding.
WIP [MANUALS] Support for CBZ/CBR manuals.
In theory Kodi VFS is able to read RAR files.
Wait until this is implemented in AEL and then port it from AEL into AML?
WIP [CORE] Recursive context menus.
Pay attention to the select() bug in Kodi Krypton.
This requires Kodi version detection and having different code for Krypton/Leia.
Start with the context menu in which recursiveness ir more useful.
WIP [GRAPHICS] Optimize the generation of 3D boxes.
Cache the background images used in all boxes.
WIP [GRAPHICS] Respect the aspect ratio in 3D boxes. For example, if the poster in the
front size of the 3D box is square the 3D box must be square, do not strech the
poster texture. ScreenScraper respects the aspect ratio of the 3D boxes, have
a look at examples there (for example, see Mega Drive 3D box and PSX 3D box).
WIP Retroarch core MAME 2003 Plus allows to save the MAME XML file needed by AML.
In this core, the XML is extracted using the MAME internal menu, which must be
opened with the Retroarch core options menu. The XML file is saved in the SAVES
directory with name mame2003-plus/mame2003-plus.xml
Exploit this to give support to MAME 2003 and then Android. According to
Chrisism, Retroarch is currently the best way to use MAME in Android.
TTBOMK, currently it is the only core to support this feature. Investigate if there
are more Retroarch cores with this feature.
See https://github.com/libretro/mame2003-libretro/pull/348
See https://github.com/libretro/mame2003-plus-libretro/pull/8
See https://github.com/libretro/mame2010-libretro/pull/123
See https://github.com/libretro/mame2010-libretro/tree/master/metadata
[B]Advanced MAME Launcher | version 1.0.3 | xx xxxxxx 2022[/B]
FEATURE [CORE] Imported some code from AEL master branch to equalize code between both addons.
FEATURE [CORE] Minor changes and improvements: improved SL standard ROM viewer, improved SL
audit ROM viewer, ...
[B]Advanced MAME Launcher | version 1.0.2 | 18 June 2021[/B]
NOTE Version was bumped to 1.0.2 to keep feature-sync with 0.10.2
FEATURE [CORE] Synched utils.py and misc.py with AEL.
FEATURE [CORE] Support new history.dat XML format.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=3029005#pid3029005
[B]Advanced MAME Launcher | version 1.0.1 | non-released[/B]
NOTE This version was never uploaded to the Kodi repo.
FIX [CORE] Fix crash when building Controls (Expanded) catalog in MAME 2003 Plus mode.
Also fixed Controls (Expanded) and Controls (Compact) catalogues for empty controls.
FIX [CORE] Fix SKIN_SHOW_* launchers.
FIX [CORE] Fix bug in mame_update_MAME_MostPlay_objects().
[B]Advanced MAME Launcher | version 1.0.0 | 27 November 2020[/B]
FEATURE [CORE] Port the addon to Kodi Matrix and Python 3.
FEATURE [CORE] xbmc.translatePath is deprecated in Matrix, use xbmcvfs.translatePath instead.
FIX [MANUALS] The pdfwr library is not working well with Python 3. PDF image extraction
have been disabled until this issue is fixed.
[B]Advanced MAME Launcher | version 0.10.2 | 18 June 2021[/B]
NOTE Code synched with 1.0.2.
FEATURE [CORE] Synched utils.py and misc.py with AEL.
FEATURE [CORE] Support new history.dat XML format.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=3029005#pid3029005
[B]Advanced MAME Launcher | version 0.10.1 | 04 February 2021[/B]
FIX [CORE] Fix crash when building Controls (Expanded) catalog in MAME 2003 Plus mode.
Also fixed Controls (Expanded) and Controls (Compact) catalogues for empty controls.
FIX [CORE] Fix SKIN_SHOW_* launchers.
FIX [CORE] Fix bug in mame_update_MAME_MostPlay_objects().
[B]Advanced MAME Launcher | version 0.10.0 | 27 November 2020[/B]
FEATURE [CORE] Big code refactoring to prepare Kodi Python API changes.
FEATURE [CORE] Include Software Lists that have no associated MAME machines in "Machines
by Software List" filter.
FEATURE [CORE] Create branch python2 and place series 0.10.x into this branch.
FEATURE [CORE] Support Retroarch MAME 2003 Plus.
FEATURE [FILTERS] Implement filtering options NoMissingROMs, NoMissingCHDs and NoMissingSamples.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=2964109#pid2964109
FEATURE [CORE] Different colours for different filters in the root window.
FEATURE [CORE] In the Setup Plugin CM, Build Fanarts and 3D boxes: add an option to
build all the Fanarts and 3D boxes at once.
FEATURE [CORE] Reorganised the Setup Plugin context menu a bit.
FEATURE [CORE] Export MAME info with billyc999s XML format.
FEATURE [CORE] New Utility "Show machines with biggest ROMs"
FEATURE [CORE] New Utility "Show machines with smallest ROMs"
FEATURE [CORE] Disable Kodi screensaver when launching MAME and reenable after MAME finishes.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=2934194#pid2934194
FIX [CORE] Fixed crash when creating ROM audit database when MAME CHD set was SPLIT.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=2975566#pid2975566
FIX [CORE] Fix parsing of mameinfo.dat 0.226.
[B]Advanced MAME Launcher | version 0.9.12 | 10 February 2020[/B]
FEATURE Create a new infolabel $INFO[ListItem.Property(history)] which shows the contents
of history.dat for a machine. Add an option to include the contents of History.DAT
in the asset database.
Once this is tested remove the code to include History.DAT in the plot.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=2916270#pid2916270
FEATURE Option to hide MAME machine flags.
Contributed by Rychem28.
FEATURE Option to hide SL item flags.
Contributed by Rychem28.
FEATURE Option to display only SL items with ROMs/CHDs available.
Contributed by Rychem28.
FIX Fixed parsing of History.dat 2.17.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=2913592#pid2913592
[B]Advanced MAME Launcher | version 0.9.11 | 26 November 2019[/B]
FEATURE [CORE] For Software Lists, instead of showing the number of ROMs show the number
of Items in Flat display mode or Parents in Parent/Clone display mode.
FEATURE [CORE] Support for MASH's Alltime.ini.
FEATURE [CORE] Improvements in the JSON index of DAT files. Use dictionaries and not list
to reduce JSON file size and speed up data access.
FEATURE [CORE] Improved main statistics.
FEATURE [CORE] Improve some Software List long names until they are fixed in MAME repository.
FIX Fixed conversion to int of addon version str in fs_AML_version_str_to_int()
FIX New history.dat makes AML to crash because one entry could be for more than one
machine. In addition, the same description can be used over several SLs.
[B]Advanced MAME Launcher | version 0.9.10 | 10 May 2019[/B]
FEATURE Option to disable Software Lists at all in Vanilla MAME mode.
FEATURE Management of MAME Favourite objects (delete missing, delete single).
FEATURE Management of SL Favourite objects (delete missing, delete single).
FEATURE Initial support for Retroarch MAME 2003 Plus core.
FEATURE [CORE] Ability to export DAT files in Logiqx format for MAME ROMs and MAME CHDs.
FEATURE [CORE] Differentiate between Non-merged and Fully non-merged MAME ROM sets.
Non-merged sets do not include BIOS and device ROMs.
Fully non-merged sets include BIOS and devices ROMs (every ROM required to run each
machine). Pleasuredome ROM sets are Fully non-merged.
This needs more testing.
FEATURE [FILTERING] Test the filters for errors. For example, test that all the drivers
defined in <Driver> exist. Another example, test that the genres defined in
<Genre> and the controls defined in <Controls> exist.
FEATURE [FILTERING] Warn the user if errors found in the XML filter definition, maybe in
a report the user can read later.
FEATURE [FILTERING] Make a filter report the user can read. Now, only the number of machines
after filtering is reported.
FEATURE [GRAPHICS] Generate MAME machines and SL items 3D Boxes.
FEATURE [GRAPHICS] Refactoring of the Fanart and 3D Box code generation. Creation of graphics.py.
FEATURE [GRAPHICS] Only generate 3D Boxes if both Fyler and Clearlogo (MAME) or Boxfront (SL)
are present. Avoid having empty 3D boxes.
FEATURE [CORE] Improved filter "Machines by Display Type" and removed filter
"Machines by Display Rotation."
FEATURE [CORE] New catalog filter "Machines by Display VSync freq." Inspired by
MASH's MAMEINFO Vsync.ini.
FEATURE [CORE] New catalog filter "Machines by Display Resolution" Inspired by
MASH's MAMEINFO Screen.ini.
FEATURE [CORE] New catalog filter "Machines by CPU" Inspired by
MASH's MAMEINFO CPU.ini.
FEATURE [CORE] Rewrite the INI loading engine.
See comments in header of function mame_load_INI_datfile().
FEATURE [CORE] New INI file Artwork.ini (produced by MASH's MAMEINFO).
Catalog filter "Machines by Artwork".
Note that Artwork.ini places the same machine in different categories. Maybe other
INIs do the same and currently AML does not support this. This requires
some changes in AML engine.
FEATURE New catalog "Version added"
FEATURE [CORE] New INI file Category.ini (produced by MASH's MAMEINFO).
Catalog filter "Machines by Category".
FEATURE [CORE] New "All in one (Extract, Build and Scan)" options:
1) Delete current to "All in one (Extract, Build, Scan)"
2) Add "All in one (Extract, Build, Scan, Filters)"
3) Add "All in one (Extract, Build, Scan, Filters, Audit)"
FEATURE [CORE] By request of Rufoo, support MAME 3dboxes.
FIX Fixed a couple of crashes when executing context menus, thanks to Dax9.
See https://forum.kodi.tv/showthread.php?tid=304186&pid=2838180#pid2838180
FIX Fix the render_skin_*() functions. These are called by skins to get a list of
filters.
[B]Advanced MAME Launcher | version 0.9.9 | 22 March 2019[/B]
FEATURE [CORE] Improve statistics of working, non-working games, etc. for the Main filters.
FEATURE [CORE] [LEIA] Check out the ListItem constructor offscreen parameter in Leia.
The offscreen parameter increases the speed a bit.
This requires Kodi version detection and having different code for Krypton/Leia.
See https://forum.kodi.tv/showthread.php?tid=329315&pid=2711937#pid2711937
and https://forum.kodi.tv/showthread.php?tid=307394&pid=2531524
FEATURE [CORE] [LEIA] Use the new API function ListItem.setProperties({p1:v1, p2:v2, ...})
This requires Kodi version detection and having different code for Krypton/Leia.
See https://forum.kodi.tv/showthread.php?tid=332283
FEATURE [FANARTS] Set an order to print fanart assets. This will allow to have images printed
on top of each other.
FEATURE [CORE] Improve the Samples scanner and report.
FEATURE [CORE] MAME and SL plots build timestamp.
FEATURE [CORE] MAME and SL Fanart build timestamp.
FEATURE [CORE] MAME render and asset cache build timestamp.
FEATURE [CORE] Move the utilities from the addon settings into the root menu.
FEATURE [CORE] Move the report viewer from the context menu to the root menu. The context
menu is a little bit overloaded and this will alleviate the situation.
FEATURE [CORE] Use xbmcplugin.addDirectoryItems() instead of xbmcplugin.addDirectoryItem().
According to the docs "Large lists benefit over using the standard addDirectoryItem().
You may call this more than once to add items in chunks."
FEATURE [CORE] Configuring every DAT and INI file one by one is tedious. Instead, define
a directory where the DATs must be placed and pick the files from there automatically.
FEATURE [CORE] Add plots for entries in the root window.
FEATURE [CORE] Renamed the "Machines by Score" filter to "Machines by Rating", to avoid
confusing with scores in games.
FEATURE [CORE] Implement context menu "All in one (Extract, Build and Scan)"
FEATURE [CORE] Refactoring and code cleaning of the addon setup functions (DB build, scanner).
FEATURE [CORE] Remove redundant fields from MAME DB 'coins' and 'control_type'. Use new
'input' data structure to replace them.
FEATURE [CORE] At least two directories for samples are needed. MAME includes a default samples
directory with some samples used by some machines. Both directories must be configured
in mame.ini in order to get all the samples working.
NOTE This feature was cancelled. Only one Samples directory. If the user wants to have
a complete Good audit, then the samples shipped with MAME must be compressed and
the ZIP file placed in the unique samples directory. In any case, only three machines
are affected.
FEATURE [FILTERING] Implement <Include>, <Exclude> and <Change> tags.
This will require more work than expected. Currently, only parent machines are filtered
and clone machines are added after the filtering process. However, to implement
Include, Exclude and Change tags, all machines must be included in the filter list.
This will require modification of the filter render engine (must be rendered always in
flat mode and not in parent/clone mode).
FEATURE [MANUALS] Progress bar when extracting PDF pages.
FEATURE [MANUALS] When displaying manuals use cached extracted images if they exist.
When the manual is extracted, create a small JSON file with the timestamp of
the extraction so it can be compared with the timestamp of the PDF file to
test if images must be extracted again.
FIX In MAME 0.206, some clone merged ROMs are not present in the parent machine, only
in the BIOS. For example, in machine adonisce (clone of adonis). Before 0.206, such
ROMs were also present on the parent machine. This change in behaviour crashed AML.
FIX Fixed the AML addon and MAME numerical versioning scheme.
FIX Fix crash in "Build MAME databases".
See https://forum.kodi.tv/showthread.php?tid=304186&pid=2822949#pid2822949
FIX Some Software List ROMs are compressed using non-ASCII characters and this make
the audit engine to crash. I have to investigate how to fix this issue.
Maybe use the chardet library https://github.com/Wintermute0110/chardet/tree/master/chardet
I think this should reported creating an issue in MAME project in Github.
Problematic SL ROM example: SL ibm5170, item wordfndr
https://github.com/mamedev/mame/blob/master/hash/ibm5170.xml#L7521
The current implementation just ignores non-ASCII files and the audit fails for those
SL items.
[B]Advanced MAME Launcher | version 0.9.8 | 23 June 2018[/B]
FEATURE [DOCS] Documentation in README.md improved.
FEATURE [LEIA] Kodi Leia will cache the Python interpreter which means submodules will only
be executed once and cached. sys.argv must be propagated from the entry point code
into the submodules.
See https://github.com/xbmc/xbmc/pull/13814
and https://forum.kodi.tv/showthread.php?tid=303073&pid=2729071#pid2729071
FIX Changed source code files to remove BOM. This is necessary to pass Travis tests of
Kodi official repo.
FIX ActivateWindow(busydialog) and Dialog.Close(busydialog) have been deprecated.
Use DialogProgress() for all operations.
See https://github.com/xbmc/xbmc/pull/13958
and https://github.com/xbmc/xbmc/pull/13954
and https://github.com/xbmc/xbmc/pull/10699
FIX Do not use the xbmc.Player() in launcher addons. Instead, use functions like
xbmc.getCondVisibility("Player.HasMedia"), xbmc.executebuiltin("PlayerControl(stop)"), etc.
Change proposed by enen92.
See https://github.com/xbmc/repo-plugins/pull/1886#discussion_r196591764
[B]Advanced MAME Launcher | version 0.9.7 | 09 June 2018[/B]
FEATURE Implemented settings "display_rom_available" and "display_chd_available".
FEATURE [LAUNCH] Implement "Action on Kodi playing media", "After/before launch delay (ms)", and
"Suspend/resume Kodi audio engine".
See https://github.com/Wintermute0110/plugin.program.AML/issues/3
FEATURE [MAME FILTERING] Improve the Custom Filters (add more filtering options as defined
in the reference filter file `AML-MAME-filters-reference.xml`).
FEATURE [CORE] Render the `In Favourites` flag for MAME machines.
FEATURE [CORE] Optimize the rendering of ROMs in 3 steps: a) Loading, b) Processing and c) Rendering.
Processing computes all data to render ROMs and Rendering calls Kodi functions. This will
allow to measure how long does it take to call the Kodi functions for ListItem generation.
FEATURE [CORE] Reduce the memory consumption during the database generation.
By default use the options OPTION_COMPACT_JSON = True and OPTION_LOWMEM_WRITE_JSON = True
See https://stackoverflow.com/questions/24239613/memoryerror-using-json-dumps
FIX Fix crash when executing "Check/Update all objects" if Favourites are empty.
[B]Advanced MAME Launcher | version 0.9.6 | 25 May 2018[/B]
FEATURE Improve the user experience when the addon is just installed. Check if databases
have been built, check for errors, etc.
FEATURE Add a isMature field to MAME DB. Take the mature information from mature.ini included
in the Catver.ini ZIP file.
FEATURE Option in settings to completely hide Mature machines and filter categories.
FEATURE Asset hashed database. This will speed up launching MAME machines. Note that the asset
DB must be opened for the Most Played and Recently Played DBs.
FEATURE Prettify the "Display rotation" filter (use Horizontal/Vertical instead of numbers).
FEATURE Include number of buttons in controls and some other control information.
FEATURE Add the Samples of each machine to the ROM database.
FEATURE Audit the ROM samples inside ZIP files.
FEATURE Implement "Most played MAME machines"
FEATURE Implement "Recently played MAME machines"
FEATURE Option in settings to update all MAME and SL Favourite ROMs. Useful for plugin upgrades.
FEATURE Implement "Most played SL ROMs"
FEATURE Implement "Recently played SL ROMs"
[B]Advanced MAME Launcher | version 0.9.5 | 11 May 2018[/B]
FEATURE Option to disable the ROM and asset caches.
FEATURE CRC32 hash collision detector for MAME and SL ROMs.
FEATURE MAME ROM and asset cache disable by default. They may be enabled by user that want to
increase the loading speed. This will be very useful for develpment because
cache rebuilding takes a long time.
FEATURE Check if AML configuration is OK or not, and warn the user about warnings/errors.
FEATURE Improved PDF manual rendering. Use the library pdfrw for image extraction.
FEATURE Clean ROM cache before rebuilding cache.
FEATURE Clean asset cache before rebuilding cache.
FEATURE Clean filters directory before rebuilding custom filters.
FEATURE MAME audit statistics.
FEATURE SL audit statistics.
FEATURE Support for SL Merged ROM/CHD sets (currently only Split).
FEATURE Added audit timestamps (MAME machines and Software Lists).
FEATURE Move driver aristmk5.cpp (Aristocrat gambling machines) from Standard to Unusual.
Also, adp.cpp, mpu4vid.cpp, cubo.cpp, sfbonus.cpp, peplus.cpp.
FIX Software List ROM size was stored as string and not as int. This made the SL Audit to
completely fail.
FIX Fixed audit of MAME machine ROMs (wrong function name).
FIX Lots of fixes to MAME ROM audit engine.
FIX Lots of fixes to Software Lists audit engine.
[B]Advanced MAME Launcher | version 0.9.4 | 29 March 2018[/B]
FEATURE File cache for SL ROMs/CHDs and SL assets.
FEATURE Port the file scanner cache from AEL to AML. This will increase the scanning speed a lot!
Also, this will allow supporting more image types (currently only PNG), manual
types (currently only PDF) and trailer types (currently MP4 only).
FEATURE Create an AEL virtual launcher in XML from any AML filter.
FEATURE Use proper Software List name in "Machines by Software List" filter.
FEATURE Use proper short name in "Machines by MAME short name" filter.
FEATURE Clean Render and main machine JSON files. Currently, there are repeated fields on both
databases like nplayers.
FEATURE Move flags and plot from the render database to the assets database. Flags are modified
by the scanner only and plot generated after the scanner. If flags and plot are in
the asset DB, the ROM cache and hashed DB must be regenerated after the database building
only and not always like now.
FEATURE Render PDF manuals consisting of image scans (99% of game manuals are scans of images).
Thank you very much to i96751414 for allowing use of his PDF reader addon code.
Have a look at the PDF reader addon https://forum.kodi.tv/showthread.php?tid=187421
and https://github.com/i96751414/plugin.image.pdfreader
This initial implementation somewhat works for some PDFs but code can be improved a lot.
FEATURE Create a hased database for all catalog filter combination. This will require the
creation of about 5000 json files but will make AEL as fast as possible.
FEATURE Hashed database for assets, in a similar fashion to the catalog ROM hashed database.
FEATURE Make a ROM cache and a assets cache for the MAME filters. That will increase the
loading speed of the MAME filters a lot.
FEATURE Support MAME artwork by Mr. Do's. Note that Clones use Parent's artwork automatically.
FEATURE Use Parent/Clone substituted artwork in MAME. For example, most trailers are only available
for the Parent machine and can be used by Clone machines.
FEATURE Use Parent/Clone substituted artwork in Software Lists.
FEATURE Build Fanarts from other pieces of artwork for Software List items.
FEATURE Build Fanarts from other pieces of artwork for MAME machines.
FEATURE Test MAME and SL Fanart building.
FEATURE Custom MAME filters, using XML files. Merge some of the functionality of NARS into AML.
First, give to support to filter by driver. Later, more filters can be added.
FEATURE "Browse by MAME short name" and "Browse by MAME long name" alphabetical catalogs.
FEATURE Renamed plugin from plugin.program.advanced.MAME.launcher to plugin.program.AML.
Shorter name, shorter databases, higher speed.
FEATURE Some skin helper commands to display widgets.
FEATURE Support bestgames.ini and series.ini.
FEATURE Generate machine plot from MAME XML information.
FEATURE New Main filters Normal and Unusual.
FEATURE Show ROMs of a MAME machine that should be in a ZIP file. Supports Merged, Split and
Non-merged sets, CHDs, BIOS and Devices with ROMs.
FEATURE Audit MAME ROMs for all machines.
FEATURE Show SL ROMs of a SL entry. Supports Merged, Split and Non-merged sets and SL CHDs.
FEATURE Audit SL ROMs.
FEATURE Display MAMEINFO.DAT information.
FEATURE Display HISTORY.DAT in information.
FEATURE Display gameinit.dat in information.
FEATURE Display command.dat in information.
FEATURE At launching, do not check ROMs for machines which doesn't have ROMs.
Requires loading machines database, which will slow down launching process a lot!
A hashed database of machines is necessary to speed up plugin.
Better solution for now: do not do any check. Let MAME fail if there are ROM/CHD errors.
FEATURE Allow user to choose default assets as AEL does in addon seetings.
FEATURE Trailer support in MAME machines and Software Lists.
FEATURE Manage MAME Favourites context menu.
FEATURE Manage SL Favourites context menu.
FEATURE Create a hased database for main ROM database and Audit ROM database.
[B]Advanced MAME Launcher | version 0.9.3 | 30 May 2017[/B]
FEATURE Ability to choose default Icon and Fanart for MAME and SL ROMs in addon settings.
FEATURE "Parent only" view mode.
FEATURE Plugin speed has been increased a lot owing to a brand new database design.
FEATURE Unified catalog system and new machine rendering method.
Requires wiping of ADDON_DATA_DIR to avoid problems.
FEATURE Properties can be configured for every individual list in AML.
FEATURE New Status Device flag. Marks wheter a device is mandatory or not.
FEATURE Show database statistics.
FEATURE Favourite MAME machines.
FEATURE Favourite Software Lists ROMs.
FEATURE Scan SL assets/artwork.
FEATURE Manage MAME Favourites.
[B]Advanced MAME Launcher | version 0.9.2 | 12 February 2017[/B]
FEATURE Ability to sort cataloged filters by number of machines.
FEATURE New Main Filter "Machines with no ROMs".
FEATURE Launch parents with no clones from the parents list in Catalogued filters.
FEATURE Use a fancy name for well-known MAME drivers.
FEATURE On filter `Machines by Software List`, substitute short SL name by the proper SL name.
FEATURE Display MAME stdout/stderr.
FEATURE Scan Software Lists.
FEATURE Launch machines with software lists.
FIX Use SORT_METHOD_LABEL_IGNORE_FOLDERS insead of SORT_METHOD_LABEL. This avoids folders
to be rendered first when sorting listitems alpahbetically.
[B]Advanced MAME Launcher | version 0.9.1 | 04 February 2017[/B]
FEATURE AML only works on Krypton now. Updated addon.xml with new fields.
FEATURE Add support for nplayers.ini.
FEATURE Count machines in "Extract MAME.xml" step and not in "Build MAME database" step.
FEATURE Print the number of clones each machine has. In general, print the number of items
on a submenu.
FEATURE Add catalog by Devices. This will help launching software list machines.
FEATURE In a parent list, if there is not clones, then add the ability to launch games from the
parent list. Only coded for indexed machines and not for cataloged machines.
See http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=108507#Post108507
FEATURE Switch in settings to diplay Working machines only.
See http://forum.kodi.tv/showthread.php?tid=304186&pid=2506150#pid2506150
FEATURE Improved categories in "Machines by Control Type catalog".
FIX "I get an error whenever trying to open any "Ball & Paddle" category. I'm pretty sure this
is due to the ampersand, because all the other categories I've tried work. This issue doesn't
affect ROMs with an ampersand in their name, like Cloak & Dagger."
See http://forum.kodi.tv/showthread.php?tid=304186&pid=2506150#pid2506150
Problem was that the '&' in the Kodi URL was not escaped.
[B]Advanced MAME Launcher | version 0.9.0 | 15 January 2017[/B]
Initial release
FEATURE Extract MAME.xml from MAME executable. Tested only on Linux.
FEATURE Generate main MAME machine database, indices and catalogs from MAME.xml.
FEATURE Scan ROMs and tell the user about Have/Missing ROMs.
FEATURE Launch MAME non-Software List (arcade) machines.
FEATURE Scan CHDs and samples.
FEATURE Scan assets and build assets database.
FEATURE Display MAME machine metadata/artwork.
FEATURE Build Software List catalog.