You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ReShade.fxh required by virtually everything ReShade-related, so:
Make an ebuild for reshade-shaders and install into /usr/share/reshade-shaders when reshade USE flag is enabled.
Provide a script for users to download shaders into ~/.local/share/reshade-shaders (or just document directory structure). Maybe makes little sense to create ebuilds for other shader repos, so ...
(this is "packaging" task)
Modify source code to use this path.
Also code should look into ~/.local/share/reshade-shaders (XDG ...) and maybe ./reshade-shaders (in reverse order (?)).
Simplify configuration by removing corresponding paths from the config file.
There is maintained EffectPackages.ini which contain supported repositories list, installation paths, download urls, etc. User should be able to provide effect names only.
Not sure yet about adding an INI parser.
Maybe also check Compatibility.ini, some settings like DepthReversed=1, DepthUpsideDown=1, Banned=1 could be useful. Will definitely require INI parser.
Python script example (has built-in ini parser):
#!/usr/bin/env python3importargparseimportconfigparserimportosimporturllib.requestLIST_NAME="EffectPackages.ini"LIST_SOURCE="https://raw.githubusercontent.com/crosire/reshade-shaders/refs/heads/list/EffectPackages.ini"LIST_PATH="/usr/share/reshade-shaders"# TODO: XDGLIST_LOCAL_PATH=os.path.expanduser("~/.local/share/reshade-shaders")
parser=argparse.ArgumentParser(description='sum the integers at the command line')
parser.add_argument('action', type=str, choices=['install', 'list', 'details'], default='list', help='an action to be performed').required=Falseargs=parser.parse_args()
print('Using', args.action, 'mode')
conf=configparser.ConfigParser()
global_list=os.path.join(LIST_PATH, LIST_NAME)
local_list=os.path.join(LIST_LOCAL_PATH, LIST_NAME)
ifos.access(global_list, os.F_OK):
conf.read(global_list)
elifos.access(local_list, os.F_OK):
conf.read(local_list)
else:
print(LIST_NAME, 'not found')
os.makedirs(LIST_LOCAL_PATH, exist_ok=True)
urllib.request.urlretrieve(LIST_SOURCE, local_list)
# TODO: re-read list on successexitforsectioninconf.sections():
if (
notconf.has_option(section, 'PackageName')
ornotconf.has_option(section, 'PackageDescription')
):
print('section', section, 'is invalid')
exitprint(section, ' - ', conf.get(section, 'PackageName'))
print('\t', conf.get(section, 'PackageDescription'))
ReShade.fxh required by virtually everything ReShade-related, so:
reshade-shadersand install into/usr/share/reshade-shaderswhenreshadeUSE flag is enabled.Provide a script for users to download shaders into
~/.local/share/reshade-shaders(or just document directory structure). Maybe makes little sense to create ebuilds for other shader repos, so ...(this is "packaging" task)
Also code should look into
~/.local/share/reshade-shaders(XDG ...) and maybe./reshade-shaders(in reverse order (?)).There is maintained EffectPackages.ini which contain supported repositories list, installation paths, download urls, etc. User should be able to provide effect names only.
Not sure yet about adding an INI parser.
DepthReversed=1,DepthUpsideDown=1,Banned=1could be useful. Will definitely require INI parser.Python script example (has built-in ini parser):
See:
https://github.com/crosire/reshade-shaders
https://github.com/crosire/reshade-shaders/tree/list