Commit Graph

3535 Commits

Author SHA1 Message Date
Glenn Rice 07973f726e Fix a segfault when the debugger is used and dolphin exits.
Put the filename back into the "Saving settings ..." notice log (soren don't remove this again.)
Added a "batch" mode command line option.  Now dolphin will not exit with the emulator if a file is run from the command line unless you also use the "batch" option.  For example in linux "dolphin-emu -b -e filename".


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5859 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 23:27:51 +00:00
Soren Jorvang 543bb3ae4c Glenn's iconv code seems to work fine on OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5858 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 17:59:56 +00:00
Glenn Rice 75871dab65 Fix wii iso name and comment loading for linux. You will have to delete your cache files to get your existing iso's information to be updated.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5857 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 17:46:32 +00:00
Soren Jorvang 17e6c16bf1 When running a game from the command line, exit after emulation stops.
This "run once" behavior is more in line with expectations of a command
line invocation and matches what the nowx build does.

Personally, this makes the main build do everything the nowx build does
and more.

However, if you feel that the main build still doesn't have feature parity
with nowx, please say so now, so we can fix it and kill off nowx.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5855 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 17:25:20 +00:00
Soren Jorvang 1d535c9e50 Forgot to add Version.cpp in previous.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5853 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 15:44:39 +00:00
Soren Jorvang 39ae36398f Copy the version string obtained from svnversion at runtime instead of
using it as a constant in several places. Saves a few bytes and the time
it takes to recompile a bunch of files whenever svnversion twitches.

Using the SVN version string as an integer is not portable as the Unix
svnversion always includes e.g. the "M" suffix for a modified tree.

Windows people, please check my change to Plugin_VideoDX9/Src/main.cpp
as I don't really understand how _T() and the %hs format string work.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5852 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 15:25:01 +00:00
Glenn Rice 75be9ce40d Fix the nowx build. Do we still want to keep the nowx build? If you do speak up now because soren wants to remove it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5851 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 00:52:46 +00:00
Soren Jorvang 0a47e12b18 Add back AfterInit which essentially does such actions that would
normally (on a fresh install) be triggered by the user clicking on
the GUI.

This notably includes refreshing the game list. The progress dialog
used in the course of updating the game list relies on wxWidgets
being able to yield to its event handler which isn't started until
after OnInit.

In fact, we might want to consider just moving all the initialization
currently triggered by OnInit into AfterInit so that we can rely on
the event handler running there. This would mean that we don't have to
worry about whether those code paths are triggered by a user click or
run at init time. This will require some more testing, though.

For now just move automatic booting along as this requires the game
list initialization to be done.

We also could instead choose to special-case cases like updating the
game list and simply not use a progress dialog there if the event
handler isn't running, but this approach is clearly cleaner.

See thread at http://code.google.com/p/dolphin-emu/source/detail?r=5848 .


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5849 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-07 22:00:41 +00:00
Glenn Rice 0ad71eda6b Revise the way that cdrom and dvd rom drives are identified in linux to remove reduntant drive listings. Also no longer checking mount points (in fstap and mtab). This can give redundant listings, and GC/Wii backup discs can not be mounted anyway. This prevents multiple listings from appearing in the GameListCtrl when "Show Drives" is selected.
Some general code cleanup, and removed a PanicAlert (made it a NOTICE_LOG instead) so that only one panic alert is shown when attempting to load from dvd/cdrom drives, and none are shown when "Show Drives" is selected from the menu.  

Also removed the hack introduced in revision 5564 that prevents the GameListCtrl from being properly updated when a game is loaded from the command line or via the autostart feature of the debugger.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5848 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-07 19:47:45 +00:00
Glenn Rice c37bca75b6 Make the refresh button on the Wiimote New plugin add new wiimotes in linux, instead of disconnecting and reconnecting those that were already connected. This makes it possible to connect new wiimotes during a game by openning the wiimote configuration dialog and refreshing. You still need to tell dolphin that a new wiimote is connected using Ctrl+F5-F8 or the corresponding menu entries.
Also fixed a segmentation fault caused by the UDP Wiimote stuff when a thread was not properly ended.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5847 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-07 02:19:16 +00:00
Rodolfo Osvaldo Bogado 539f63b58b ok, here goes a really experimental commit:
replace efb to ram implementation by a hybrid approach.
explanation:
when copying from efb to texture, instead of make a copy to a texture or to the ram, copy the data to both, in hi quality to the texture and in native quality to the ram.
then instead of re-decoding the data from ram (very slow) use the data in the texture.
to improve this even more, test if the cpu has modified the data in the ram copy, if so, update the texture in memory and mark it as dynamic to avoid redundant work in future frames.
having all this implemented this is what is archived:
sms: full quality with scaled efb copies and fully functional goop cleaning :)
ztp: efb to texture speed with full map support.
nsmbw: this is a hard to emulate game, as it make a lot of shading and texture modification in cpu. it only have 35 fps in my system with new efb to ram but is 10 fps faster than normal efb to ram.
this game also show me another unimplemented feature, copy efb to multiple textures at the same time (is used to animate coins and other things in the world).
this is a remaining todo in efb to texture.
a lot of games should improve, so please test and let me know any regresion caused by this commit. 
if everyone likes this the next step is, implement efb to multilpe textures and merge efb to ram and efb to texture.
then port to the other plugins.
enjoy.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5846 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 22:27:13 +00:00
Rodolfo Osvaldo Bogado 0f5998d358 little fix for error introduced in shader generator in R5842
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5844 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 17:21:24 +00:00
Glenn Rice 0e2b4d8306 Implement proper thread naming on linux. This fixes a segmentation fault with thte wiimote new configuration dialog when a thread was named without first calling ThreadInit.
Also take care of some more eols.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5843 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 16:16:07 +00:00
luisr142004 e9e12ff100 cleanup + some eolz
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5842 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 13:14:51 +00:00
skidau 5133793c6c Swapped out UNLIMITED_ICACHE for FAST_ICACHE in both the JIT and JITIL recompilers. The ICACHE is the instruction cache emulation of the CPU. In my testing, FAST_ICACHE was more compatible than UNLIMITED_ICACHE. This also means the icache emulation will be consistent between the PPC recompilers and the interpreter.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5841 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 07:21:35 +00:00
Glenn Rice 3e08208f42 Linux build fix, code cleanup, and compiler warning removal.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5840 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 01:37:34 +00:00
dapetcu21 f3901b6b43 Fixed linux buid... hopefully. Sorry it took this long.... I had to do a complete rebuild :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5838 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-05 18:31:57 +00:00
dapetcu21 ca827b9930 Added UDPWii support to the new plugin. Hopefully I didn't made a mess... Nunchuck support not implemented yet. I want to make it a separate extension.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5835 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-05 10:46:32 +00:00
skidau fccacd7f62 Build fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5834 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-05 03:58:59 +00:00
skidau f158ca82af Debugger enhancements:
* Added JIT breakpoints functionality
* Added a menu option to disable the JIT block cache
* Enabled single stepping in JIT mode as a run-time option (automatically enabled when the debugger is used)
* Enabled the missing JIT Off menu options
* Removed the JIT Unlimited Cache hack



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5833 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-05 02:05:47 +00:00
Jordan Woyak 2e6a9f9805 New Wiimote/GCPad: Fix segfault prob in Linux.(thanks glennrics) Some minor changes to real wiimote: force continuous reporting off, since only the last data report is used currently.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5831 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 20:14:57 +00:00
Glenn Rice e34a8baa82 Fix a segmentation fault when attempting to load an invalid plugin.
Removed an erroneous fprintf.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5828 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 16:47:49 +00:00
Soren Jorvang 10e625a11a PluginWiimoteNew now needs libwiiuse.
Treat external data (configuration file and device names) as 8-bit data.
Character set mapping is not ideal, but at least such names can be used.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5824 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 10:34:13 +00:00
j4ck.fr0st 2a3aa881fd Rename the /e command line option to exec. Caused some confusion in Issue 2891 since it is not limited to ELF only.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5823 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 10:24:55 +00:00
Jordan Woyak 0bf3dfda03 New Wiimote Plugin: Added real wiimote support.(only tested on Windows, still a few probs: after refresh alt+F{5..8} x2 is needed) New Wiimote/GCPad: Re-merged Keyboard+Mouse for easier kb+mouse configuration, like before.(DirectInput doesn't support individual kb/mice anymore like I thought it did) Fixed some bugs and maybe leaks in GUI.(got rid of evil dynamic_cast) Renamed stuff from DirectInput to DInput, cause it's shorter and rhymes with XInput, I guess. (I remembered eol-style native, shuffle lost his job :P)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5822 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 08:04:10 +00:00
Rodolfo Osvaldo Bogado 12a676c273 this is a pure optimization commit:
return to the  old values in constants in pixelshader, the old values give mi 3 or 4 fps more,(maybe some kind of compiler optimization) in some games and with the current algorithm i notice no difference with this values, please report any problem.
optimizes SSAA to make it a little faster and, the quality should be the same but with a little speedup.
change the way the frame is processed depending is xfb is enabled or not to make this a little faster.
please test and report any problem

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5820 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-02 17:09:53 +00:00
Rodolfo Osvaldo Bogado 2455037d26 little fix for an error introduced in my last commit, thanks to Soren for pointing the error
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5817 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-01 12:51:55 +00:00
j4ck.fr0st 89c4068663 Fix a bug in DSP Jit where branches had a blockSize of zero.
Add some useful checking to J_CC/SetJumpTarget.
Refactor increment/decrement and reuse code with increase/decrease.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5816 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-30 16:17:20 +00:00
Rodolfo Osvaldo Bogado a52d2f0ccc little fix for may last commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5813 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 16:54:15 +00:00
Rodolfo Osvaldo Bogado d511b50612 this commit is divided in 4 parts:
1 - Optimize pixelshadergen to avoid redundant register overflow math, with this if a game don't need this will be not applied.
this must bring some fill rate back and improve speed a little in fill rate limited systems.
2- some corrections to vertexshadergen to avoid uninitialized texture coordinates, dono if is the correct way to fix it but t least it will make house of the dead overkill playable in dx11.
the bad thing: still missing geometri in dx9, in dx11 it works exactly as on opengl.
3 - some optimization made to improve fps a little wih the latests changes made to fifo.
* back to the original code in beginfield as now it will work right.
* check for efb access more often as a lot of time is lost waiting for efb access
4 - apply a little fix for missing textures in nvidia opengl tanks to  Wagnard28 for finding that nvidia does not like invalid shader id :)
please test for any regression

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5812 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 14:40:37 +00:00
Soren Jorvang 4afe48a0fb Check for weakly linked OpenCL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5811 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 10:23:40 +00:00
Orphis 8315aa1432 Fix some projects to include CLRun/include to find the OpenCL headers.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5809 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 09:15:29 +00:00
Orphis 685bae34e5 Dynamically load OpenCL on Windows with CLRun. There shouldn't be the need to make a separate build now or download a big SDK to link Dolphin.
If compilation fails, rebuild the whole solution as Visual Studio struggles with the not so complex project dependencies.
ATI users still need to install the Stream SDK as it's the only way to have an OpenCL driver.
NVidia users just have to install a recent driver (version 197 is tested and working).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5808 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 02:23:09 +00:00
j4ck.fr0st 374999d750 Use the int/wxString[] ctor for empty wxChoice instead of the wxArrayList& one (which is probably a bad idea when passing NULL).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5807 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-27 17:52:02 +00:00
Soren Jorvang d18085c3ad Don't bother using autoconfiguration to find the OpenCL and Cg
frameworks on OS X.

