-
Notifications
You must be signed in to change notification settings - Fork 196
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
Support games in LZH archives #3033
Conversation
it was mentioned that LZH files created through the game disk feature contain duplicates when the RTP is embedded. Open source tools do not show the first entry in the archive (but Ark becomes confused with the stats and shows compressed size of first entry and decompressed size of second entry). The rule appears to be "Latest File Wins". The RTP assets are also the first things added to the archive so this could be even a feature of the format? Similiar to tar which was originally designed for archives on tape where seeking is hard to do. So instead of overwriting the file you just append it again... |
9ae5043
to
2ac8dce
Compare
Encode converts to UTF-8 and Decode from UTF-8. These functions in liblcf need a better name or a documentation comment.
Cool! Will test it right now! Random question, Is possible to tell player.exe to autoload a lzh file, instead of displaying a list of games? Someone asked me recently if it was possible to hide better the contents of their game, and I thought about something similar to the That + allowing people to customize the extension of the file to be something other than .lzh could be cool for that. |
There is currently no way to test it because our buildscripts lack the library (and vcpkg does not have the package merged yet but I got it approved this week). Better readable with a non-whitespace diff: https://github.com/EasyRPG/Player/pull/3033/files?w=1
Some silly approach (That will need a launch script) is: Append the ZIP to the EXE file, then use Linux code for this:
Then launch this through a start script:
Though you can still open the exe as a zip archive with any competent ZIP viewer so I don't know if this really helps ^^' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Likely needs to update the README.md before merging. Thanks!
lhasa will need to be provided with enough time by downstream packagers if want to support this feature on existing distros that package easyrpg-player. Pinging earlier because this new package process usually takes some time as it is requested by a maintainer. It is required at least on Fedora. cc @suve
Oh and maybe an explanation why I implemented it for the Player but it always started to fail when there was anything non-Unicode involved. It's heavy usage of C locales and charset conversion makes it unusable for us: C locales are badly supported on some platforms we support and the charset conversion is a problem. We do not know the charset beforehand and have to guess it and There is a longstanding issue from 2015 about this libarchive/libarchive#587 |
(also remove dirent from it as is not used anymore)
That is the archive format used by the "Create Game Disk" feature of the editor
This is totally not production ready. Needs code cleanup, (android support?), encoding detection etc.
Also new library needed (lhasa), so infrastructure work etcpp.
simplescreenrecorder-2023-06-12_15.52.34.mp4