collinsmith/riiablo

Failed to load palettes

Closed this issue · 9 comments

Hello, I just discovered this project and was excited. I downloaded the project and imported it to intelly j but I couldn't run it. Can you help me?
Couldn't load dependencies of asset: data/global/items/Palette/brown.dat
my diablo setup is Diablo II: Lord of Destruction. v 1.14

Only IntelliJ 2018 is officially supported at this time due to issues with how old the project gradle build script is and how it was initially configured. I'm looking to change this in the near future and upgrade and reorganize it to a newer version -- something I've been reading into recently and am actively seeking help for. I've been really concerned to mess with it because it works and I didn't want to break compiling the Android version -- which is very important to test any additional dependency, shader change, and overall functionality and performance of the application.

I only recommend going through the rabbit whole of configuring IntelliJ if you are serious about contributing. You should be able to do (if I can recall correctly), Import Project and select riiablo\build.gradle to import the project as a gradlized project. At that point, you should have many run configurations that loaded also, you may just need to reconfigure the associated modules and change the home path to your local installation.

The error message you're seeing is very odd and indicates that you've pointed the executable at your D2 installation (it should throw an error stating that it can't find your MPQs), but you sound like you haven't done that. You will need to specify your installation root via e.g., -home "C:\diablo".

I don't think this problem is caused by intelly j version or wrong diablo path. I think some data is due to the absence of my mpq files. Because some of the mpq files are loaded but especially when it comes to
string = StringTBL.loadFromFile(resolver.resolve("data\\local\\lng\\eng\\string.tbl"));
part, it gives a null pointer error.

C:/Program Files (x86)/Diablo II
[MPQ] Loading patch_d2.mpq...
[MPQ] Loading d2exp.mpq...
[MPQ] Loading d2xmusic.mpq...
[MPQ] Loading d2xtalk.mpq...
[MPQ] Loading d2xvideo.mpq...
[MPQ] Loading d2data.mpq...
[MPQ] Loading d2char.mpq...
[MPQ] Loading d2sfx.mpq...
[MPQ] Loading d2music.mpq...
[MPQ] Loading d2speech.mpq...
[MPQ] Loading d2video.mpq...
Exception in thread "LWJGL Application" java.lang.NullPointerException
	at com.riiablo.codec.StringTBL.loadFromFile(StringTBL.java:229)
	at com.riiablo.codec.StringTBLs.<init>(StringTBLs.java:13)
	at com.riiablo.Client.create(Client.java:272)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:150)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:127)

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.6/userguide/command_line_interface.html#sec:command_line_warnings

Make sure you have the ENG locale installed? Other than that, idk, I've never seen anything like this. You should have all of those MPQs in your D2 home directory -- the ones that come with the game.

Can you share your mpq files with me? I want to see if the problem is with them.

No. That would be a violation of the D2 TOS. You can download an installer from Blizzard and install a copy of the game and then connect to battle.net to update your client. You need to make sure that the client you download is en_US locale to guarantee that it will work (there may be issues if you're using a different locale). You can then point riiablo at that installation and it should run. This looks like an MPQ issue, but I can't say how you got yours, so I don't know if they are genuine.

I downloaded the normal diablo from here https://www.blizzard.com/download/confirmation?platform=windows&locale=en_US&product=d2 I also downloaded the Lod version from here https://www.blizzard.com/download/confirmation?platform=windows&locale=en_US&product=d2lod but the result is the same. and patched the way you say
****photo my installed original game

diablo

Sorry for the delayed response. Unfortunately, I don't have the infrastructure to tell what specifically is wrong with the MPQs you are using, I can only say that I haven't seen this issue before -- but it appears that the file that is causing the issue is not located within the MPQs in your D2 home directory (better logging would reveal that the specified file does not exist, and since it's specifically in data\\local\\lng\\eng, my best guess would be a locale incompatibility seeing as your default gateway is EU). I have not tested other locales yet, but I would be surprised to find out there is an issue with my MPQ loader at this point, having used it for so long without issue.

I cannot help you for the time being, you'll just have to wait until the project is further along and I get time to start fixing support for issues like this. I'm assuming that even though it appears you are downloading a en_US copy of the game, you are downloading something else, whether that be a blizzard thing or not. I would need to debug issues like this at a later date.

All right, thank you very much for your answers. Frankly, when I saw this project written in libgdx, I was very excited and wanted to tamper with it, but here's the chance.

here, this works:

https://www.reddit.com/r/pathofdiablo/comments/4b48oz/how_to_download_and_install_version_113/d160fdh/

Just use the links for the game downloads and updating to 1.12 LOD works, i had the exact same problem before, can confirm is because of the game installation.