Try to be a little clearer about which configuration options apply    
to which platform(s). Should pave the way slightly for win32 scons. 
 
We have accidentally been using LUA_USE_LINUX on OS X all along.
Turns out that LUA_USE_MACOSX is for an ancient version of OS X and
LUA_USE_LINUX is a reasonable set of defaults for modern Unices, so
just keep using that.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5804 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 19:17:43 +00:00
Soren Jorvang 9de9ec1fb6 It would appear that FindFocus() is (differently) broken on Windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5803 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 18:50:22 +00:00
Glenn Rice 8bfb17bba1 Config.h needs to be included in CommonPaths.h because CommonPaths.h is included in Common.h before Config.h is. If you want to find an alternate way to fix this so that Config.h is only included in Common.h watch for circular inclusions next time.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5801 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 14:54:43 +00:00
Soren Jorvang 20fd23752f Put back the store removed in r5790. JIT on OS X crashes without it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5799 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 14:10:02 +00:00
Soren Jorvang 10b76db391 Link the OpenCL framework weakly on OS X, so that a binary built on 10.6
with OpenCL will also run on 10.5 without OpenCL.

Build with OpenCL by default now, but keep the opencl build option around
until Linux also links OpenCL weakly, at which point it can go away.

Start to merge in the actions required to make the OS X application bundle
redistributable into the main build and let bundle=true be concerned only
with the optional step of creating a dmg.

Some people are building binary snapshots for OS X without applying the
install_name_tool fixups and besides, osx_make_dmg.sh doesn't fully handle
the internal dependencies between the wx libraries, so we need to be rid
of any external dependencies by the time "scons bundle=false ." finishes.

Ideally we should just use static builds of the wx libraries, but the flat
namespace used by Objective-C for anything other than normally linked
dylibs (sadly not dlopen'ed dylibs) makes that difficult because both the
main binary and the plugins have wx linked in without any symbol ordering.

TBD: Either do automatic install_name_tool fixups for both the main binary
and the wx dylibs or find a workaround for the flat namespace problem.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5797 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:29:44 +00:00
Soren Jorvang 8c3ed5dc46 Lint.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5796 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:12:28 +00:00
Soren Jorvang 7ce5e5d1bd Config.h should never be included directly, but rather through Common.h
for portability.

(It is a bit unfortunate that some of the plugins have a Config.h of
their own, which can confuse this matter.)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5795 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:11:34 +00:00
Soren Jorvang 2be444965a When checking to see if the rendering window has focus, there are a
few different variations that can be true depending on circumstances.

This would likely cover the _WIN32 case as well, but since I don't
pretend to fully understand just what is going on with wxWidgets
here, I can't really call this any less of a hack..


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5794 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:07:33 +00:00
Soren Jorvang a53d0cb6d5 The ControllerInterface API has the notion of an "id" which is presumably
meant as a ideally persistent device instance number.

In a dynamic environment such as when dealing with USB/bluetooth HID's,
I am not sure how much sense such an id can make and it would probably
be better to identify devices by an opaque blob (and a printable string).

In any case, the OS X HID manager does not offer the illusion of a
persistent integer instance identifier.

A string in the form of the device's own name is not sufficient as on
e.g. my Macbook Pro, there are three HID devices all bearing the name
"Apple Internal Keyboard / Trackpad".

For now, hijack the ControllerInterface id to mean the the HID usage
page number. This at least separates keyboards and pointing devices,
allowing the keyboard to be selected in the configuration dialog.

Also some minor cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5793 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:03:25 +00:00
Soren Jorvang ebbfba62a0 On OS X, add autorelease pools to the cpu and emu threads to avoid
leaking memory. This is necessary because the wxgl code called from
those threads relies on deferred release.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5792 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 12:52:57 +00:00
Marko Pusljar 67d5d89388 Starfox Adventures DTK audio loop fix (thanx to James333)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5791 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 10:46:13 +00:00
skidau e07a9b107a JIT fix. Brings back the speed lost in r5378. The memmap function was incorrectly marking virtual memory as real memory. Fixes issue 2653.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5790 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 03:07:07 +00:00
Marcos Vitali f94eed887b Uncomment Ayuanx patch, this was commented in my last commit by error, My apologize...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5784 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-25 00:13:06 +00:00
Marcos Vitali 10b5d2371c My first commit :D
Dual Core sync fix.
When the FIFO is processing data we must not advance the cpu cycles in CoreTiming because in this way the VI will be desynchronized. So, We are waiting until the FIFO finish and while we process only the events required by the FIFO.
This should fix Issue 2072 .
This affect to all games in dual core mode.
Please, You can test all games with VPS limiter auto, 60, 50 depending of the game and compare with prev revision.
For example now NSMB in the video Intro has 60 fps (prev 30 fps) :D or SMG does't need anymore FPS Limitter Hack to get 55-60 fps
Beside the slowdowns now are more softly and the fps more stables because the VI sync is almost perfect.
The Core Timing and Fifo modifications are delicated. Please report if this hang any game. Don't forget check with prev revision.
Enjoy it! Thanks to Rodolfo for teach me all about dolphin.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5777 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-24 13:28:54 +00:00
Glenn Rice e706ccc5d0 Hide OpenCL GUI option for non-OpenCL builds.
From now on if you create a GUI option specific to a particular build, do not gray it out.  Instead do as I have done here and make it not present on those builds.  It may add a few precompiler conditionals that developers have to look at, but that is considerably better than a completely useless option that the end user has to look at.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5774 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-23 12:57:59 +00:00
nodchip 5cf491af64 VideoCommon: A minor speed up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5772 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-23 03:02:15 +00:00