What's new

Rice's Video Plugin: INI Configuration Discussion

Iconoclast

New member
While the programmers are doing the plugin fixing, after testing about 100 games, I've noticed that 80 of these 100 games can be configured in Rice's INI to have better graphics emulation than you have when using Rice's default configuration, if existing for the game. I don't mean to bag on his hard work, now, as I know he probably hasn't had that much time to completely test configuration options, but I have found that changing the INI configuration of Rice's plugin can make quite a positive difference in graphics emulation, though not as much as improving the plugin via programming or its sourcecode, though in ways that changing the sourcecode might not succeed in....

So, I start this thread, not just to show off my pathetic changes, but maybe some of us could note some INI update suggestions to improve the plugin via its INI configuration as well?

Here is my work so far, attached to this post, but it wasn't near half the size it is now before I discovered Rice's 5.9.9 configuration and merged both, though I only tested 40 of the hundreds of new entries Rice's came with and fixed 35 of them.
 
Last edited:
OP
Iconoclast

Iconoclast

New member
Banjo-Kazooie

Take for example, the INI configuration entry for Banjo-Kazooie in the above-attached INI file, has no change from its original configuration in Rice's 5.9.9 configuration version.

Iconoclast comes in, starts testing the game, and makes several changes.
Code:
Name=Banjo-Kazooie
NormalAlphaBlender=1
NormalColorCombiner=1
FrameBufferEmulation=3
RenderToTexture=4
ScreenUpdateSetting=4
He states that this configuration fixes a couple things that Rice's default does not fix through his summary of changes:
  • Enabled frame buffer attempts to try to render the pause screen and Bottles' secret jigsaw challenges (updated rendering to texture and frame buffer emulation settings).
  • Smoke/alpha issues fixed (forced Normal Blender from default-on to off)
If you have it on you, you could also post the old configuration before you changed it just for clarity. He then updates his own attachment with these changes.

Please, be very careful on what you change and what you think fixes the graphics emulation. If you claim that Normal Blender, for example, fixes some alpha issues within the game, also make sure that these fixes are worth all of the possible negative side effects the game will have in turn! I will test the changes you make and download the ROM if I have to in order to avoid this mistake, but I could miss it, so please be careful not to give false configuration.
 
Last edited:
OP
Iconoclast

Iconoclast

New member
Legend of Zelda, The: Ocarina of Time

Again, this is not actually an update, but another example of a fix I made.
Code:
Name=THE LEGEND OF ZELDA
AccurateTextureMapping=1
NormalAlphaBlender=1
NormalColorCombiner=1
PrimaryDepthHack
FrameBufferEmulation=3
RenderToTexture=4
What this configuration fixes that Rice's default (or the previous configuration version) does not:
  • Improves the appearance of Link on the Equipment subscreen (rendering to texture setting change).
  • Correctly emulates the background when you pause the game (rendering to texture and disabling accurate texture mapping).
  • Fixes quick geometric glitch in the N logo at the very start of the ROM (primary depth hack enabled).
  • Fixes some pause screen rendering and slight transparency in Link's head (normal blender disabled).
  • Forced Normal Combiner option from default-off to off in case user has screwed around and made the default option on in the universal game setting defaults of the plugin.
 

Rice

Emulator Developer
Iconoclast

Thanks very much for your effort.

You should understand that the results are dependent on your hardware configuration and the render you are using (DirectX or OpenGL).

I really don't suggest to use the NormalAlphaBlender=1 or NormalColorCombiner=1 options. They are only useful for low end video cards that do not support pixel shaders. If your video does support pixel shaders, then you certainly want to stay with both options = 0, in that way pixel shaders can be actually used.

If you have a decent video card, you should not need to worry about the combiner and alpha blender setting for any games. Just make sure you are using pixel shader color combiners instead of other combiner options.

For games you know which could be using frame buffer effects, you may want to mix around the frame buffer settings. This was where I didn't spend much time to test.
 
OP
Iconoclast

Iconoclast

New member
I think Blender/Combiner=1 means Off and Blender/Combiner=2 means on, in case of a mix-up you might have. If not, I didn't know there was a =0 setting and I kind of need a briefing of these settings so I know what to do/when to use them.
 
OP
Iconoclast

Iconoclast

New member
Okay. From what I've observed, at least with these two alpha and color settings, =1 means off, =2 means on, and if it's unspecified, it means the plugin uses the default setting, from under the Default Game Options tab, containing the universal default settings for all N64 ROMs that are used when the setting is not specified under the Current Game Options tab. I use =1 when I see some sort of alpha issue in the game, and for color combiner, I use =1 after testing it with =2, forcing the option on, to see if it grayscales any textures. If so, I force it off, though off is already the default option, just to be safe. That's how I configure these two options.

As for forcing them on, I think I did that with a couple of games or so, but only with Normal Alpha Blender, in the case where I caught no negative side effects but at least one positive effect of the option. So, why might it be a bad idea to turn these on, again? Like, what happens if the system/video card doesn't support it?

Edit: I also turned Normal Color Combiner on one for Star Wars Rogue Squadron. Despite the games that are unplayable using the plugin, I still make an effort to make the game go as far as it can without crashing and with minimum graphics issues.
 
Last edited:
OP
Iconoclast

Iconoclast

New member
Take your time finding any configuration fixes. Also, this INI should make games like Stunt Racer 64 and World Driver Championship boot properly in Project64, a thing no other graphics plugin can accomplish.

And, sorry, guys, I haven't fixed anything, yet. During summer vacation, I plan on downloading all the N64 commercial ROMs, configuring them on Rice's, one-by-one. I did attempt this once, but I only made it from the #-B ROMs. I never started the C-Z ROMs.
 
OP
Iconoclast

Iconoclast

New member
Hey, everyone, don't think I've forgotten about this INI here. Now that school is off my ass for the next 8-or-so days, I'm back to work here. Now, as I've said, I last left off on the games with titles beginning with # to B. C I am currently working on. I have just now finished Carmageddon 64. Each ROM takes me from 15 to 45 minutes to confirm a sure configuration on.

Code:
{4e2d0ff0f4aa0f34-45}
Name=CARMAGEDDON64
NormalAlphaBlender=2 //Removes black rectangles from behind the time counter.
NormalColorCombiner=1 //In case end user has default option set to on, which would otherwise screw up polygon coloration.
FullTMEM=2 //Fixes raw pixel header in menu.
I'll upload the INI later, once I finish all of the C ROMs, but for now, I wanted to stop by and ask a question. There are two concerns I'm having as I'm going along and configuring all these games:
  1. I need to go back later and download all the country versions of all the N64 ROMs (basically a fullset) and copy INI configuration for different versions of each game, including the hacks, as not everyone uses Project64.
  2. I'm a little disorganized with alphabetizing the INI entries...heh. What I want to do is sort them in alphabetical order by their internal ROM name, and that's a hell of a lot of cutting and pasting at this point. Now that I see a way someone might be able to help me, what I ask for is a program that can modify the INI and sort their entires in ABC order.
Any chance I could get something like this? Thanks. (I'm just a DOS batch file and ActionScript programmer, not C/C++, so that's why I ask.)
 
Last edited:

mudlord

Banned
1. I need to go back later and download all the country versions of all the N64 ROMs (basically a fullset) and copy INI configuration for different versions of each game, including the hacks, as not everyone uses Project64.
2. I'm a little disorganized with alphabetizing the INI entries...heh. What I want to do is sort them in alphabetical order by their internal ROM name, and that's a hell of a lot of cutting and pasting at this point. Now that I see a way someone might be able to help me, what I ask for is a program that can modify the INI and sort their entires in ABC order.

1) hmm, that might take a while

2) So, what you want is a app that sorts the file by decending alphabetical order?
 
OP
Iconoclast

Iconoclast

New member
What I ask for is an application that sorts all entries in the .ini file alphabetically, by internal ROM name and by CRC if the internal ROM names match.

Example:

Before:

Code:
{c294db8cf0c646cb-50}
Name=WWF No Mercy
NormalColorCombiner=1

{40064b4efbbc491b-45}
Name=WWF No Mercy
NormalColorCombiner=1

{9b98023de281a3d4-45}
Name=Battle for Naboo
After:

Code:
{9b98023de281a3d4-45}
Name=Battle for Naboo

{40064b4efbbc491b-45}
Name=WWF No Mercy
NormalColorCombiner=1

{c294db8cf0c646cb-50}
Name=WWF No Mercy
NormalColorCombiner=1
Edit: I forgot to say, I'm also okay if this feature is put in the plugin itself so it is done automatically, in fact that is what I prefer.
 
Last edited:
OP
Iconoclast

Iconoclast

New member
Uploaded new version here.

All ROMs having titles beginning with 'C' have been tested. 35-or-so added settings.

Readme.html file added to archive.

Super Mario 64 entry has also been updated. (Enabled LOD calculation for Peach-Bowser portrait.)
 

mudlord

Banned
Coolness!

That leaves the issues for SM64: the texture alignment issues, minor discolouration, and dithered alpha rendering.
 

mudlord

Banned
I guess I misinterepreted what you said in the readme about the colouration. Sorry bout that.

Also, with your level of detail fix, it seems to have shown up a actual plugin bug...
It appears texture LOD calculation is a bit inaccurate, like it doesn't smooth into the pictures (like Jabo's current plugin, Glide64 and Direct64), but actually it just switches...
 
OP
Iconoclast

Iconoclast

New member
Oh, right. When I mentioned the prevention of discoloration, I meant in case the user checked "Normal Combiner" in the Default Game Options tab. With option forced off in Current Game Options tab, this will override end user retardation...for a time.
Also, with your level of detail fix, it seems to have shown up a actual plugin bug...
It appears texture LOD calculation is a bit inaccurate, like it doesn't smooth into the pictures (like Jabo's current plugin, Glide64 and Direct64), but actually it just switches...
Meh, well, the Peach-Bowser picture looks neatly enough emulated to me; I don't see anything wrong with it, although there may be a better way of emulating it. Basically, anything that I was unable to fix in any of the games by configuring the .ini for, is probably an internal plugin bug. I suppose I should post more about this for each game I configure, instead of only updating the .ini every section I configure.

As for the short period with no .ini updates, for a couple of days, I started learning the C++ programming language from cprogramming.com, so I could start making stuff like .ini editors (more organized and GUI'd than Notepad, but a console app). But it looks like that's going to be a long term goal, so I guess I'll get started on the D games now.

Btw, it looks like somethinghustler.net's been taking some ESA action to some of their N64 ROMs....
 
OP
Iconoclast

Iconoclast

New member
Dark Rift

DarkRift.gif

One of the ten unplayable Nintendo 64 ROMs in emulation, Dark Rift has taken a good amount of time to confirm an optimal configuration for.

Code:
{582ba5a441987523-45}
Name=DARK RIFT
AccurateTextureMapping=1 //Fixes bad texture rendering issue via pixelation.
NormalColorCombiner=1 //Prevents rare miscoloration and time counter freezes.
ForceScreenClear=1 //Clears excessive pixels from header in first game screen.
FrameBufferEmulation=1 //Forces nonuse of frame buffer emulation so that disabling rendering to texture...
RenderToTexture=1 //Fixes flickering in text.
ScreenUpdateSetting=2 //Fastest setting for emulation that does not ruin flickering prevention.
I've decided not to take screenshots for issues for each game, or at least for this game especially. I will instead type a complete list of all known issues I have discovered and expect everyone to research on their own from there. For this game, the known issues I have found are:
  • 1964 returns an exception in emulation thread using this plugin, but will not using Rice's Daedalus 5.2.0. Interesting...
  • Crashes very soon in Project64 1.7. Crashes but instead after in-game entry in Project64 1.6. May either crash or hang in Mupen64 and Nemu64 if you wait too long and do not press Start during gameplay intro before each fight.
  • Characters will not appear. Try as I might, there just doesn't seem to be anything I can do to fix that, and if only I could, this game would become playable!
  • Texture base pixel wiggling while green text is scrolling.
 
Last edited:

Top