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

SCUMM: Add a tool for extracting lfg archive from version of indy4 #66

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

phcoder
Copy link
Contributor

@phcoder phcoder commented Mar 13, 2023

No description provided.

@einstein95
Copy link
Contributor

May want to rename it to something like extract_lfg, as the LFG! archives were used in more than Indy4, including the German version of MI2 and the LucasArts Classic Adventures

@einstein95
Copy link
Contributor

Looks like that some files use a dictionary size of 0 which dcl.cpp doesn't support, some games used this for 00.LFL/000.LFL so supporting it is probably needed. Here's a demo that uses it for READ.ME
indy4_demo.zip

@dwatteau
Copy link

dwatteau commented Mar 14, 2023

Thank you for implementing this!

The format has also been described here for reference: http://seltmannsoftware.blogspot.com/2017/05/adventures-in-useless-reverse.html

I have such an archive for Indy4-dos-fr and one for Monkey2-dos-en. I'll test them with your PR later today.

@phcoder
Copy link
Contributor Author

phcoder commented Mar 14, 2023

Looks like that some files use a dictionary size of 0 which dcl.cpp doesn't support, some games used this for 00.LFL/000.LFL so supporting it is probably needed. Here's a demo that uses it for READ.ME indy4_demo.zip

Thank you for this file. It turned out that name field is 13 bytes rather than unlimited null-terminated. After fixing this, it works

@phcoder
Copy link
Contributor Author

phcoder commented Mar 14, 2023

May want to rename it to something like extract_lfg, as the LFG! archives were used in more than Indy4, including the German version of MI2 and the LucasArts Classic Adventures

Thank you. Renamed to extract_lfg and added a bit of more info for useful testing

@phcoder
Copy link
Contributor Author

phcoder commented Mar 14, 2023

Thank you for implementing this!

The format has also been described here for reference: http://seltmannsoftware.blogspot.com/2017/05/adventures-in-useless-reverse.html

I have such an archive for Indy4-dos-fr and one for Monkey2-dos-en. I'll test them with your PR later today.

Thank you for the link. It cleared up couple of wrong assumptions

@phcoder phcoder changed the title SCUMM: Add a tool for extracting nd4 archive from version of indy4 SCUMM: Add a tool for extracting lfg archive from version of indy4 Mar 14, 2023
@dwatteau
Copy link

FWIW, I may need to wait a few more days to be able to test it with my own set of LFG images; probably this weekend I guess.

@dwatteau
Copy link

Testing from my own LFG archives (which are known to work with the original DOS extractor and with the other extractor that's on Github):

  • Indy4, French floppy release put on CD-ROM by Ubisoft: ATLANTIS.000 is OK, ATLANTIS.001 has the right number of bytes but a good chunk of them are NUL
  • Monkey2, English floppy release from the Limited Run Games set, MONKEY2.000 is missing, and MONKEY2.001 is invalid too

@phcoder You can ping me over Discord for easier checking of those. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants