The Legend of Heroes: Trails of Cold Steel

The Legend of Heroes: Trails of Cold Steel

< >
Kaldaien  [author] Aug 15, 2017 @ 9:18pm 
Vulkan is a bit tricky tough. I know nothing about SpirV bytecode and not enough games use Vulkan for me to justify spending any time on it. I would like to add features for Vulkan in the future, but I prefer to focus on the APIs that are in use today and where a lot of testing can be done.
Kaldaien  [author] Aug 15, 2017 @ 9:16pm 
Some of this I can do. I appreciate your enthusiasm :) This project goes through phases where no new features are added because I discover some crazy compatibility problems. I've bee hoping for the longest time that would stop and I could just focus on adding features, but ... it never has.

Yeah, I think the way that I will approach this is by improving the core of ReShade. It has a very clean codebase that is a real joy to work with, unlike my crazy compatibility hack job :P I can definitely use my more advanced UI to add stuff like a shader editor.

I don't know if you've seen my Tales of Berseria mod, but it has real-time shader parameter tuning. Any shader, whether I injected it or not, can have its constants adjusted. I don't know if that's a feature that makes any sense for ReShade, but it's something I intend to port over to D3D11 and GL software eventually.
Voodooman Aug 15, 2017 @ 2:51am 
Oh, you can also implement in game editor of reshade shaders! i remember crosire promised that, and it was in early non public builds, but he removed it or never finished, im not sure.

Also, maybe you can fix some fundamental flaws of reshade 3 ? like you know, inability to edit #defs in reshade UI and inability to recompile just one shader that was edited instead all of them. What was better about reshade 1-2 is that you was able to define more settings with pre-compile definitions, now its very clunky because you need to search defs in shader code and add them all in one tiny precompile defs field., it would be much nicer if each def would be hooked into UI and displayed in each shader settings and saved in ini, with exeption from other settings that you have to reload shader.
Voodooman Aug 15, 2017 @ 2:46am 
well, maybe then you can implement your own shader injection faster both for dx9 10 11 12 and even Vulcan and OpenGL? You already have shader dumping feature, so now you only need to recompile them back and replace those used in game. Btw it would realy nice, if you can make what you already have - in game display of decompiled shader - not just reader but an in game editor. Helix and Migoto is such a pain in ass because you need to restart game, alt tab, refresh shaders, with your tool i see potention to edit shader right in SK UI, click on save edit and reload button - and tada you already can see results! However you can still borrow some portions of code from migoto for example to make shader dumps and injections compatible in terms of hashes and pathes and just learn the way they do it to implement it in your own way.
Kaldaien  [author] Aug 14, 2017 @ 12:58pm 
Yeah, I agree on all counts. The problem with merging this stuff is they're all independent designs. My framework is largely procedural C with a dash of C++14 to keep things confusing :) The other three you mentioned are 100% object-oriented. I chose my design because I wanted extensibility through plug-in DLLs and a flat C API makes that easier for everyone.

I believe the future is in plug-ins. ReShade was the easiest to adapt as a plug-in since we share many of the same libraries. I can probably compartmentalize GeDoSaTo and 3DMigoto in a similar fashion. I don't have a design specification for plug-ins yet, I'm learning what will be required through this ReShade work. I'll use what I learn here to expand plug-ins to other projects and add-ons.
Voodooman Aug 14, 2017 @ 10:12am 
I was asking devs of each to joing each other and merge all projects into all in one shader and texture modification, render target resolution changer etc kind tool that works in every game with every render api, unfortunately no one did any move towards this direction, however with addition of customised reshade into your tool and support of almost every modern render api, i think your tool is good platform to merge all other similar tools or their functions in.
Voodooman Aug 14, 2017 @ 10:12am 
I like new options and improvement of reshade. Btw does generic texture dump and injection works for d3d9 games? Because texmod and umod sucks and there is no tool to replace them.

Also, can you implement shader injection for d3d9 10 11 12 OpenGL and Vulkan the way its done in 3d migoto and helixmod ? Because you know they are more centered around 3d stereo and does not work sometimes and helix it too old and d3d9 only while 3d migoto does not support d3d9 and opegl but gladly its open source so you can borrow some shader injection code from it.
Also there is gedosato which allos advanced downsampling and allows to inject shader in between render passes and targets, its also open souce,