AngelLoader: The Rest of the Scanner | Programming Talk
Witness the awesome detection prowess of the crown jewel of AngelLoader. Heck yeah!
"I thank the Builder that pride is no sin, else of it sinfully proud would I be!" -Father Karras
Corrections:
Broken Triad's miss22.mis does actually appear to be a real .mis file, but some FMs have just garbage data in their dummy .mis files. Or so I recall anyway. Point is, they're not actually used.
Video about the game type scanner: https://www.youtube.com/watch?v=DmxHfbS6eYo
00:00 - Intro
01:36 - Different FM formats: .zip, .7z, uncompressed
02:05 - Two code paths diverge in a yellow wood
03:12 - Performance is messy
03:39 - Cache FM Data: Loop once, do everything
06:59 - .mis files & used .mis files
08:14 - If multiple different titles are found, we keep them all
08:53 - Scan fminfo.xml, fm.ini, mod.ini
10:42 - Cache contents of readme files (converting to plaintext where necessary)
13:02 - Scan Release Date
15:27 - Scan Title from titles.str
21:30 - Scan Title from explicit readme line
22:35 - Scan Title from newgame.str
23:43 - Scan Title from top of readme
25:32 - Scan Author from explicit readme line & top of readme
27:02 - Scan Author: full text scan
27:46 - Scan Author from copyright message
29:32 - Scan Author from explicit readme line but we support a linebreak
30:09 - Scan Author from occur-anywhere "title by author" line (title cross-reference fuzzy-match)
32:02 - String cleanup
33:29 - Languages & language tags
34:35 - We prebake everything we can to avoid the cost of constructing it at run time
35:10 - Final additions to tags
35:30 - That's all folks
35:52 - Bonus: Character encoding detection
-
AngelLoader is a Thief fan mission loader written by myself and designed to look and work like DarkLoader but with modern features and full proper NewDark support.
â Source code: https://github.com/FenPhoenix/AngelLoader
â TTLG thread: https://www.ttlg.com/forums/showthread.php?t=149706