All visuals with parameter GLX_SAMPLE_BUFFERS_ARB = 0 have
GLX_SAMPLES_ARB = 0, so the old code would only ever choose
visuals with GLX_SAMPLE_BUFFERS_ARB>=1 and GLX_SAMPLES_ARB>=1.
Some drivers do not export any multisampling capable visuals,
so dolphin fails to find a matching visual and falls back to
the single buffered visual(which does not work for some yet
unknown reason). Fixes issue #2647.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5565 8ced0084-cf51-0410-be5f-012b33b47a6e
game list, rely on the main event handler already running, which isn't
the case until after OnInit(). This is a problem when an ISO directory
is already set at startup.
To deal with such actions that can only properly be done after the wx
environment is fully functional, schedule AfterInit() where the initial
game list scan is done.
The underlying icon object for wxIcon on OS X didn't work with our
(non-square?) 96x32 game list graphics, but we weren't using any wxIcon
properties such as transparency anyhow, so just skip the wxBitmap to
wxIcon back to wxBitmap conversions.
Use wxID_ABOUT and wxID_PREFERENCES so that those menu items are
automagically teleported to their canonincal locations on each platform.
USE_XPM_BITMAPS has been implicit on all platforms for some time now.
AddGrowableCol() causes problems in a couple of inessential places for
some unknown reason, even though the same pattern works fine elsewhere.
These changes make us play a lot nicer with wxWidgets 2.9.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5564 8ced0084-cf51-0410-be5f-012b33b47a6e
by not linking in other Unix audio modules.
Use kAudioUnitSubType_DefaultOutput instead of kAudioUnitSubType_HALOutput
so that a runtime switch to another audio device is automatically handled.
Use ERROR_LOG for audio errors.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5562 8ced0084-cf51-0410-be5f-012b33b47a6e
becomes blocked. This was most readily apparent when first starting
programs from a high-latency filesystem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5558 8ced0084-cf51-0410-be5f-012b33b47a6e
of going through an intermediate thread and buffer. This seems to be
how Core Audio is meant to be used, although I still haven't read the
manual.
Indeed, sound on OS X works perfectly now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5555 8ced0084-cf51-0410-be5f-012b33b47a6e
initialization failure, so help it along a little by also considering
the CPU as an OpenCL device.
Use CL_DEVICE_TYPE_DEFAULT rather than CL_DEVICE_TYPE_ALL as that will
give preference to the spiffy GPU if one is present. Implementations
of OpenCL are likely to put a GPU as the first device in the list, but
there is no guarantee of this and this code currently only picks the
first device in the list.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5547 8ced0084-cf51-0410-be5f-012b33b47a6e
quantum, as the callback wants us to provide exactly the amount of
samples needed.
This is incomplete because core audio may ask for less than the full
buffer size (for me, typically 1484 or 1488 bytes of a 2048 byte
buffer). As a quick hack until I read the rather impenetrable core
audio documentation, assume that each callback request will want
about the same number of samples as the preceeding one.
This makes sound bearable.
Also various cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5543 8ced0084-cf51-0410-be5f-012b33b47a6e
* Restore Audio Throttle to function properly, broken by Ayuanx many hundreds of revisions back.
* Simplify DSPLLE JIT dispatcher in preparation for an asm rewrite
* Remove hack that made DSPLLE JIT seem faster than it was by running fewer cycles, but resulting in bad sound. This shows off how mysteriously slow it is - I don't understand why it's not faster. Use the DSPLLE interpreter for now if you want to use DSPLLE.
* Made "DSPLLE on Thread" work properly with correct-ish timing - although the speed benefit is really small now.
If it seems like this change slows anything non-LLE down, try turning off Audio Throttle and use the frame limiter in options instead.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5541 8ced0084-cf51-0410-be5f-012b33b47a6e
Removing and adding some elements, making it more readable for others.
Off-Topic: Have fun at the Grandprix! May the best win:P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5536 8ced0084-cf51-0410-be5f-012b33b47a6e
This is especially perceptible for "big" textures, so e.g. EFB copies to RAM should be a bit faster now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5531 8ced0084-cf51-0410-be5f-012b33b47a6e
and Wii/sys directories if they do not already exist. This conflicts with
DolphinApp::OnInit (run after constructors) which populates the User tree
only if there isn't already something there.
Instead, set up the two directories in the Data tree.
With this change, sys/uid.sys still won't be created until the _second_ run
after a fresh install, so these file initializations should be moved out of
constructors so that they will be run after OnInit().
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5526 8ced0084-cf51-0410-be5f-012b33b47a6e
use appropriate extensions extracting compressed wii discs
check for tmd+tik for each title and list titles correctly for sysmenu versions <=0xE0
this will allow viewing of installed channels but they will not launch until ES_Launch is emulated
so far I have not been able to determine why later sysmenu versions do not display channels correctly
switching between system menu versions is as simple as rightclicking a system menu wad in the gamelist and installing to wiimenu than restarting
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5524 8ced0084-cf51-0410-be5f-012b33b47a6e
Apparently, motionplus games are very strict on calibration data checksums, they don't like invalid/0x00'd checksums(this is trackable via 0x01 writes to the active extension register at 0xA400F3). I'll keep all motion plus related stuff that I've discovered on my blog: http://snzgoo.blogspot.com
Next time I'll fix the disconnects, which are most likely caused by the sent motionplus empty/dummy data.
So stage2 might come sooner than u guys thought. Let me hear u scream;)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5522 8ced0084-cf51-0410-be5f-012b33b47a6e
* optimize may last commit to make it faster
* reorder the code to make it more readable
please test and enjoy
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5520 8ced0084-cf51-0410-be5f-012b33b47a6e
of the file save bug.
(_dbg_*() should really get the same treatment as *_LOG() to remove this
whole class of #ifdef hell.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5519 8ced0084-cf51-0410-be5f-012b33b47a6e
Just minor stuff that needs to be finished: Dummy motionplus data needs to be kept dynamic(just like wiimote accel data), or it might cause disconnects after some time. Furthermore, there are 1-2 remaining register writes that have to be understood and emulated.(e.g. 0x00F3/F4). In the end just minor stuff. I'll address that in my next commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5476 8ced0084-cf51-0410-be5f-012b33b47a6e
as a nice result of this eliminate the nasty glubuild2dmipmaps.
thanks to neobrain and orphis for discovering the error and the right values
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5475 8ced0084-cf51-0410-be5f-012b33b47a6e
this not solve the remaining projection problem in some games like mario kart wii
will work that problem later.
please test and let me know the results.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5473 8ced0084-cf51-0410-be5f-012b33b47a6e
This should give the exact same shader code except for the cases of
SELA == SELB and SELC == 1, the latter only for the color combinder.
In these two cases the results of the shader should not change in any way.
It would have been possible to optimize the SELC == HALF case too, if
the actual factor had been 0.5f instead of 0.4980392f.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5472 8ced0084-cf51-0410-be5f-012b33b47a6e
strcasecmp is provided by Source/Core/Common/Src/CommonFuncs.h
and vswprintf is overloaded in C++ to take the same parameters as
vsnwprintf, according to MSDN.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5470 8ced0084-cf51-0410-be5f-012b33b47a6e
almost fixed real xfb in d3d, i say almost because there are some minor scalling problems. hope will fix them soon.
implemented a more intelligent index generator to emulate more accurately the behavior of the gc.
please give me feedback on this changes.
enjoy :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5465 8ced0084-cf51-0410-be5f-012b33b47a6e
The real hardware probably always sends the result of its computations
to the alpha test/fog units, in parallel to its registers, but those
only take the result of the last texenv stage.
This makes grass show up in ZTP, where the last texenv stage oddly writes to
reg #3 instead of #0.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5462 8ced0084-cf51-0410-be5f-012b33b47a6e
This removes some bad behaviour, like the audio thread busy waiting inside ALSA code,
missing begins of voice samples(due to DSP_HLE code not getting called often enough).
Turns out my understanding of ALSA API was lacking.
Tested with pulse plugin and directly on my intel-hda/realtek hardware.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5461 8ced0084-cf51-0410-be5f-012b33b47a6e
implemented fixed efb scale to improve alignment and discard some error caused by incorrect scale.
make both plugins work similar. this must improve opengl image quality a lot.
also implemented dynamic resizing in opengl, this way the resolution math the windows resolution on resize.
this is highly experimental so please test a lot.
implemented shader dumping on error thinking in future experiments with shaders.
enjoy :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5458 8ced0084-cf51-0410-be5f-012b33b47a6e
a MAYORRRRRR change in pixel shader generation, please review all games you can and leave comments this must improve accuracy in graphic emulation a lot.
for example: mario eyes in super mario galaxy, water pod transparency an water transparency on game intro in super mario sunshine, etc.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5457 8ced0084-cf51-0410-be5f-012b33b47a6e
disable install wii menu item after installation (restart required still for NANDContentLoader to find it
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5456 8ced0084-cf51-0410-be5f-012b33b47a6e
The error was caused by trying to set the text for a status bar field whose index was equal to the actual number of fields.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5449 8ced0084-cf51-0410-be5f-012b33b47a6e
allows (among other things) installing the wiimenu from a wad extracted from the update partition of a game
currently you can choose Tools > Install Wii Menu or right click wad from the gamelist and install
restart required to have the Tools > Load Wii Menu work
I thought I had already commit this, I guess I forgot and it's just been sitting on my hdd :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5448 8ced0084-cf51-0410-be5f-012b33b47a6e
The fix is asking alsa for a prefered "hardware" buffer size, so alsa does not fall
back to pulseaudios offering of ~1 minute. Additionally, alsa busy waits when pulseaudio
is used, sw:avail_min is set and hw:buffer_size is small.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5439 8ced0084-cf51-0410-be5f-012b33b47a6e
I also already implemented most of the needed data structures and datareport handling for the motionplus-nunchuk passthrough mode, which I'll add up next as well.
Wii Sports Resort is now bootable by just using an emulated wiimote (only working under the old wiimote plugin atm,
I asked billiard to port my commit into his plugin since he knows his plugin better than me and its less work for him than for me,
I kept most parts of my code in modules to simplify that task).
Upcoming stage2: Faking the motionplus on the fly on real wiimotes, that means you will be able to play, e.g. Redsteel2 with a real wiimote and nunchuk or wii sports resort with just your real wiimote.
and nunchuk, but w/o the need of having a real motionpluscontroller connected. The new Zelda 2010 will benefit by that, since it will require a motionplus controller.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5438 8ced0084-cf51-0410-be5f-012b33b47a6e
make native mips loading an option to prevent performance lost in game that not need this functionality.( thanks to dorian.fevrier for point the performance lost.)
added a patch from pierre@pirsoft.de to avoid vertex drops when index array is full in opengl implementation that do not support large index arrays
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5432 8ced0084-cf51-0410-be5f-012b33b47a6e
For some reason something in (or included in) Frame.h messes up the SFML inclusion in NetPlay.cpp.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5426 8ced0084-cf51-0410-be5f-012b33b47a6e
No need to press the "refresh wiimotes" button on pair up anymore, checking the extended pair up box(still experimental) allows u to pair and hook up the wiimote while being ingame. You still need to do the ALT+F5/F6/F7/F8 connect, but you wont need to press the pair up button + refresh button anymore, feel free to test it, its not perfect yes. Just press 1+2 on your Wiimote to pair it up ingame(you need to check the extended pair up box for that feature).
PS I hope I didnt break nonwin32 builds, I gave my best however.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5413 8ced0084-cf51-0410-be5f-012b33b47a6e
Also added a window size setting for windowed mode.
Also pulled some X11 specific code out into a separate file.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5395 8ced0084-cf51-0410-be5f-012b33b47a6e
add an option to limit fps instead of vps for games with bad synchronization
some minor fixes in d3d gui
enjoy :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5394 8ced0084-cf51-0410-be5f-012b33b47a6e
void pushExtValueFromReg(u16 dreg, u16 sreg);
void popExtValueToReg();
instead of the backlog.
Someone might want to add it to the Unit test
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5389 8ced0084-cf51-0410-be5f-012b33b47a6e
simplified CoreTiming::AddEventToQueue
fixed emu.frameadvance and implemented emu.wait
fixed Lua script termination
brought over some luaconf customizations to fix issue 2245 in a better way and deal with certain other scripting problems
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5383 8ced0084-cf51-0410-be5f-012b33b47a6e
made Lua run on the CPU thread to fix unreliable script execution issues
several fixes so the Lua savestate functions can actually work
added Lua function savestate.verify to help with catching desyncs
implemented FailVerifyAtFrameBoundary in Lua interface
added a Clear button to the LuaWindow
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5382 8ced0084-cf51-0410-be5f-012b33b47a6e
Made the JIT sanity checks more informative.
Sanity checks are now only performed in the DEBUG and DEBUGFAST builds. This gives a tiny speed-up for everyone else.
Fixes issue 2187.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5378 8ced0084-cf51-0410-be5f-012b33b47a6e
Also fix an issue with the DX9 plugin not being the correct size when starting the game in fullscreen at a higher resolution than the desktop resolution.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5375 8ced0084-cf51-0410-be5f-012b33b47a6e
Also disabled some code in the same place that caused the application to hang in linux. This means that if you select keys from the key list you will have to click Set to make it take effect. At least until I can figure out how to get that working.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5368 8ced0084-cf51-0410-be5f-012b33b47a6e
Moved ControllerInterface to InputCommon. Moved GCPadNew GUI/Config code to a new project, InputPluginCommon. It is used by both GCPadNew and WiimoteNew. I hope that I included everyone's fixes to GCPadNew and ControllerInterface.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5355 8ced0084-cf51-0410-be5f-012b33b47a6e
Also improve the visual appearance in linux. I think I have done so without hurting the appearance in windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5348 8ced0084-cf51-0410-be5f-012b33b47a6e