Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OfflineList's limitations & workarounds #2

Closed
laqieer opened this issue Mar 14, 2022 · 0 comments
Closed

OfflineList's limitations & workarounds #2

laqieer opened this issue Mar 14, 2022 · 0 comments
Labels
documentation Improvements or additions to documentation

Comments

@laqieer
Copy link
Owner

laqieer commented Mar 14, 2022

This project chooses OfflineList as base, but it is really old, so it has some limitations. Here are its limitations and workarounds.

Lacks runtime support on medern Windows

3 Solutions:

  • Download missing dll according to this
  • Install old Microsoft Visual C++ Redistributable according to this
  • Install VisualCppRedist AIO

No HTTPS support

It only supports HTTP for URL, and GitHub Pages enforces HTTPS for its domain github.io, so I use a custom domain laqieer.ml to support HTTP access, otherwise it will fail to download images and check update. However the free domain is limited to one year, so I need to renew it before expiry date. In addition, the accessibilty of the domain is tested and reported in #1.

Limited language support

Its language field only supports following languages:

1 = French
2 = English (US)
4 = Chinese
8 = Danish
16 = Dutch
32 = Finland
64 = German
128 = Italian
256 = Japanese
512 = Norwegian
1024 = Polish
2048 = Portuguese
4096 = Spanish
8192 = Swedish
16384 = English (UK) (only if English (US) already exist)
32768 = Portuguese (BR)
65536 = Korean

Therefore, other unsupported languages like Russian are marked in the title or comment field.

⚠️Inaccurate ROM check & missing entries

It doesn't support better checksums like MD5 or SHA1 like modern ROM mangers such as ClrMame Pro and RomCenter. It only supports CRC32, and CRC32 has a high hash collision rate, so its ROM check is inaccurate. For example, some FE7U based ROM Hacks like 108 - The Road to Ruin, 113 - Requiem, 114 - Fallen King, and 122 - Fire Emblem Different Dimensions Ostian Princess 2.0 have the same CRC32: 2144DF1C, so it cannot distinguish between them. It can only display the first entry and ignore the remaining entries with the same CRC32, so 108 is in the list while 113, 114, 117, 122, 123, 126 are missing in the list. In order to fix that, I do some little and harmless changes to those ROMs to make their CRC32 different, such as adding some extra bytes at end of file.

👉Notice: Edit ROM to avoid CRC32 collision accoding to the table please!

+ means to append bytes to the ROM

Conflicted CRC32 ROM Edit New CRC32
2144DF1C 108 - The Road to Ruin + 00 00 00 00 6522DF69
2144DF1C 113 - Requiem + 00 00 00 01 1225EFFF
2144DF1C 114 - Fallen King + 00 00 00 02 8B2CBE45
2144DF1C 117 - Fire Emblem [Latino] 2.0 ~ You Can (Not) Ban (English) + 00 00 00 03 FC2B8ED3
2144DF1C 122 - Fire Emblem Different Dimensions Ostian Princess 2.0 + 00 00 00 04 624F1B70
2144DF1C 123 - Fire Emblem - Barhara Revisited + 00 00 00 05 15482BE6
2144DF1C 126 - Yuri’s Sidestory + 00 00 00 06 8C417A5C
2144DF1C 171 - One-Week Hack + 00 00 00 07 FB464ACA
2144DF1C 247 - Fire Emblem - Izarck’s Quest + 00 00 00 08 6BF9575B
2144DF1C 251 - Dream of Five + 00 00 00 09 1CFE67CD
2144DF1C 253 - Decay of the Fangs + 00 00 00 0A 85F73677
2144DF1C 254 - Atirian Conquest + 00 00 00 0B F2F006E1
2144DF1C 255 - League of Champions (Patch1) + 00 00 00 0C 1B93A3D4
2144DF1C 256 - League of Champions (Patch2) + 00 00 00 0D 6C949342
2144DF1C 258 - Typhon’s Wake + 00 00 00 0E 829AF26E
2144DF1C 277 - Fire Emblem - Dust to Dust + 00 00 00 0F F59DC2F8
2144DF1C 295 - Sword of Seals ReDux + 00 00 00 10 7895CF0D
2144DF1C 332 - FE7 Chaos Mode + 00 00 00 11 0F92FF9B
2144DF1C 341 - FE7 Lute Mode + 00 00 00 12 969BAE21
2144DF1C 408 - The Queen’s Lament + 00 00 00 13 E19C9EB7
2144DF1C 500 - Untitled + 00 00 00 14 7FF80B14
2144DF1C 505 - Le Chien Est Adorable + 00 00 00 15 08FF3B82
2144DF1C 520 - Moneyfest + 00 00 00 16 91F66A38
2144DF1C 521 - Title Here + 00 00 00 17 E6F15AAE
2144DF1C 528 - The Purge Of Weegee + 00 00 00 18 764E473F
2144DF1C 531 - The Roots That Bind + 00 00 00 19 014977A9
2144DF1C 532 - Asylum Of Irony + 00 00 00 1A 98402613
2144DF1C 535 - Ragefest Chronicles + 00 00 00 1B EF471685
2144DF1C 540 - Wheel Of Misfortune + 00 00 00 1C 71238326
2144DF1C 499 - Auto Emblem + 00 00 00 1D 0624B3B0
2144DF1C 545 - Tales of Bravery + 00 00 00 1E 9F2DE20A
2144DF1C 553 - FE8 Beta Test 1 + 00 00 00 1F E82AD29C
2144DF1C 558 - FOAL + 00 00 00 20 5E4CFFA1
2144DF1C 654 - Shameless Reused Asset + 00 00 00 21 294BCF37
2144DF1C 761 - Bankai-Silverworld's Emblem + 00 00 00 22 B0429E8D
2144DF1C 124 - Death or Glory + 00 00 00 23 C745AE1B
2144DF1C 774 - Shatterlight + 00 00 00 24 59213BB8
2144DF1C 778 - Project dondon + 00 00 00 25 2E260B2E
2144DF1C 903 - Devourer of Worlds + 00 00 00 26 B72F5A94
2144DF1C 1074 - Fire Emblem Nemesis + 00 00 00 27 C0286A02
2144DF1C 1080 - Awful Emblem - The Thread Demo + 00 00 00 28 50977793
2144DF1C 1167 - Heart Wars + 00 00 00 29 27904705
@laqieer laqieer added the documentation Improvements or additions to documentation label Mar 14, 2022
@laqieer laqieer closed this as completed Mar 14, 2022
@laqieer laqieer pinned this issue Mar 14, 2022
@laqieer laqieer changed the title OfflineList's limitations OfflineList's limitations & workarounds Mar 14, 2022
laqieer added a commit that referenced this issue Mar 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant