I am using Big Box as a frontend to load ROMs with Retroarch. I am using the Genesis Plus GX core for both Genesis and Game Gear games, but I want to use different shaders for each console. How do I associate a shader for a specific console that uses the same core so that I use a certain shader for all Game Gear Games upon loading a ROM, but a different shader upon loading a Genesis ROM? (note: all of my ROMs are zipped, if that info is useful at all)
I’m sure there is a more formal way but personally i’ve always found the easiest thing to do is to create multiple copies of your retroarch folder and tailor each one to your specific system.
If you’re using a launcher anyway, you can use the --appendconfig option to tack on config file fragments that contain the options you want to override from your main config (the override system is just an automated version of this process).
For example, your launch command for genesis games could be retroarch -L /path/to/genplus.dll --appendconfig /path/to/genshader.cfg %rom%, and ‘genshader.cfg’ only needs to contain:
video_shader_enable = "true"
video_shader = "/path/to/shader.cgp"
Then, do the same thing for your GG launch command.
I’m trying to figure out how to implement your solution. I’m still pretty new to both retroarch and launchbox / big box. I know how to get to the launch command through launchbox, but the shader file I’m using is not a .cfg, it’s a .cgp file. If that doesn’t matter, then is it the .cgp file that I am supposed to add that code to, or do I need to create a .cfg file with the same name as the shader .cfg file?
You need to open a text editor and make a blank file that ends in .cfg. Into that file, put those two lines with the actual path to your desired shader. Then, you use --appendconfig to point to that cfg file you just made.
The emulator will not start from Launchbox now.
Here’s what it looks like: -L “cores\genesis_plus_gx_libretro.dll --appendconfig C:\Users\Me\Desktop\RetroArch\config\gamegear.cfg %rom%”
and here’s the gamegear.cfg: video_shader_enable = “true” video_shader = “C:\Users\Me\Desktop\RetroArch\shaders\game gear.cgp”
and here is the game gear.cgp" shaders = “2” shader0 = “C:\Users\Me\Desktop\RetroArch\shaders\shaders_cg\handheld\console-border…/shaders/lcd_cgwg/lcd-grid.cg” filter_linear0 = “false” wrap_mode0 = “clamp_to_border” mipmap_input0 = “false” alias0 = “” float_framebuffer0 = “false” srgb_framebuffer0 = “false” scale_type_x0 = “source” scale_x0 = “3.600000” scale_type_y0 = “source” scale_y0 = “3.000000” shader1 = “C:\Users\Me\Desktop\RetroArch\shaders\shaders_cg\handheld\console-border\shader-files/gb-pass-5.cg” filter_linear1 = “true” wrap_mode1 = “clamp_to_border” mipmap_input1 = “false” alias1 = “” float_framebuffer1 = “false” srgb_framebuffer1 = “false” parameters = “GRID_STRENGTH;SCALE;OUT_X;OUT_Y” GRID_STRENGTH = “0.050000” SCALE = “1.000000” OUT_X = “2400.000000” OUT_Y = “1200.000000” textures = “BORDER” BORDER = “C:\Users\Me\Desktop\RetroArch\shaders\shaders_cg\handheld\console-border\resources/gg-border-square-4x.png” BORDER_linear = “true” BORDER_wrap_mode = “clamp_to_border” BORDER_mipmap = “false”
Looks like your quotes are wrong. It should look like this: -L “cores\genesis_plus_gx_libretro.dll” --appendconfig “C:\Users\Me\Desktop\RetroArch\config\gamegear.cfg” %rom%
That is, you need to quote each of your fullpaths separately.
The emulator still won’t launch. I even copied your path directly. ?
EDIT: I deleted %rom% and moved the quotation mark a space to the left where gamegear.cfg is (did the same for genesis.cfg for the genesis launchpath). It launches now, but both are using the gamegear shader now.
so it looks like this:
Game Gear: -L “cores\genesis_plus_gx_libretro.dll” --appendconfig “C:\Users\Me\Desktop\RetroArch\config\gamegear.cfg”
Genesis: -L “cores\genesis_plus_gx_libretro.dll” --appendconfig C:\Users\Me\Desktop\RetroArch\config\genesis.cfg"
If I make it look like the filepath you made, the emulator won’t launch. But doing it this way, I can’t use different shaders.
heh, for some reason, our forum likes to insert spaces into things for no good reason. You were correct to move the end-quote over
Do you have different shaders in your cfg fragments?
.cfg fragments? Didn’t know they were called that. they are presets that i created, that point to where the actual shaders are. they include overlays.
K, using actual shader now instead of shader preset cfg I made in Retroarch GUI.
Now it looks like this: (putting SPACE where i put actual spaces because this forum puts in wierd spaces sometimes)
Launchbox -L "cores\genesis_plus_gx_libretro.dll"SPACE–appendconfigSPACE"C:\Users\Me\Desktop\RetroArch\config\gamegear.cfg"SPACE%rom%
gamegear.cfg video_shader_enableSPACE=SPACE"true" video_shaderSPACE=SPACE"C:\Users\Me\Desktop\RetroArch\shaders\shaders_cg\handheld\console-border\gg-3x.cgp"
Emulator will not launch from launchbox
EDIT: that looks correct to me. Can you get us a log? Maybe try launching from a command line without launchbox to debug first.
Well, after trying to figure out how (and being embarrassed that I don’t know how)…how do I launch from a command line?
EDIT: I added log_verbosity = “true”
to the retroarch.cfg, will that create a log? if it does i haven’t found it.
Don’t be embarrassed. Nobody is born knowing how to do it
To get a log, launch retroarch_debug.exe from a command line, like this: retroarch_debug.exe --menu --verbose [add your other arguments here] >> log.txt 2>&1 That will create a logfile named log.txt.
When you say launch it from a command line, you mean open up command prompt and launch from there? Using Win7 64-bit btw if that helps
Correct. Right-click in your RetroArch folder and choose ‘open command window here’ and then type in the bit I mentioned above.
[QUOTE=hunterk;40770]retroarch_debug.exe --menu --verbose [add your other arguments here] >>/QUOTE]
What other arguments? The path to where I want the log to go?
No, the other arguments would be things like -L /path/to/core.dll, etc. Whatever you normally use to launch stuff.
The point is to do what you normally do so that the log tells us what isn’t working.
-
- bump- -