-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Initial texture replacement support #8715
Conversation
Cool! Some ideas for further improvements (of course not required for merge):
|
Well, skipping videos was just an example. Theretically, you could upscale each frame of the video as a separate png and it'd probably be fine. But, yes, we could automatically skip videos. Yeah, not against auto-generating mipmaps. I'm assuming we would likely want more mip levels when using replaced upscaled textures, if anything (which is why this supports adding more miplevels.) -[Unknown] |
Probably makes more sense here after all.
Of course, need this, not just the hash.
Still need the actual ini hookup.
So we can scale the w/h properly.
This should hopefully provide the least duplicates possible.
This way we can avoid hitting the disk where possible. We could even preload.
This way you can tell which ones you've done already.
47b67a8
to
cd6f36a
Compare
Well, ignoring videos automatically will be very useful to avoid having the SaveNewTextures mode writing hundreds of megabytes of PNGs in many games... For video replacement it would be better to replace with a video file than a series of PNGs anyway (though, fan-producing upscaled video is not an easy task, heh), though that's a wholly different project (as we'd need to do things rather differently). |
Another thought is that if there existed a multi emulator extensible rom container format - like in a certain closed issue for maxcso ;) - for reversible_translations/manuals/hacks/compression, another header could very well be texture replacement with the textures and mapping built in. |
We want to return a reference here, so let's always return.
This still doesn't build on Qt, and I don't have a Qt environment set up to debug the linking problem. It links fine elsewhere. It doesn't even work on Qt so I'm halfway inclined to just ifdef it off on Qt. -[Unknown] |
I've implemented video replacement skipping now, and also removed the "g_iNumVideos" hack. -[Unknown] |
ba92f4b
to
12aee53
Compare
This is a bit of a hack, but it resolves the linking issue that only seems to happen in the Qt build system.
12aee53
to
c30287c
Compare
Very nice! |
I've also hacked the Qt linking issue away. It's not perfect, though, but maybe it can be improved later by someone maintaining the Qt build. -[Unknown] |
Good enough for me :) |
LGTM, merge at will |
This could happen here too, but I think in general our hash is strong enough that this should be rare. Using lazy texture hashing will affect replacements the same as regular textures, too. -[Unknown] |
Excuse me, now can only save the textures please? I've already enabled the replacetexture and savetexture in ppsspp.ini. Also found a lot of textures appears in titleID folder. But i don't know what to do next? How to replace texture? |
Modify the images and move them from ULUS12345/new/ to ULUS12345/. Then it will use the modified versions. It places them in -[Unknown] |
It's worked! It's awesome! Thank you guys, i love you all :) |
In general, KTX support looks fairly desirable - people could use various tools like the "Mali Texture Compression Tool" to generate compressed textures with that too, which would work at least on any GLES3 device. Potentially this could even be used to improve performance, as a "compressed texture pack" rather than a "HD texture pack". Warning: there is some overhead added by texture replacement, though. I also think a compressed HD texture pack may usually be visually superior to regular textures, but work better on memory/bus-constrained devices. I noticed the Khronos loader can even decompress if ETC is unsupported: Unfortunately, it goes direct to GL, though. Would be nice to support Vulkan and etc. -[Unknown] |
when i open the game it is normal when i paly it kick me out then i delete Textures configuration setting then it stop kick me out please help |
@johannes21j Please file a new issue instead of posting in old pull requests. |
See #4630 for more info.
This is already fairly usable, but we may want to not merge it until "stable". I did add a version so we can maintain compatibility if we want to.
Not tested on Android, only on Windows.
Supports an ini with this syntax (ini file is optional, and all sections are optional):
-[Unknown]