Repository navigation
Enable CASC and MPQ reading on Linux - #45
Conversation
- Pass native paths to CascLib/StormLib instead of wide strings - FolderStorage: convert backslashes in paths
|
I approved pipeline for Github Actions or in worse case I fix windows build myself, if you break it. LGTM to me should not break anything. |
|
Fixed the CMake. The |
Move the path convert to `readFile/writeFile/createDirectories`. So caller doesn't need to do it
|
I wish we have some unit-test with small test mpq with one file so it runs on CI and I never break it on accident. With CASC , well, no easy way (we can make test casc I guess to but it will make so maby files in git, don't wanna. |
|
I updated the path helper, instead of doing in in caller (which is very easy to forgot), i put it in the |
In my local I actually asked Claude to make a hook, to generate a mod after each change, and the result should be byte-identical to the window build (that i run in wine) |
|
Today I learned github merges BEFORE CI finishes, darn. I did get github action on prev commit, not a big deal but now I know. So get used to it. |
|
"In my local I actually asked Claude to make a hook, to generate a mod after each change, and the result should be byte-identical to the window build (that i run in wine)" not a great unit-test idea. I was talking about change set sustainability. Thanks for contribution, but I will still despise heavy AI usage. Please do more yourself later. |
Summary
First step for #40: makes the native Linux build able to generate a D2R mod from a game install. This covers core only CASC/MPQ, no UI change yet.
Changes
path.native()to CascLib/StormLib instead of.wstring(). It matchesTCHARon each platform and is unchanged on Windows.FolderStorage: convert\to/in storage-relative paths.Testing
Linux, D2R build 95032 installed through Proton:
modgen_ui, mod loaddedKnown issues on Linux
The UI still assumes Windows in places, so until the follow-up PR:
Extratab feature is not working, except for changing Mod id/, could be solve by typing by handThe second issue is easy to fix, the Extra tab is harder, as i stated in this comment
Next step