zcomploc is a feature of the BP which switch depth test from before the alpha
test to after the alpha test. This way, transparent fragments are written to
the depth buffer too.
The current implementation is quite hacky and does not cover all cases but is
enough to fix problems in a lot of game. A complete implementation would
require a multipass rendering method and is attempted in the
zcomploc-experimental branch.
According to testers feedback, fixes bugs in the following games:
- Baten Kaitos
- Baten Kaitos Origins
- 007: Everything or Nothing
- Ty the Tasmanian Tiger
- Tony Hawk's Pro Skater 3
And probably other games too.
Conflicts (because of new-shadercache-uids):
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
In previous revisions of Dolphin, changing texture generation settings (via
GX_SetTexCoordGen for example) did not regenerate the vertex shader and flush
the vertices. Adding this flush should fix texture problems in a few game, for
example in Superman: Shadow of Apokolips:
Before: http://i.imgur.com/mHmfb.jpg
After: http://i.imgur.com/2ThES.png
- don't load shader cache from disk in d3d9/11 if shader debugging is enabled (we won't have any info about the source shader code otherwise, etc)
- dump shader source codes on safe UIDs mismatch
Thanks to LordMark and [SS] for reporting those to me ;)
hopefully this will be the last code change committed directly to master for a while... :/
next is cmake to replace scons on osx hopefully. pointers anyone? (soren?)
Uses a single page for configuring ALL wiimotes now.
Due to the use of wxWindow::NewControlId, this might increase our wx version requirements (irrelevant for windows users). Works fine with wx 2.8.10 at least, but the docs aren't more specific about when wxWindow::NewControlId was introduced. If anyone doesn't like this, I'll change it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7692 8ced0084-cf51-0410-be5f-012b33b47a6e
Also, don't check to see if a directory is a wad file. They aren't. This removes an annoying and invalid debug assertion with the debug build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7682 8ced0084-cf51-0410-be5f-012b33b47a6e
Also fix the wxMessageAlert called from non-gui threads in the WXGTK build to use the passed caption.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7678 8ced0084-cf51-0410-be5f-012b33b47a6e
Also if the OpenGL backend throw a panic alert if the RGB to/from YUYV shaders fail to compile instead of an error log. If these shaders fail to compile it should be reported. I am not sure that a panic alert should be thrown in general when any shader fails to compile (as was discussed on IRC).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7677 8ced0084-cf51-0410-be5f-012b33b47a6e
See comment #6 for more details on the changes to WII_IPC_HLE_Device_usb.
In addition to that, rework some comments a bit (such as those from the
original patch; plus Ayuanx's one about maintaining Wiimote timing, which lost
relevance since r7272 which made Wiimote::Update timing independent from IPC
timing), and remove an unused global variable (event for watchdog hack)...
In short, this should address *some* of the Wiimote disconnection and/or "forgotten extension" problems that appeared with r7272 and/or r7394. To prevent the "ACL queue is full" warnings from appearing (View->Show Log), pay attention to the amount of enabled Wiimotes (use as few as possible, connect the extra Wiimotes only when needed), and make sure to disable the "Disable Wiimote Speaker" option (if unneeded or causing problems) in the game properties. If possible, make sure to use real Wiimotes instead of emulated ones, as well.
If Wiimotes disconnect forever (and cannot be reconnected using the Alt+Fx hotkeys), open the Wiimote config window, set the faulty Wiimote's type to "None", close/reopen the window, and set the previous Wiimote type back.
Note that it's not a *complete* fix for issue 4608! This only fixes about half (or maybe third) of the possible causes of this issue... But at least this should make the accurate Wiimote emulation (I mean, with the limitation of the ACL queue included) more usable in some cases (such as multi-player).
Nope, I didn't (and can't yet) perform in-depth tests on the real hardware myself (unlike some developers), I just rely on the given "accurate" code and numbers (such as the 10-packet limit implemented by godisgovernment)...
Maybe I'll get to fixing other problem "causes" (if I feel like doing it), maybe not in a while... After all, I have other hobbies, and it's the summer holidays for me...
Anyway, feel free to test and comment.
Update issue 4667
Update issue 4608
Update issue 4604
Update issue 4583
Update issue 4436
Update issue 4353
Update issue 4013
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7675 8ced0084-cf51-0410-be5f-012b33b47a6e
This is mostly useful for removing SHLs by constant 1, 2, 3, which this
commit implements in one place.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7652 8ced0084-cf51-0410-be5f-012b33b47a6e
requires NG-id, NG-key-id, NG-priv, NG-sig
sorry for not fixing this sooner, I forgot that I cleared my wiis private keys before the initial commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7642 8ced0084-cf51-0410-be5f-012b33b47a6e
Renamed OnFrame.cpp/h to a more accurate Movie.cpp/h. Made some small changes that may improve movie synchronization.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7620 8ced0084-cf51-0410-be5f-012b33b47a6e
Also don't try to save and load states when the emulator is not running. This should fix most of issu 4600.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7607 8ced0084-cf51-0410-be5f-012b33b47a6e
Judging by the feedback provided by other OSX users, this appears to fix the crash when starting Dolphin on OSX with devices that have an empty name.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7598 8ced0084-cf51-0410-be5f-012b33b47a6e
It turns out that this (somewhat) gets rid of memory-related exceptions which used to occur (especially) during 8-bit cheat searches. At least this is the case with my computer that has 3GB of RAM (the issue didn't seem to be caused by 100% of RAM usage, however).
Hopefully you'll be able to perform the following steps without errors now:
1. Open any game in Dolphin;
2. Go to Tools->Cheats Manager, and open the "Cheat Search" tab;
3. Preferably set the "Data Size" to 8-bit (the smaller, the more initial search results);
4. Press the "New Scan" button;
5. Use the "Unknown" search filter (which won't narrow the results down at all);
6. Press the "Next Scan" button.
(oh, and fix a typo in a comment I introduced in r6791 :p)
Anyway, make sure to tell me any eventual errors/regressions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7596 8ced0084-cf51-0410-be5f-012b33b47a6e
Removes the ugliness that was the portable file, and now creating a shortcut or file association is less of a pain
it is still necessary to modify the file association from ".../dolphin.exe" "%1" to ".../dolphin.exe" /e "%1"
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7593 8ced0084-cf51-0410-be5f-012b33b47a6e
This makes button spacing more consistent and uses the native button order of the OK/Cancel/... buttons.
(Mostly) fixes issue 4390.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7581 8ced0084-cf51-0410-be5f-012b33b47a6e
Left unselected, dolphin defaults to nstc-u and sets ntsc-j if the iso is japanese (old behavior).
Selected, ntsc-j is forced.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7580 8ced0084-cf51-0410-be5f-012b33b47a6e
sliders being unresponsive during emulation. Fixes issue 4496.
wxw complaining about non-stock menuitem without text (sysmenu menuitem).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7579 8ced0084-cf51-0410-be5f-012b33b47a6e
- Moved display related options in the "Display" tab from the general config to the gfx config, renamed the tab to "Interface"
- Moved Wiimote related options in the "Wii" tab from the general config to the wiimote config
- Moved various other options to more appropriate places ("Set Console as NTSC-J", "Skip GC BIOS"
- Dropped "Window Size" adjustment
- Now displaying a warning if one tries to enable software rendering
- Other minor changes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7577 8ced0084-cf51-0410-be5f-012b33b47a6e
changes fs getusage to return 1 additional inode to account for the directory itself
Fixes save creation for at least two games, R8XE52 (Jurassic: The Hunted), STEETR (Tetris Party Deluxe)
doesnt harm save creation in any games that i tested (about 25)
also it is now possible to boot a nand title by selecting the tmd file using File > Open
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7575 8ced0084-cf51-0410-be5f-012b33b47a6e
if you have a sysconf from r7568-this revision that was used for a wii game unfortunately it is corrupted, either delete it and start with a new one, or clear out the number of wiimotes in btdinf (change to 0) using a hex editor
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7571 8ced0084-cf51-0410-be5f-012b33b47a6e
I believe this makes Dolphin more reliable than GCNcrypt v1.1 which seems to add (prepend) a buggy line when decrypting...
- Split lines using SplitString() once more (as done with ' ' and '-' already), instead of relying on find() and substr() and the (size_t)line variable.
- Rename some variables, use a for() loop instead of a while() loop.
- Apply the StripSpaces() function to each line before attempting to parse them as encrypted/decrypted AR code lines. Without this, lines such as "B1PD-DXRQ-GTRKM " (notice the unexpected space character) would be recognized neither as encrypted nor as decrypted, which could result in badly decrypted codes (a problem I had tried to explain here: http://forums.dolphin-emulator.com/showthread.php?pid=153532#pid153532).
- For the sake of error-checking, after pressing OK, throw a warning in the following situations: when a line of code is not in a valid encrypted or decrypted format, and whenever the resulting decrypted code doesn't contain any lines.
(did I do any mistakes?)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7569 8ced0084-cf51-0410-be5f-012b33b47a6e
some little corrections in dlist cache code, i thing they will not have effect in the remaining issues but now the code behaves more correctly in some situations.
i discover the solution for the remaining issues bur requires some changes in the vertex translator so will work on them after the upcoming Release.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7556 8ced0084-cf51-0410-be5f-012b33b47a6e
when nand root is changed the current sysconf is saved,
and the sysconf in the new location is either loaded (if exists)
or the default sysconf is created
wii menu item is updated when the root changes
small fix to saving gamelist paths to .ini paths that are removed from the gui are now removed from the ini instead of simply changing the number of paths
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7555 8ced0084-cf51-0410-be5f-012b33b47a6e
GH5 Loads again
use the existing function instead of checking titleid each time a NANDLoader is needed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7547 8ced0084-cf51-0410-be5f-012b33b47a6e
So, clarify this by rewriting the "tooltip" for the Free Look option. This should close issue 2882 and its duplicates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7546 8ced0084-cf51-0410-be5f-012b33b47a6e
add ticket to CNANDContentLoader
move wad installer to CNANDContentManager
system menu can now be launched from a wad file without being installed first, (return to system menu from another title will still only work if system menu is installed)
cdb.vff: flushed to disc immediately, creates if the file exists but is too small, moved creation to Boot_WiiWad
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7530 8ced0084-cf51-0410-be5f-012b33b47a6e
now if you install the sysmenu from a wad in the gamelist the menubar will be updated with the new sysmenu version
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7528 8ced0084-cf51-0410-be5f-012b33b47a6e
we already copy the file to memory here, now we also copy the file to
1/2/data/
This should really fix issue 4287.
Thanks to hosigumayuugi for finding the exact cause of the issue
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7521 8ced0084-cf51-0410-be5f-012b33b47a6e
XGRA Extreme-G Racing Association/Conduit 2... Enabled 48kHz output for LLE (before it was just 32kHz). I hope it works, if there are serious problems, it will be reverted.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7511 8ced0084-cf51-0410-be5f-012b33b47a6e
Saving a state that is not recording over one that was will now delete the old recording. Fixes trying to record with the wrong savestate.
Fixed some compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7505 8ced0084-cf51-0410-be5f-012b33b47a6e
(At least for Super Mario Sunshine, from whose ucode it was derived - hopefully this won't break other games.)
Fixes Issue 4437.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7504 8ced0084-cf51-0410-be5f-012b33b47a6e
fs::open does not need to create the data directory, es_diVerify does that.
change applied to CBoot::Boot_WiiWAD as well (es_diVerify isn't used for wads).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7503 8ced0084-cf51-0410-be5f-012b33b47a6e
- Fast Mipmaps enabled
- Safe Texture Cache enabled at "fast"
- showing shader errors by default
- using Native as internal resolution
- using EFB to Texture by default
- ignoring EFB format changes by default (turns out r7436 made this in Super Mario Sunshine unnecessary anyway :P)
Any game which depends on other settings has that specified in the game ini, so I think this should be fine.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7497 8ced0084-cf51-0410-be5f-012b33b47a6e
Show FPS, Input Display, Statistics, Projection Statistics, EFB Copy Regions, Dump Textures, Dump EFB target, Dump Frames, Free Look, Use FFV1, Show Shader Errors, Texture Format Overlay, WireFrame, Hotkeys and Adapter
- Also removed various game ini config values which were still parsed from the Video section.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7489 8ced0084-cf51-0410-be5f-012b33b47a6e
- Introduced a description text field (!!)
- Fixed ALL setting descriptions
- Various other string changes
- Removed the projection statistics setting
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7488 8ced0084-cf51-0410-be5f-012b33b47a6e
Note: Newest nVidia drivers break Dolphins 3D (270.xx), not sure why yet, gonna ask around. It really confused me though when trying to fix this issue, spent at least an hour trying to figure out what the hell was going on. I eventually realised a build I knew worked in 3D was having issues...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7487 8ced0084-cf51-0410-be5f-012b33b47a6e
- added a "Hacks" tab for everything which speeds up emulation
- regrouped stuff in a more sensible way
- Renamed some options to be less confusing.
- by disabling ALL checkboxes, you'll get the most accurate / recommended configuration now
- Merged the ATC options to a single slider with 4 values (with the rightmost being "ATC off")
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7486 8ced0084-cf51-0410-be5f-012b33b47a6e
- fixed a problem/crash which occurs with some gcc versions (in general on Linux systems, issue 4400)
- other minor GUI changes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7472 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix a minor icon issue in the game properties dialog.
Use a little hack to deal with spaces in file names. Need to find a better way to deal with this.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7470 8ced0084-cf51-0410-be5f-012b33b47a6e
This makes sure they are below 2G on 64bit systems,
allowing us to continue using the simpler 32bit accesses.
Fixes issue 4357 and issue 4397.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7465 8ced0084-cf51-0410-be5f-012b33b47a6e
Also move the primary translation pot file to the external repository to facilitate updating translations when strings in the code are changed. Now the only time the primary dolphin repository needs to be changed for translations is when a new language is added.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7438 8ced0084-cf51-0410-be5f-012b33b47a6e
- Added final support to string type (planned implementation reaches 100%)
- Added support to post processing shaders (OpenGL backend)
- Code Maintenance:
- Reorganized the class hierarchy
- General polishing... deleted some redundant code
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7437 8ced0084-cf51-0410-be5f-012b33b47a6e
+ Added "Reset To Default" functionality for per-game profiles.
- Solved a window centering problem that occured during switching between Default Profile and a Per-game Profile.
+ Added final & complete support to reflect changes on the fly and real-time in all cases (even when you edit Default profile).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7416 8ced0084-cf51-0410-be5f-012b33b47a6e
In assembly, these are 'ld $ax0.d,$ax1.r,@$arS with their n,m and nm variants,
which have been special cased for S==3. The regular 'ld can be decomposed
into lrri $ax0.d,@$arS and lrri $ax1.r,@$ar3, while the S==3 case decomposes
to lrri $axR.h,@$arD and lrri $axR.l,@$ar3. The latter variant will be
disassembled to 'ldax $axR,@$arD after this change. The assembler recognizes
both the new 'ldax variant and the old 'ld with @$ar3 but the disassembler
only outputs 'ldax. Besides the readability, this allows for more correct
register use analysis(when it's done).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7413 8ced0084-cf51-0410-be5f-012b33b47a6e
Also, if the render window size changes while frame dumping, scale the resulting video to prevent clipping on linux. This is a complete fix for issue 4316 on linux. I don't know how to implement this on windows though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7412 8ced0084-cf51-0410-be5f-012b33b47a6e
* LLE dspinit hax (demo disks, zelda collectors edition, ocarina of time working (again) with lle)
* LLE interpreter "DSPonThread" working again
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7409 8ced0084-cf51-0410-be5f-012b33b47a6e
Hotkeys now work when running 3D Vision. You've just got to select the render window first (as in click on the fullscreen image), don't ask me why, it's something to do with RendererHasFocus in Frame.cpp. Annoyingly, escape crashes the emulator and the screenshot button doesn't do anything, though I guess any other hotkey should be working. I wouldn't usually commit this but I remember someone really wanting to be able to connect their Wiimote while in 3D, so I figured I might aswell.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7396 8ced0084-cf51-0410-be5f-012b33b47a6e
- Removed recent ghanges about separate per-game Video Settings
- Added "One Window 3-State Support" (very close to full implementation)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7391 8ced0084-cf51-0410-be5f-012b33b47a6e
I knew it would be something tiny. 3D Vision is fixed now, I'll make this 3D Vision specific if it causes any problems, but I've tested it and it seems fine.
For anyone interested, because fullscreen wasn't set for wx first, the menus and stuff were being included in the size of the frame (which is being used for the backbuffer size), so it was getting 1920x1062 or something weird like that (for 1080p). In the render function, it then checks to see if the frame resolution is equal to any supported resolution and if it isn't, bumps you down to 640x480, apparently an unsupported 3D Vision mode... though now I think about it, I'm not sure why it wasn't messing with regular fullscreen mode.
This would have been so much easier with a working mouse...
I'm not even joking, my replacement mouse just arrived at the door...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7388 8ced0084-cf51-0410-be5f-012b33b47a6e
It now works in the debug builds, but not in release builds for some reason. I'm not used to big projects like this so it's probably something obvious that I'm missing. Exclusive full screen mode seems to need the fullscreen resolution for the backbuffer when the DX device is created, so I used adapters[adapter].resolutions[f].xres and yres to get that, but in release builds, that gives me the windowed resolution (in debug it give me the fullscreen res, like I believe it's supposed to), which it reallly doesn't like.
It's not a difficult fix probably, but I've been staring at my monitor in confusion for too long now and need to get to bed. If anyone wants to test, you can still enable the 3D Vision option, it just wouldn't be 3D (obviously).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7385 8ced0084-cf51-0410-be5f-012b33b47a6e
Reading the instruction from memory at the given address and using that
as index in the opTable leads to more correct results than using the
address as index into opTable.
Also assert when trying to execute a bad instruction instead of crashing
without warning.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7384 8ced0084-cf51-0410-be5f-012b33b47a6e
With wxWidgets 2.9.2 now in Externals, SCons was the only
external dependency other than Xcode and building just SCons
from Macports caused a fair mount of extra stuff to be built
unnecessarily, so just include a copy of scons-local.
Always build wxWidgets from Externals which allows us to get
rid of the home-grown autoconf machinery in SconsTests.
The main use case for args.cache was the wxconfig option,
which is no longer relevant after the above changes and
caching options has a lot of potential for confusion,
especially since other build systems don't tend to do this,
so we no longer do it now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7381 8ced0084-cf51-0410-be5f-012b33b47a6e
* Moved the config validity check to reflect the emulator enforced settings at the config dialog
* Removed some obsolete validity checks
* Corrected "EnablePixelLighting" typo in the ini files
Fixes issue 4277.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7374 8ced0084-cf51-0410-be5f-012b33b47a6e
A repeat count of zero still executed the instruction once. Fixes Zelda Ucode
audio crackling.
Fixes DSPLLE audio in: Luigi Mansion, Pikmin, Super Mario Galaxy,
Zelda CE, Zelda Four Swords, Zelda WW, Zelda TP.
(Thanks LM for testing)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7370 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix a few more dialogs to close with escape.
Fix an issue with the pulse audio sound backend when the dsp emulation method is changed, and the frequency setting was not respected.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7358 8ced0084-cf51-0410-be5f-012b33b47a6e
Switch gtk keystate_lock back to a recursive mutex. Now that the mutex attributes are being initialized properly this doesn't seem to cause the segmentation faults anymore.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7349 8ced0084-cf51-0410-be5f-012b33b47a6e
Now po files can be updated as often as we want without bumping up the svn revision numbers of dolphin itself. I left the dolphin-emu.pot and primary build files in the primary dolphin-emu svn. The dolphin-emu.pot file will still need to be updated on occasion to reflect changes to strings in the program. The gettextize script will still work as before for this.
Also added Arabic translations to the build thanks to mansoor.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7343 8ced0084-cf51-0410-be5f-012b33b47a6e
Uses the last sample from the ppc buffer to fill the samples the ppc
didn't deliver data for, avoids clicking on underruns.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7338 8ced0084-cf51-0410-be5f-012b33b47a6e
Lion no longer includes wxWidgets 2.8, so be prepared to fall back to
Externals/wxWidgets3 even when no wx-config command is found at all.
There are a few new and deprecated symbols in the 10.7 SDK that
conflict with wxWidgets/Dolphin, so just use the 10.6 SDK for now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7325 8ced0084-cf51-0410-be5f-012b33b47a6e
when off certain games like ZTP ZWW maybe other cannot save to a different memory card after loading from a savestate, but for TAS the game will no longer think that the card was ejected
to use add
ReloadMemcardOnState = false
to dolphin.ini
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7323 8ced0084-cf51-0410-be5f-012b33b47a6e
+ minor GUI adjustements, CPUID Detect cleanup... video profile selection is disabled if a game is running
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7302 8ced0084-cf51-0410-be5f-012b33b47a6e
Add the option to clear a title from the NANDContentLoader and attempt to reload it
This allows the using the system menu immediately after installing rather than requiring a relaunch
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7290 8ced0084-cf51-0410-be5f-012b33b47a6e
same hack as r7090
update ES_GETSTOREDTMDSIZE, ES_GETSTOREDTMD to work when called with only 1 inbuffer and no outbuffer
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7286 8ced0084-cf51-0410-be5f-012b33b47a6e
Second:
A experiment. implemented parallelization in texture decoding using openmp. is most a experiment to test the performance in different os/plataforms. in my system (windows x64 amd 1055t) give a speedup in large textures, but i tested in in intel dual core and gives a slowdown. o i limited the use for large textures and cpus with more than 3 cores.
please test an let me know if it improves or degrades the speed.
please for linux and osx user. to enable this you will have to enable your compiler support for openmp to test this code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7284 8ced0084-cf51-0410-be5f-012b33b47a6e
Also change the for loops in SysConf to use iterators to placate godisgovernment and billiard. :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7283 8ced0084-cf51-0410-be5f-012b33b47a6e
According to AMD's GPU ShaderAnalyzer, most combinations of shaders have about 1.5x-2x higher peak per-clock throughput after this commit. For those concerned about performance, I do intend to make this at least as fast as the other backends. This is one more step toward that goal.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7262 8ced0084-cf51-0410-be5f-012b33b47a6e
in windows sleep(0) behaves more like what is defined in the yield instruction so use it instead. In my amd 6 core system brings a nice 8% speedup so please test I'm interested in knowing the behavior in different systems.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7261 8ced0084-cf51-0410-be5f-012b33b47a6e
No speed difference, probably because our basic blocks are
too small to contain more than one access to any register
or used too seldom for multiple accesses to make a difference.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7260 8ced0084-cf51-0410-be5f-012b33b47a6e
Use the new configuration profile system instead.
Thanks to kostamarino for migrating the game inis to the new system :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7259 8ced0084-cf51-0410-be5f-012b33b47a6e
Parent message alerts by the active window. This way if another window is open it isn't pushed behind the main window. We probably should parent the message alerts by the calling window instead, but this may be good enough.
Make sure there is only one instance of some modeless windows (Cheats Manager and Net Play).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7257 8ced0084-cf51-0410-be5f-012b33b47a6e
that cause IOHIDValueGetIntegerValue() to smash the stack when trying
to convert them.
In practice, all relevant axes seem to also be available as either
8 or 16-bit values, so just ignore anything that doesn't look like
that (or a button).
Fixes issue 3931.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7255 8ced0084-cf51-0410-be5f-012b33b47a6e
Was made possible by the move of Core/DSPCommon to Core/Core.
This should not give a significant speed difference, but frees
another register for register allocator use on x64 and
generally simplifies the code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7252 8ced0084-cf51-0410-be5f-012b33b47a6e
some code additions for future use ;).
please gcc user test this as i don't have opportunity to test it myself i only use reference code to.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7247 8ced0084-cf51-0410-be5f-012b33b47a6e
Ticked = Clear sound but a bit unresponsive to controls
Filled = Same as r7225
Clear = Disable speaker
The option is in the Wii tab of the configuration.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7231 8ced0084-cf51-0410-be5f-012b33b47a6e
* Added HLE function IsBusyStream which signals that the Wiimote is ready to accept speaker data. This function is not a conversion from the real PPC code. It a simple function that returns the "ready" status after being polled.
* Added code to find and patch HLE functions on boot
* Added 4bit Yamaha ADPCM decoder from the ffmpeg project
* Removed some test code
* Added some copyright notices
Fixes issue 438.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7225 8ced0084-cf51-0410-be5f-012b33b47a6e
- Replace ToLong() with ToULong(), as to allow values in the [0x80000000..0xFFFFFFFF] range to be parsed correctly without failure.
- Remove the "val_base" hack, as it breaks hexadecimal values beginning with '-'.
Simply passing 0 as the second parameter to ToULong() is enough, as mentioned on this page: http://msdn.microsoft.com/en-us/library/5k9xb7x1%28v=VS.100%29.aspx
- Changed the error message (and some of its translations) to reflect that octal values are now auto-detected ("supported") as well.
To users:
Note that values beginning with '0' (not "0x" nor "0X") are now interpreted as octal values instead of decimal values. So be careful when using those!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7223 8ced0084-cf51-0410-be5f-012b33b47a6e
like it is supposed to and depending on the linking method used
this shows up as the inability to use it in an initializer.
I think this may be a wxWidgets bug (ticket #12927), but I haven't
fully debugged it yet.
For now, apply a workaround here.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7208 8ced0084-cf51-0410-be5f-012b33b47a6e
on FreeBSD and Linux when building with clang.
I think it would be best to only use wxWidgets for localization.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7207 8ced0084-cf51-0410-be5f-012b33b47a6e
some X state will have initialized mutexes and some won't, leading
to unpredictable results depending on the feature set compiled into
wxWidgets and so on.
wxGTK starts by calling Xlib functions indirectly through gdk very
early on, so we must hook into wxApp::Initialize().
I believe this should properly fix issue 1540. In case of problems,
please reopen that issue. If you see XLockMutex in a backtrace,
that's a pretty good indication.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7205 8ced0084-cf51-0410-be5f-012b33b47a6e
In addition protect against their use on 32 bit and the use of [ABCD]H
together with a REX prefix on 64 bit.
This assumes that the customOp parameter of WriteREX and operandReg of
OpArg always are registers, and thus needs to give something valid to
WriteREX when that is not the case (WriteShift).
In addition to the patch i sent to the ML, there are a few changes to the
error reporting(mostly whitespace).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7202 8ced0084-cf51-0410-be5f-012b33b47a6e
video backends.
This would be considerably easier if there was a way for me to have
fully working video in some sort of VM. If anyone has achieved that,
preferably with Linux but failing that with Windows, I would
appreciate any tips on how to set it up. VideoSoftware used to more
or less work in a VM, but I've never been able to get OpenGL to do
much more than open the window and display OSD messages.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7201 8ced0084-cf51-0410-be5f-012b33b47a6e
in Initialize() and Video_Prepare(). Video_Prepare()
then becomes the entry point for associating the current
thread with the rendering context, which is currently
only known to be necessary for OpenGL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7195 8ced0084-cf51-0410-be5f-012b33b47a6e
connection establishment be done in the same thread, which caused
problems when the now persistent device connections could be
initiated by either opening the wiimote config dialog or starting
the emulation.
This same thread doesn't necessarily have to be the main (GUI)
thread, but it fits with the current other init case in the wiimote
config dialog and doing it in the main thread and would be required
if we should want to use the IOBluetoothUI framework in the future
for having the user input a pairing key for permanent syncing.
Also move a few other bits of code from the emu thread function
into Init() and Shutdown() so it only does those things that need
to be in that thread's context. I am not sure about video setup
so I have left that in EmuThread() for now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7188 8ced0084-cf51-0410-be5f-012b33b47a6e
- ReImplementing Single Core Mode like Dual Core Mode Style.
- Stage 1: My goal is, we have the Fifo, CommandProccessor code the more clear, maintenible and documented possible. When I quit dolphin I want any developer can continue with the work only reading the code.
* Big Refactoring: A lot of functions was changed the names, and modularized.
Now the FifoLoop and CatchUpGPU does not exist, was replaced by RunGpu() and RunGpuLoop().
The general idea is modeling the code like the real HW. The fifo is only a buffer where the Write Gather Pipe write the commands and from the Graphic Processor read these.
* Big Clean UP a lot of obsolete code and comments was deleted, like DcFakeWachDog, "Fifo very soon hack", etc.
In the stage 2, I will refactoring more code doing emphasis in the division of CommandProcessor, Fifo, Gpu Emulation. Beside I will comment all functions and variables in the code (Don't worry I will ask for English help for this part ;) )
Please test a lot SC mode and DC mode :)
Thank you so much for testing always and the patience. I don't like broke your favorite game but... you must believe me this part is very sensible, I only try to contribute for have a better and stable dolphin emulator.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7185 8ced0084-cf51-0410-be5f-012b33b47a6e
Things break if both a shared and static libpng are linked
in, presumably because it has some global state. Several of
the gtk-ish libraries often, but not always, link in libpng
transitively, so it is important that we find it ourselves
first, even if it is not in the linker's search path.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7178 8ced0084-cf51-0410-be5f-012b33b47a6e
Changes:
* Allow events to be scheduled when the emulator is not running. This allows the save state event to be added before the emulator starts.
* Removed the Audio back-end init flag from the save state. This value should not be saved as it is not data relevant to guest machine.
* Allow a recording to be started at any time (apart from when a recording is already being made).
* Updated the status bar and title bar when an on-screen message is shown
* Removed the saving of PEToken from the save state as the FIFO will save this information
* Added a couple Pixel Engine interrupt states to the save state
* Added the copyright notice to the GCPadStatus.h file.
This function is preliminary. Let us know of any bugs you find or any UI quirks.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7175 8ced0084-cf51-0410-be5f-012b33b47a6e
This allows ALL settings in the gfx configuration dialog to be adjusted _per game_ in a more user-friendly way than before.
Obsoletes the gfx related options in the ISO properties, but I kept those since the configuration profiles use different ini file keys (i.e. convert the game inis to the new naming, please!).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7167 8ced0084-cf51-0410-be5f-012b33b47a6e
so VideoOGL always is in the same state when starting a guest program.
Also constify the RasterFont, while we are at it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7166 8ced0084-cf51-0410-be5f-012b33b47a6e
- This game read the CPRead pointer when the GP is processing data and after detach the fifo and attach again an use this pointer for continue, so implement fifo.SafeCPReadPointer pointer.
- fifo.SafeCPReadPointer is updated when (FAKE_GetFifoEndPtr() - g_pVideoData) == 0) to have a pointer without GFX Commands Cut in the beginning of 32 block.
- Reset video buffer when the CPReadWriteDistance is written by the software.
- This commit is experimental please test a lot your games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7165 8ced0084-cf51-0410-be5f-012b33b47a6e
Also verify the validity of gfx configuration directly after loading rather than in the GUI code (which was kinda stupid anyway).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7164 8ced0084-cf51-0410-be5f-012b33b47a6e
- In the Command Processor Control Register when GPReadEnable is OFF, wait until the fifo lopp finish with thi actual 32 bytes block. This is necessary to have Safe Disabble GP Read in this way AbortFrame is performed by the software, beside this can help to have accurate GPReadEnable OFF.
Please test Metroid Prime 1/2, Guilty Gear XX, X men gc, SMG, and shuffle you can test Harry Potter Prince for WII. :)
PD: The fifo code need a clean very soon.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7158 8ced0084-cf51-0410-be5f-012b33b47a6e
Looks like compilers tend to use EBX for parameters if not told otherwise and
don't bother to update SP in leaf functions, so PUSH/POP kill local variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7151 8ced0084-cf51-0410-be5f-012b33b47a6e
* Better control over which Wiimotes save/load input from input files (general sync improvement).
* Wiimote save stores the ACLQ, allowing maintaining control across save/load (thanks to skid for the idea).
* Wiimote reconnect on save/load now an option - enabled by default to preserve present behaviour. Disabling this allows the above change to be effective.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7147 8ced0084-cf51-0410-be5f-012b33b47a6e
* Frame counter is restored properly post-load.
* "Read-only mode" menu option added. Currently this either causes the movie file to be closed at the end of playback (if enabled) or continues recording past end of playback (if disabled).
* Can now properly resume recording from a state saved during movie playback.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7142 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixed Gamecube controllers being disconnected for a couple ingame seconds when loading a savestate with an input movie attatched.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7141 8ced0084-cf51-0410-be5f-012b33b47a6e
Update several of the other languages.
Fix those pesky DSPIntUtil.h compiler errors.
Clean up some remnants of building the plugins in the primary CMakeLists.txt file.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7127 8ced0084-cf51-0410-be5f-012b33b47a6e
I think that isFifoBusy bring better sync with VI (video interface) because the CPU emulated threads are waiting for DrawDone in BP Register. So, I do some modifications.
1) Rename "IsFifoBusy" by "isPossibleWaitingSetDrawDone"
2) Only activate isPossibleWaitingSetDrawDone when bFF_GPLinkEnable is true in fifo loop "Inmediate mode" that is because in theory this drawsync function is using in this mode.
3) Deactivate isPossibleWaitingSetDrawDone also in SetFinish in PixelEngine, beside when 32 block is finish.
Please regression in yours games thats can bring some FPS more above all with VPS frame limiter ON (Auto, 60, 50, etc).
- Fix waiting in AbortFrame(), please test mp1/mp2 is fixed again.
Good look!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7123 8ced0084-cf51-0410-be5f-012b33b47a6e
Move NetPlay code from DolphinWX to Core.
Even NetPlay with nowx should be possible now if anyone felt like implementing a CLI for it ;)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7119 8ced0084-cf51-0410-be5f-012b33b47a6e
this is marcos idea so the credits go to him.
please test the broken games in my last commits to see if this solve all the issues.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7114 8ced0084-cf51-0410-be5f-012b33b47a6e
buildfix
move much of the build settings to .props files
-please use them as much as possible in the future, instead of changing individual projects
NOTE: to avoid left over blobs, clean your builds *before* applying these changes.
TODO: add DebugFast target for projects that are lacking it. Lack of DebugFast targets cause the linker to use LTCG when we don't want it.
please test for regressions which could be caused by being too happy with compiler flags :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7109 8ced0084-cf51-0410-be5f-012b33b47a6e
whit this code hashing is completely disabled for the dlists content itself this must bring some fps more but i must know if this causes any glitches.
i suspect that no game modify the content of the dlist so hash is time wasted but the only way to test it is with this commit.
please test as many games s you can and give me feedback for any glitch.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7106 8ced0084-cf51-0410-be5f-012b33b47a6e
- Added full ability to recognize true Intel HTT CPU capability (support to discriminate Intel Core 2 Duo...)
- Attempt to fix a register trashing (issue 4022 generally, linux and mac systems)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7097 8ced0084-cf51-0410-be5f-012b33b47a6e