-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Some HUD textures missing (red cross) when converting from AoE 2 HD #912
Comments
I can't tell right now where the problem originates from, but I suspect that some interface files are not found in the HD-4.3 files. Maybe some errors pop up during the conversion? The extracted files are then postprocessed with our I think the extraction procedure works by using what's there, then, if ids match, they're further processed. So I'm pretty sure we won't see any messages about missing files during conversion, because they're named differently or just missing. That said, we need to identify what file is missing and what its correct name is, or extract it differently if they changed the format of the hud graphics as well. |
I remember that with HD. I think it had only one HUD, so it worked for only one civilization. But I see some screenshots with different HUDs on the Internet. |
I deleted my assets so that they were regenerated when I ran the game again, but there are not errors. I will see if I can find the id of those assets somewhere. |
Looks like @ChipmunkV is right: As I read that code, it tries to load a an image with the name |
Indeed, when I set the I found this: INGAME_HUD_BACKGROUNDS, 18 increasing ids. I searched for those strings in my AoE 2 HD installation, and found something interesting: There are two files with the first id, 51141, suffixed .slp in two different folders:
The other numbers are only in And indeed interfaces seem to be loaded from there: |
Converting from AoC will get you |
Yes, they are indeed in a second location, see my post just above. I am trying to mount that aswell, so far with no luck. Debugging... |
It should be as easy as: if GameVersion.age2_hd_rajas in game_versions:
result['gamedata'].mount(srcdir['resources/_common/drs/gamedata_x2'])
result['interface'].mount(srcdir['resources/_common/drs/gamedata_x2']) |
I thought so too, but apparently after following the troubleshooting guide, my installation is now recognized as Forgotten Empires, not as Rise of the Rajas. So instead for now I did not put it into an if, and then it does create a bunch more files, and the "missing textures" red X goes away - however now the cutter does not seem to work properly, because the pngs only have the top HUD element, not the one left and right, and the renderer just renders nothing in place. Is there any way to look at the original *.slp to see how they might be structured differently in |
We, have this: https://github.com/SFTtech/openage/blob/master/doc/convert/interactive.md |
Thanks, that helps a lot. Indeed, the files in interface/ are 1280x1024, whereas the ones in gamedata/ are 1024x768. Since we hard code where we search for the patterns and cut, this will not easily work: I am a bit surprised that the HD version apparently uses lower resolution textures - I would have expected the opposite. I guess we can again parametrize that and figure out the right coordinates to use for 1024x768... not sure if there is a better way. |
I got the cutting figured out and made it more readable and parameterized, but just mounting the |
Also, I need to correct my observation about the resolutions - the HD version actually has interfaces in 3 resolutions: 800x600, 1024x768, 1280x1024 800x600: 1024x768: 1280x1024 Those are all the ones I have found so far. There may be others. The current logic cuts out 511{41-54, 57-60}.slp, and just converts the rest as it is. Interestingly 54 and 57-60 just do not exist in my version. |
Currently, we seem to only use 1280x1024 versions from AoC. The importing code also renames those HUD files to hud{0000-00xx}.slp.png afterwards, so nowhere do we support any lower resolution. That might not be ideal long term, but then again there are probably hardly users with lower resolution these days. So all my cutting coordinates for lower res might not be necessary at the moment. Here are the changes I think we need to make:
|
I think it's fine if we picked the largest resolution there is, the scale-down is then done by Qt. The only problem we have with newer versions is that they removed the old terrain data: the perspective tiles were replaced by non-perspective ones. Our renderer does not yet support rendering the way aoe2hd does, the foundation for this is prepared in #850. I'd go with explicit numbers to pick the interface files from. The real solution is to create a "mod pack" from the installation for just the files we need. The pack is fed into the engine (see #632). |
Looks like this:
To reproduce:
The text was updated successfully, but these errors were encountered: