Aquatakat designed new nice GUI layout. Code is in https://github.com/gonetz/GLideN64/tree/feature_new_gui
feature branch.
WIP build:
https://drive.google.com/file/d/0B0YqMPjGo3B2TGpsenpZeTVsWUU/view?usp=sharing
We need your feedback.
I actually like this GUI better overall. I do have one issue (not that I'll ever use it though):

I saw there was supposed to be arrows on the buttons?
Looks good but I still think the Frame buffer copy/depth sections should use comboboxes so less text is occupying the interface in the Frame buffer tab. That would also allow us to get rid of the white space at the bottom of the window in other tabs providing a small, compact and functional UI, while making it look less cluttered with text.

Seriously though this seems like the perfect window size.


@oddMLan @gonetz
About the comboboxes vs. the radio buttons I like both layouts. The reason I changed it back to radio buttons was at gonetz' suggestion. Maybe we just need a little more input on it.
@LuigiBlood
It looks like you're using Windows 7? I'll have to find out which fonts preinstalled on Windows 7 include those arrows, or maybe just make some arrow graphics myself.
I'm getting ready to prepare another pull request with this added feature:

Yeah I'm a Windows 7 user.
I used some skills I have with Paint.net to create some new arrows. They're a bit bold but they do the job.

Looks quite nice 馃憤
There is a problem with custom icons.
I use static build of QT libs. GLideN64.dll contains all necessary resources, but icons not displayed. I don't know why. Green N in window caption is missing. Warning icon in fb emulation tab is missing also. The same will be for arrows.
@gonetz Is it because I manually edited the .qrc file rather than using the Creator? I couldn't figure out where to add it so I manually edited the .qrc XML file.
No, I have the same issue in master branch.
@gonetz I wonder if it works with an Icon.ico rather than PNG.
http://aquatakat.flussence.eu:81/Icon.ico
Sorry. I posted in the wrong spot. See https://github.com/gonetz/GLideN64/issues/885#issuecomment-258751503
@Mario54321 For clarity, here's the comment mentioned:
Instead of just saying "Aspect ratio" you can specifically put the type of aspect ratio it is (storage aspect ratio, display aspect ratio, pixel aspect ratio)
"Display aspect ratio" or "Output aspect ratio" might be a good option.
I wonder if it works with an Icon.ico rather than PNG.
No, it does not.
I found these discussions:
https://forum.qt.io/topic/13034/solved-qt-static-missing-icon-plugin
https://forum.qt.io/topic/34969/static-link-q_import_plugin-qico-unresolved-external-symbol
First says, that qico plugin must be used.
Second says how to do it with Visual Studio.
Unfortunately, it does not help. I imported qico plugin, but icon still missing.
I think it might be better if "Texture cache size" is placed in the Texture enhancement tab instead of the Video tab
@gonetz
Maybe adding add LIBS += to the .pro file?
This is where I looked this up:
https://forum.qt.io/topic/13034/solved-qt-static-missing-icon-plugin/6
@Mario54321
I thought the same originally, but that texture cache only affects textures that haven't been enhanced.
Bingo!
Icon.ico works.
There is a problem: when QT plugin for MSVS creates .vcxproj project from .pro, it writes resources names into the project. I changed Icon.png to Icon.ico in icon.qrc, but autogenerated ui_configDialog.h still uses ":/Icon.png". I changed it to ":/Icon.ico" and finally got the main window's icon.
I generated my PNGs from ffmpeg. There must be some kind of parsing problem with them. I'll give you .ico's for each instead.
Ok.
Looks good, but again, the Framebuffer tab makes the entire window taller than it needs to be, creating tons of ugly whitepace on an UI that would look perfect if the window was shorter - could you make a prototype with comboboxes instead of radio options? These options don't have to be radio buttons if they barely need to be touched. With a proto people could decide on which layout is better.
Before

After

Before

After

After is much better IMO.
'Frame buffer swap on' also should be replaced by combobox then. This option hardly should be changed on desktop.
I think it might be better if "Texture cache size" is placed in the Texture enhancement tab instead of the Video tab
It is control for video memory cache. It is not related to cache for enhaced textures.
@Aquatakat looks like 'texture cache size' is confusing name for that option. It should be something like "video memory usage limit".
Alternative layout of frame buffer emulation page suggested by oddMLan:
https://drive.google.com/file/d/0B0YqMPjGo3B2bllFdV93OF85UnM/view?usp=sharing
So here are my suggestions rephrased from https://github.com/gonetz/GLideN64/issues/1216:
Add a "native N64 resolution" checkbox near the resolution slider. Its description should be something like "(more accurate)" The tooltip should explain that it fixes various issues such as Quest 64's text. When the checkbox is ticked, the resolution scaler should be greyed out.
This "native N64 resolution" setting should be something that can be set globally, or per-game in the ini file, and I'll draw up a list of 2D games where forcing native resolution would arguably be best in the near future.
Add a "native N64 resolution" checkbox near the resolution slider.
It hardly will look nice with current design.
I suggest to put that checkbox into 'Emulation' page. It already has 'Render 2D elements in N64 resolution'. Add new checkbox 'Render everything in N64 resolution (accurate but low-res)' Made them mutually exclusive.
BTW, 'Render 2D elements in N64 resolution' is confusing. User may think, that 2D will be small and low-res. Actually, 2D first rendered in native resolution, then result rendered in user defined resolution. May be 'Multi-pass rendering of 2D elements'?
I suggest to put that checkbox into 'Emulation' page. It already has 'Render 2D elements in N64 resolution'. Add new checkbox 'Render everything in N64 resolution (accurate but low-res)' Made them mutually exclusive.
It's a bit muddled to have the "ratio of N64 resolution" slider and the "render at 1x native resolution" checkbox on different tabs. Especially if enabling the checkbox greys out the slider.
Would it make sense to move the render at factor of N64 resolution slider to the emulation tab? Then it could live next to a "render at N64 resolution" checkbox and not be confusing when the slider is disabled.
BTW, 'Render 2D elements in N64 resolution' is confusing. User may think, that 2D will be small and low-res. Actually, 2D first rendered in native resolution, then result rendered in user defined resolution. May be 'Multi-pass rendering of 2D elements'?
I have a few ideas about this - I'll make something.
Would it make sense to move the render at factor of N64 resolution slider to the emulation tab?
Hmm... Maybe? Dolphin does separate internal and output resolution settings. Output is on the first tab, internal+AF+AA+per pixel lighting are on the second.
Would it make sense to move the render at factor of N64 resolution slider to the emulation tab?
I don't see a contradiction here. Use of native resolution factor does not change output resolution.

To be honest since this alters the video resolution (or output), this would be more fitting under the "Video" tab.
Also I think the "Original N64 resolution" option is redundant with a slider there. You could just make the 1x option say "1x (Original N64 resolution)"
That is, if this is technically possible under QT
@oddMLan Well, Dolphin puts its internal resolution stuff on the second tab. I think this is a good compromise.
@Aquatakat I would suggest removing the 0x factor setting. So that when you select the Factor of N64 resolution setting, it starts at 1x.
What would the ini setting be to force native on a per-game basis?
I would change "Video resolution" to "Screen resolution".
Also, I would change "Render output" to "Internal resolution". I think internal resolution is a reasonably well known concept now that so many games separate their internal and output resolutions. (Doom, Call of Duty, Shadow Warrior, Serious Sam, etc.)
Internal resolution factor?
Yeah, it is a widely used term in emulators, true. But I still think N64 resolution factor sounds a bit more understandable for someone who isn't familiar with the term.
But I still think N64 resolution factor sounds a bit more understandable for someone who isn't familiar with the term.
No, I meant the section heading.
It says "Render output at:"
I would change that to "Internal Resolution:" Because you're changing the internal resolution. The output resolution is controlled by the resolution settings on the other tab.
I think "Factor of N64 resolution" is fine for that subsection.
Oh yes, then I would agree with you.
Also with that change the section suddenly sounds more fitting under "Emulation".
On a sidenote:
WIP build:
https://drive.google.com/file/d/0B0YqMPjGo3B2TGpsenpZeTVsWUU/view?usp=sharingAlternative layout of frame buffer emulation page suggested by oddMLan:
https://drive.google.com/file/d/0B0YqMPjGo3B2bllFdV93OF85UnM/view?usp=sharing
Something must've regressed between the first and the second build. The performance I'm getting on the second build in Mario Tennis is atrocious (48 VI/s), while the first build works super fast (166 VI/s).
@gonetz Did you build debug on the second one by mistake?
@oddMLan @gonetz
I noticed the performance problems also. I was originally getting 60 VI's in The New Tetris (with frame limiting) vs. about 30-40.
I agree with @AmbientMalice:
Rename "Render output at:" to "Internal Resolution:".
It is really good explanation of that option.
The first option should be "Same as output resolution"
Second option is ok.
Slider for the third option should start from 2.
But what about this
Also I think the "Original N64 resolution" option is redundant with a slider there. You could just make the 1x option be more specific "1x (Original N64 resolution)"
Supress the second option, just leave the slider.
@oddMLan First build is release one, others are non-optimized debug builds. These builds posted to test UI, not the plugin itself.
What would the ini setting be to force native on a per-game basis?
[frameBufferEmulation]
nativeResFactor=1
@oddMLan That doesn't make it clear that literally every resolution that isn't 1x breaks things. If you want games to not be broken, you select the clearly marked "Original N64 resolution".
Slider should start from 2, because 0 and 1 correspond to first two options.
Slider should start from 2, because 0 and 1 correspond to first two options.
So in other words...
nativeResFactor=0 Plugin selects "Same as output resolution."
nativeResFactor=1 Plugin selects "Native N64"
nativeResFactor=2+ Plugin selects appropriate setting on slider.
That makes sense. And the ini settings will be nice and clean this way.

This is less redundant overall IMO.
@AmbientMalice People usually pick 1x resolution for faithfulness, not necessarily accuracy. That is more accurate can be specified in a tooltip when you hover over the radio option.
@gonetz We could have the radio buttons change the slider (and disable it) and the slider disable the incorrect radio buttons.
That sounds good to me.
@oddMLan The N64 is a special case. The primary reason to pick 1x is because you either don't want 2D games to look wrong (black lines, blending issues, etc) or you don't want your games to be bugged. (Quest 64) A lot of games require 1x exactly to render correctly.
The jump from 1x to 2x is fairly catastrophic in terms of 2D accuracy currently. This isn't like the PS1 where it just causes a few minor niggles.
@Aquatakat That seems needlessly complex. Gonetz's suggestion works perfectly.
Output resolution.
Native resolution.
Slider that goes from 2x native upwards.
If people want "internal = output" they select output.
If they want games to stop breaking, they select Native.
If they want to supersample or anything like that, they adjust the internal resolution slider. (People taking really high resolution screenshots love stuff like this.)
I see your point but not all the end users are familiar with N64's emulation quirkiness-es. Then again you, Gonetz and Aqua seem to prefer having 3 radio options so I guess I'll just roll with that 鈽猴笍
I guess in the end the 3 radio layout is also more clear for end users.
@Aquatakat Yes, slider should be enabled only when third option is selected. If slider will start from 2, it will not interfere with previous two options.
@oddMLan I thought to make just one slider with "output resolution" for 0, "Original ..." for 1, and nx for others. But radio buttons solution looks more clear.
@gonetz Is there a difference between 1x and 0x anti-aliasing?
0x is Off. 1x is presumably 2x MSAA or something like that. And I assume it goes 2/4/8/16x MSAA.
0 is Off.
Any value above zero is used as parameter for multi sampling.
Cite glTexStorage2DMultisample description:
"samples specifies the number of samples to be used for the texture and must be greater than zero and less than or equal to the value of GL_MAX_SAMPLES.@
Thus, 1 is valid value for samples. I guess that result will be as without AA though.
I did a little testing, (not a lot) and it seemed like 1x was the same as 0x. I was wondering if we could remove 0x and have 1x as the minimum.
No, we can't
0 means AA off
Alright.
Would it be possible to tweak the slider so it goes in multiples? 0/2/4/8/16? That's how most AA solutions work.
Also, yea, 1x minimum is no good. AA should also probably have an override when running at 1x native because it breaks stuff.
0x

1x

AFAIR, it is possible to set slider's step.
An exponential step (2, 4, 8, 16) may require a little work. I'm not sure it's necessary though: MegaMan 64 (MegaMan Legends) almost famously has black lines in 2D and 3D elements.
An exponential step (2, 4, 8, 16) may require a little work. I'm not sure it's necessary though
If you want your AA solution to work traditionally it will. The current maximum is 4x MSAA. Of course that's more than enough for N64 games, though. 1x MSAA should be removed at the very least. I don't think MSAA can work properly with only one sample.
MegaMan 64 (MegaMan Legends) almost famously has black lines in 2D and 3D elements.
It's far more prone to it than other games. But raising the AA beyond 2x immediately causes black lines in games like Army Men: Air Combat.
The current maximum is 4x MSAA.
Actually 8x
1x MSAA should be removed at the very least. I don't think MSAA can work properly with only one sample.
It can. 1x MSAA == no MSAA. no MSAA works properly.
But I agree, better to use exponential step (2, 4, 8, 16)
Slider step is already set to 2, but you can set odd value with mouse.
It can. 1x MSAA == no MSAA. no MSAA works properly.
When you set slider to 1x, it breaks Mega Man. So what is going on there?
Interesting. I don't know. Do you see any AA effect with 1x?
Just with a quick check 1x doesn't seem to affect the Star Fox 64 intro in any way.

Well, I don't know what is going on with 1x MSAA. 1 is correct number of samples for msaa texture, as well as 3 or 5. I guess, result for such 'odd' sampled textures is hardware dependent.
It seems like disabling 1x and treating it as either 0x or 2x might be a good option.
Good option is to allow only power of two values for MSAA.
I suggest to leave it as is for the moment, since all values from this sliders are correct for OpenGL.
@gonetz I checked a few games and couldn't find a difference. @AmbientMalice should probably prepare a new issue with games that are affected and their video card.
@AmbientMalice Mega Man 64 works for me (ATI card) btw.
Current WIP build:
https://drive.google.com/file/d/0B0YqMPjGo3B2ZnB3NWdsQWtHbE0/view?usp=sharing
Suggestions and feedback are welcome.
Aspect ratio: Adjust option needs a hint that it activates "widescreen hack"
Maybe just renaming the label: "Try to adjust game to fit"?
"Try" implies the plugin is making an effort to do a thing that may not be possible.
"Enable hardware lighting" - better rename to "Enable Phong shading", to reflect its true nature. Phong shading explanation easily googled.
Maybe just renaming the label: "Try to adjust game to fit"?
Ok
"Enable hardware lighting" - better rename to "Enable Phong shading", to reflect its true nature. Phong shading explanation easily googled.
I can't recall - is this feature to make it more N64-accurate or is it just to make everything look better?
In the first case the label should probably be "Enable N64-style shading," but otherwise "Enable Phong shading" would be more correct.
N64 uses Gouraud shading. Phong shading produces better result, but it requires much more computations.
I believe the more common term is "per pixel lighting". As opposed to per vertex lighting, which the N64, and all other consoles in the 5th and 6th generation used.
I see one issue: OSD tab, top left arrow is somehow highlighted, even if other position is selected. When you press any arrow button, that highlight disappears.
"per pixel lighting" is Phong shading
Per pixel lighting may be a more user-friendly term. We could put Phong shading into the tooltip.
Ok
I'm not sure what causes the UI to pre-highlight the top-left button. I'll see if I can figure it out.
"Phong shading" sounds more scientific and imposing
There's two options here:
Enable per-pixel lighting
People try the option and like it
Enable Phong shading
Or people avoid the option because the checkbox is too complicated.
If we want the first, "Enable per-pixel lighting" is a better choice
For the second, "Enable Phong shading" is a better choice
It is matter of taste, as any option, which changes original look of the game.
I agree with per pixel lighting.
It's good that that's the option I made a pull request for then :)
Current state. Everything is done. Only some minor issue left.
https://drive.google.com/file/d/0B0YqMPjGo3B2SnR2WXlwaktobzg/view?usp=sharing
@gonetz There's a small bug with refresh rates. There are duplicates:

I think this is caused by multiple monitors.
I know about it, but don't have time to fix it.
@gonetz When are you planning on releasing an official updated version? (1.3, I assume.) Because I should probably draw up a list of 2D games that benefit from forced native and make a PR.
Current WIP. Some logic fixed:
https://drive.google.com/file/d/0B0YqMPjGo3B2RXNLODZCUGJMejQ/view?usp=sharing
@AmbientMalice I hope to finish with current fixes and regressions before the new year. New GUI need to be translated. It can be done after release, but better to have at least some translations to release date.
Custom ini cleanup and fixes. Etc etc. New year is optimistic date.
Current WIP. Some logic fixed:
https://drive.google.com/file/d/0B0YqMPjGo3B2RXNLODZCUGJMejQ/view?usp=sharing
I confirm that the performance regression I saw before is no longer present in this build. I guess you compiled the debug build by mistake 馃槢
Now that I realize, when using that build I triggered an assertion error when playing Mario Tennis and enabling Copy Aux buffers to RDRAM.
It's been too many times I can't count in which I start compiling the debug build only to cancel and set it to Release.
Heyy, the GUI is looking pretty damn awesome & professional. I like the wording changes made as well.
I guess you compiled the debug build by mistake
No. Next WIP build can be debug too. Sometimes it is more convenient for me.
Heyy, the GUI is looking pretty damn awesome & professional.
I like it too. However, if you see some issues or have a suggestion, it is not late to correct the design.
To be honest I've never seen af and aa options with odd numbers... only with even numbers at the power of 2:
off, 2, 4, 8, 16, 32 (though on my nvidia cards with a normal installation, they are capped at 8x aa and 16x af)
I don't really see a difference between 3x and 4x
same case with other non^2 numbers.
1x just breaks graphics with no AA whatsoever.
AA and Anisotropic should be power of 2 only. It's that way in all other emulator projects and software.
Also the slider splits at power of two numbers.
The slider currently has ticks at every 2x. Maybe every 2x is the best separation. I also couldn't tell the difference between 3 and 4.
AA and Anisotropic should be power of 2 only.
GL does not specify that.
Current WIP (warning: debug build) . Some logic fixed:
https://drive.google.com/file/d/0B0YqMPjGo3B2RC1MQVlzTkxPT0E/view?usp=sharing
So phong shading/per pixel lighting is more faithful to real N64 behavior?
I'm not sure, what faithful means in given context.
N64 games implements Gouraud shading. Most of other 3D games on all other platforms also use Gouraud shading. Phong shading used mostly by professional renders, like CADs.
In this context faithful would mean most accurate. Maybe I should adjust the tooltip.
Most accurate by which criteria? Closest to original view - no. Most realistic with given model and set of lights - yes.
Based on @AmbientMalice 's original sentence: faithful -> most accurate
So phong shading/per pixel lighting is _most accurate_ to real N64 behavior?
Or possibly "closest to real N64 behaviour."
"More accurate to the N64" strongly implies/flat out states that this mode more closely resembles a real N64's behavior.

It should probably just be worded as "Lighting will be smoother."
So phong shading/per pixel lighting is most accurate to real N64 behavior?
No, because Phong shading gives different result. It should not be compared in that terms as "closest to real N64 behaviour." It is an improvement. As texture filtered with HQ filter is not closest to real N64 texture
"More accurate to the N64" strongly implies/flat out states that this mode more closely resembles a real N64's behavior.
which is not true.
"When checked, lighting is more accurate and realistic than with original N64 lighting method."
Alright, how about this language? #1238
Language is fixed, thanks!
How about my suggestion:
https://github.com/gonetz/GLideN64/pull/1238#issuecomment-261473210
?
I'll put the tooltips back on each control/label. The only real reason I did it this way was so if there were any changes to the tooltips they only needed to be changed in one place rather than, for example, 6 (like on the sliders).
I usually pick group of controls with mouse + Ctrl pressed, then with right mouse button select "change tooltip" to update tooltiop for all selected elements.
Oh, I'll remember that if any need to be changed in the future.
Current WIP:
https://drive.google.com/file/d/0B0YqMPjGo3B2WHI0cm1CSEc2SDg/view?usp=sharing
I have no more requests atm.
@Aquatakat, great work!
Thanks to all participants for help, criticism and advises.
@gonetz I was reading some Qt documentation and I realised in a lot of spots where I just used a Layout to group controls I should have used a QFrame. You can apply a tooltip to a QFrame as well which makes more sense than applying the same tooltip to 6+ controls/labels. I'm going to change the form to use QFrames unless you know any reason why that might not be a good idea. I don't think any adjustment to the C++ will be necessary.
Ok, I have no objections.
Current WIP:
https://drive.google.com/file/d/0B0YqMPjGo3B2R0FxVmRYa1kwNk0/view?usp=sharing
One issues left:
If internal resolution is set to Original and then we disable FB emulation, 2D fixes remained disabled.
Current WIP:
https://drive.google.com/file/d/0B0YqMPjGo3B2Zy1TNzFQblQwWkk/view?usp=sharing
Seems to be fully functional.
With the new QFrame based signals some code might be redundant now. But everything is working properly ATM so it might be best to leave it alone - if it ain't broke, don't fix it.
If you see some code, which looks redundant - let me know. I'll clear it and test.
void ConfigDialog::on_fbInfoDisableCheckBox_toggled(bool checked)
{
ui->readColorChunkCheckBox->setEnabled(!checked);
ui->readDepthChunkCheckBox->setEnabled(!checked);
}
This behaviour may be fixed with the new signal to frameBufferOptionsFrame.
void ConfigDialog::on_nativeRes2D_checkBox_toggled(bool checked)
{
ui->fixBlackLinesLabel->setEnabled(!checked);
ui->fixTexrectDisableRadioButton->setEnabled(!checked);
ui->fixTexrectSmartRadioButton->setEnabled(!checked);
ui->fixTexrectForceRadioButton->setEnabled(!checked);
}
This behaviour may be fixed with the new signal to nativeRes2DFrame.
Inside ConfigDialog::on_frameBufferCheckBox_toggled:
ui->readColorChunkCheckBox->setEnabled(checked && ui->fbInfoEnableCheckBox->isChecked());
ui->readDepthChunkCheckBox->setEnabled(checked && ui->fbInfoEnableCheckBox->isChecked());
These may be fixed by the new signal to frameBufferOptionsFrame.
Also inside ConfigDialog::on_frameBufferCheckBox_toggled:
const bool bCustomCropEnabled = checked && ui->cropImageComboBox->currentIndex() == Config::cmCustom;
ui->cropImageWidthLabel->setEnabled(bCustomCropEnabled);
ui->cropImageWidthSpinBox->setEnabled(bCustomCropEnabled);
ui->cropImageHeightLabel->setEnabled(bCustomCropEnabled);
ui->cropImageHeightSpinBox->setEnabled(bCustomCropEnabled);
I'm not sure but the signal sent to cropImageFrame might fix this.
Everything else looks OK.
I tried to understand, how to replace on_toggled methods by signals, but failed. When I open edit signals/slots mode in QT Creator, I can't understand how you edit this mess?
Could you show, how to replace
void ConfigDialog::on_fbInfoDisableCheckBox_toggled(bool checked)
{
ui->readColorChunkCheckBox->setEnabled(!checked);
ui->readDepthChunkCheckBox->setEnabled(!checked);
}
by a new signal to frameBufferOptionsFrame ?
The behaviour in the preview is correct, and the preview doesn't use any of the C++, so therefore you should be able to remove those lines. The signals/slots that govern whether or not those checkboxes are checked are these:

