OBGEV2 - Spectacular, I'm happy as a clam. Noticeably faster, loads all shaders listed on shaderlist.txt automatically. Additionally, I was one of the biggest victims of the OBGE transition crashes and hence had to use OBGE debugged. Been playing for 6+ hours and zero crashes. Also additionally I had graphical errors with ABO's http://www.tesnexus.com/downloads/file.php?id=21424 and OBGE debugged, with V2, no errors. Great work!
I'm curious, did you need to recompile the RealisticHealth script and create a new RealisticHealth.esp, or did it just work when you replaced obge.dll with obgev2.dll? Earlier scanti said scripts may need recompiling... it would be great if they didn't.
scanti: I see that you plan on releasing OBGEV2 after adding a few more features, like making shaders persistent in savegames. However, your OBGEV2 already seems to fix some important bugs in OBGE v0.1, and AFAIK doesn't introduce any new ones. If it works with Realistic Health without needing a recompile of the esp, then what you have now is already better than OBGE v0.1. Can I suggest that you focus on releasing what you have now before adding new features beyond what OBGE v0.1 had? Although making shaders persistent in savegames would be nice, I suspect it will be tricky to find/fix all the corner cases such as what happens when a shader and/or mod is uninstalled. Realistic Health already has scripting that reliably unloads shaders before loading new savegames to prevent shader "stacking", so it doesn't need a new persistent shaders feature.
Psymon: On loading and unloading shaders with OBGEV2 (and OBGE v0.1); the full process for loading, applying, and removing shaders in scripts (and presumably the cmdline), is;
long shaderset shader to LoadShader "RealisticHealth.fx" ; loads and compiles the shader *.fx fileapplyfullscreenshader shader 0 ; applys the shader to the screen to "activate it"removefullscreenshader shader ; removes the shader from the screen to "deactivate it"
Note that I don't think you can just declare long variables at the console... you will have to use a long variable defined somewhere in a script. LoadShader will load the shader but will not activate it. You can apply a shader multiple times and it will "stack"... I don't think you need to LoadShader again to "stack" the shader multiple times, but you need to if you want to set different values to shader settings for the different "layers".
In a script, if you want to make sure that you don't "stack" shaders every time you load a new game, you need to unload your shader before the new game is loaded. The code for this is;
; shader variableslong shadershort loaded;remove shader when load menu is active to prevent shader stackingbegin menumode 1038;Load Menu if loaded removefullscreenshader shader set loaded to 0 printC "RH: shader unloaded" endifendbegin GameMode ; initialise and load settings on game loaded if getGameLoaded set loaded to 0 endif ;reinit and load shader if shader unloaded if loaded == 0 set shader to LoadShader "RealisticHealth.fx" applyfullscreenshader shader 0 set loaded to 1 printC "RH: shader loaded" ; unload shader and quit when QuickLoad is pressed elseif OnControlDown 27 removefullscreenshader shader stopQuest aaRealisticHealth printC "RH: shader unloaded" return endif