fosspill / FFXIV_Modding_Tool

FFXIV Modding Tool is the Cross-platform Commandline interface alternative for TexTools
https://ffmt.pwd.cat/
GNU General Public License v3.0
47 stars 4 forks source link

Invalid Directory with Wizard #272

Closed J-H-Freedman closed 2 years ago

J-H-Freedman commented 2 years ago

To Reproduce

This is what is entered upon request:

Enter your Game Directory: ~/Games/final-fantasy-xiv-online/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn
WARNING: Invalid directory, please confirm that it matches the examples provided.

Other attempts included the following:

~/Games/.../Program\ Files\ (x86)/...
"~/Games/...//Program Files (x86)/..."
/home/jhfreedman/Games/.../Program Files (x86)/...
"/home/jhfreedman/Games/.../Program Files (x86)/..."
/home/jhfreedman/Games/.../Program\ Files\ (x86)/...

which all produced the same result

Expected behavior

I expect the directory to be added to the config file and the ability to proceed with the next step. If there is incorrect syntax, I would like to know what needs to be corrected.

Desktop:

Additional context

FFXIV is installed with Lutris.

fosspill commented 2 years ago

This is interesting. All you examples (except maybe the second one) should have worked fine.

What's the output of the following command? [[ -f "/home/jhfreedman/Games/final-fantasy-xiv-online/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/game/sqpack/ffxiv/010000.win32.index" ]] && echo "This file exists!" || echo "This file does not exist!"

If it says that file exists: What is the output of ls -al "/home/jhfreedman/Games/final-fantasy-xiv-online/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/"?

Could you also provide full output from the terminal?

J-H-Freedman commented 2 years ago

Requested output attached

ffmt_error

fosspill commented 2 years ago

Thanks. Could you rerun the wizard and input exactly /home/jhfreedman/Games/final-fantasy-xiv-online/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn as your game directory?

Basically (as the examples tries to guide to you) you should be using full path with no escaping. I'll have to reconsider both the method used and examples provided to ensure that this becomes even easier to grasp.

Further I could mention that using escaping has been worked around before on https://github.com/fosspill/FFXIV_Modding_Tool/blob/default/FFXIV_Modding_Tool/Configuration.cs#L54 but something may have changed with overrides that. @shinnova if you could be so kind and look into this?

If providing the correctly formatted path from above fails:

You could try to create ~/.config/FFXIV_Modding_Tool/config.cfg (or replace the file) with:

# All paths can be written with or without escaping
# Full path to game install, including 'FINAL FANTASY XIV - A Realm Reborn'
# Example locations:
#   MacOS: /Users/<USER_NAME>/Library/Application Support/FINAL FANTASY XIV ONLINE/Bottles/published_Final_Fantasy/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn
#   Linux: /path/to/WINEBOTTLE/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn
#   Windows: C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn
GameDirectory=/home/jhfreedman/Games/final-fantasy-xiv-online/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/
# Full path to directory with your index backups, this can be any directory where you wish to store your backups
BackupDirectory=INSERT BACKUP DIRECTORY
# Full path to directory where FFXIV.cfg and character data is saved, including 'FINAL FANTASY XIV - A Realm Reborn'
# Example locations:
#   MacOS: /Users/<USER_NAME>/My Documents/My Games/FINAL FANTASY XIV - A Realm Reborn
#   Linux: /path/to/WINEBOTTLE/drive_c/users/<USER_NAME>/My Documents/My Games/FINAL FANTASY XIV - A Realm Reborn
#   Windows: C:\users\<USER_NAME>\My Documents\My Games\FINAL FANTASY XIV - A Realm Reborn
ConfigDirectory=INSERT CONFIG DIRECTORY

Note that you have to add your own backup and config directory as instructed.

And then run ffmt -v and ffmt pc and attach the output of both here, please.

So, regardless of the outcome here I'm pretty sure that the examples provided haven't been followed exactly. But the setup wizard should not be so strict about formatting and the documentation should be made clearer. I'll have a look at this.

I've also submitted a PR for review which adds your game folder to the automatic detection. This would make your wizard experience significantly better.

J-H-Freedman commented 2 years ago

It worked! ffmt_2-1

And here is the requested output ffmt_2-2

fosspill commented 2 years ago

Thank you!

Coming next release the first time wizard will have examples that looks something like this:

Example locations:
        MacOS: /Users/<USER_NAME>/Library/Application Support/FINAL FANTASY XIV ONLINE/Bottles/published_Final_Fantasy/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn
        Linux: /full/path/to/WINEBOTTLE/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn
        Windows: C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn

Note the "/full/" addition there.

The prompt for folders will look something like: Enter the full path to your Game Directory (without Escaping):

Furthermore, as noted earlier, we'll auto-detect the folder you provided so others don't have to write anything at all.

The next step is to make the wizard less strict, but I'm sadly unable to prioritize that at the moment.

fosspill commented 2 years ago

The current Default branch has fixes for everything mentioned in here and more. @shinnova could we have a test-build in here for others to test and confirm

shinnova commented 2 years ago

Aye, here's some test builds for linux, mac and windows

fosspill commented 2 years ago

@J-H-Freedman Mind testing? Do exactly what you did before and see if it causes any issues. We've already tested of course, but always good to have confirmation