First, this QFrame which contains all of the options on the frame buffer tab except for the checkbox is enabled/disabled. Controls within a QFrame seem to remember whether or not they're disabled when their containing QFrame is enabled/disabled.

These lines should directly replace the code you quoted, as long as fbInfoEnableCheckBox is toggled properly in the C++, which it is.
When I open edit signals/slots mode in QT Creator, I can't understand how you edit this mess?
It is a bit of a mess. It's not the best system. It makes more sense to edit signals/slots with the GUI editor if possible:

and if not I found it easier to just write the XML in the .ui file myself.
Keep in mind: a few revisions ago the signals and slots editor contained dozens of entries for every specific control the frame buffer checkbox enabled. It's much cleaner now.
Ok, thanks for explanation. I removed some code. No issues found. New binary:
https://drive.google.com/file/d/0B0YqMPjGo3B2UE04UHU2SGtYaHc/view?usp=sharing
I updated translation files: c050d22553
Most of text strings changed, so lots of translation work need to be done again.
It would be great to have at least some translations ready before release.
If you haven't received any translations yet I could provide comments/disambiguation texts if that would be helpful.

I haven't received anything related to translations yet. I suppose, if somebody will start new translations, comments/disambiguation texts will be helpful.
The fact that the GUI is basically done isn't really common knowledge, either. It might be worth it to re-advertise for translators as a new issue here and on the blog and possibly other places like emutalk.net.
It might even be time to show what the plugin can do on this repository's readme - I think possibly it's met and surpassed any HLE N64 video emulation to date.
First translation is ready! IlDucci, thanks!

It looks really good! I'm super happy!
Thanks guys! A couple of notes here:
It sounds like it might be time to take the plunge and merge feature_new_gui into master.
New build - About dialog re-designed
https://drive.google.com/file/d/0B0YqMPjGo3B2VkszcFp2NnRoVWs/view?usp=sharing
Now it sounds like it is ready for master.
I hope it goes smoothly.
I will do it this weekend.

Looks good, but I can't see the 32x32 icon to the left of "GLideN64"
Me too :( It not shown in QTCreator also
Something is wrong with Icon.ico. QTCreator can't open it.
I tried to save Icon.ico with IrfanView, but resulted icon has black outline:

Help needed.
Icon format is correct with Windows-spec. It uses compressed PNG for bigger sizes, eg 128x128 and 256x256. Icon was saved using program especially designed for that purpose. Most likely QT doesn't support PNG compression. Since icon in the window title and taskbar is managed by Windows itself, it shows with no problems. Icon in the GUI it's displayed by QT, which cannot load the icon. Moreover, it seems that it's scaling down the icon from the full-sized version. I measured the dimensions in that screenshot and the icon shows as 34x34, which is an invalid icon size. My theory is that since a 34x34 icon doesn't exist in the file QT is trying to scale down the full-sized 256x256 PNG-compressed icon. Try to fix the size to see if it can read the 32x32 icon from the file.
Also are you using the current version of QT creator? @Aquatakat didn't have any error message AFAIK
I'm using Creator 4.10 on Qt 5.7. I'll try extracting one of the bmp sizes into its own file and using that instead.
I think it's probably likely that whatever Qt that gonetz is using to compile doesn't support PNG at all. I remember when I originally designed the form and all the various icons in it I was using plain jane .png files which worked on my preview but not when compiled.
Alright, @gonetz #1281
Now that you mention it, I think the version he uses is actually stripped of any PNG support, It's a situation in which the inbuilt libpng library in QT conflicts with Hi-res texture support, so he uses his own static libpng build lib into the project.
@gonetz The current stable version of QT is 5.7.0 and has MSVC 2015 support. Do you think it's time to upgrade the solution? It's a bummer that QT takes so long to install and setup though.
Maybe the new version doesn't have the problem with the PNG support.
I'm wondering if we could just archive the 128x128 and 256x256 icons for now - there's not currently anywhere they're displayed.
we could just archive the 128x128 and 256x256 icons for now
Yes, we could.
The feature merged to master.
I squashed all dev commits into 1 commit.
Ryan, Thanks!
You're welcome.
Is the question mark (?) useful for anything?

It should be removed from the titlebar.
@oddMLan I tried to figure out a way to remove that question mark in the XML but I wasn't successful. Maybe I'll poke around in the C++.
@gonetz It looks like a quick and easy change based on this to remove the "What's This" question mark from the title bar by changing the two spots where QDialog() is called to include Qt::WindowTitleHint | Qt::WindowSystemMenuHint as the second argument. I would create a pull request, but C++ is too foreign to me鈥旾 don't even know if Qt is an accessible object there.
Yes, it works. Thanks!
I see two issues now
@Aquatakat
Can the problem with Gamma override combobox be fixed without cpp modification?
@gonetz Unfortunately not, but the fix is simple. #1299
Thanks!