Commit Graph

5990 Commits

Author SHA1 Message Date
Soren Jorvang b0041f00a3 I missed some cases in r5901:
Because we only ever call Pos_ReadDirect (and through that, DataRead<T>)
from JIT generated code, the compiler may not get the heads-up to properly
prepare for run-time instantiation of those template functions.

Explicitly instantiating Pos_ReadDirect gets around that issue.

Also force DataRead* inline as gcc didn't always do that itself when the
DataRead functions in turn were called from (other) template functions.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5902 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 08:30:40 +00:00
Soren Jorvang faf586e8f1 Because we only ever call Pos_ReadDirect (and through that, DataRead<T>)
from JIT generated code, the compiler may not get the heads-up to properly
prepare for run-time instantiation of those template functions.

Explicitly instantiating Pos_ReadDirect gets around that issue.

Also force DataRead* inline as gcc didn't always do that itself when the
DataRead functions in turn were called from (other) template functions.

I am far from a C++ language lawyer, so I cannot speak learnedly about the
correctness of this solution, but it works.

Dolphin.app built on OS X 10.6 now actually works on 10.5 as well.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5901 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 05:31:51 +00:00
Soren Jorvang 2c419382c9 Slightly cleanup of mmap(2) flags:
Move MAP_32BIT to MemoryUtil.h.
MAP_VARIABLE is simply the absence of MAP_FIXED.
Replace MAP_ANONYMOUS with the more traditional MAP_ANON - Linux is compatible.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5900 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 05:17:09 +00:00
Soren Jorvang caeabf8bea Slightly cleanup of mmap(2) flags:
Move MAP_32BIT to MemoryUtil.h.
MAP_VARIABLE is simply the absence of MAP_FIXED.
Replace MAP_ANONYMOUS with the more traditional MAP_ANON - Linux is compatible.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5899 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 05:15:16 +00:00
Jordan Woyak 8208903fed Added a "Cheat Search" tab to the "Tools->Action Replay Manager" dialog.(issue 8) You can currently search for values in memory and create AR codes from a found address/value. The code where a new ARCode is created/added to the gameini is a bit hacky, but the cheat searching works decently. There currently isn't any way to remove ARCodes or create codes with multiple commands, other than stopping the game and opening the game properties.(needs improvement) Made the AR Manager dialog a bit less ugly as well.(it resizes better)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5898 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 04:13:16 +00:00
Rodolfo Osvaldo Bogado 60e3a17d0d little bug fix for my last commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5897 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 00:49:08 +00:00
Rodolfo Osvaldo Bogado f78133f261 big changes here:
- Eliminate the useless check for cpu modifications option from efb to ram as it must be enabled always
- use constant names in dx11 for buffer length calculation instead to simplify code reading
- implemented scaled efb copy in opengl, still bugy in some games, the option is not in the gui but will add it when it works perfect
- Change the depth calculation behavior:
if the game use z textures is exactly the same as before.
if the game do not use z texture calculate z values in the vertex shader. the advantage id this approach is that early z culling is applied,
improving fill rate. this mus speed up things, even with ssaa and msaa enabled.
please test for regression and enjoy.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5896 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 00:18:31 +00:00
Soren Jorvang 4b1a3152b6 Plugin_VideoOGL has been using an old duplicate of VertexLoaderManager.cpp.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5895 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-17 23:36:03 +00:00
Soren Jorvang 4e7682f507 wxNEEDS_CHARPP has been set automatically since at least wxWidgets 2.8.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5894 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-17 21:12:24 +00:00
Soren Jorvang 3e383aa8eb Maintaining Leopard binary compatibility turns out be a a bit cumbersome.
For a typical OS X app, one only needs to specify the SDK version and the
target OS version range.

Because we use OpenCL which is new in 10.6, however, we must be somewhat
more verbose in order to make use of the forward compatibility facilities.

Unfortunately, the critical bit that is required to have binaries built
on 10.6 work on 10.5, namely disabling the new compact __LINKEDIT format,
causes stack alignment crashes at emulation time on 10.6, so for now
Leopard users still have to build Dolphin themselves.

Hopefully, this stack alignment problem will turn out to be coincident
with lingering alignment issues.

Include the OS X version of the Cg framework in Externals as with the
Windows one. The header files appear to be the same in the Windows and the
OS X builds of the February 2.2 Cg toolkit, although they are differently
munged by what appears to be some automatic process, so no new duplicates.

Any upgrades to the Cg libraries will of course need to be done in sync.

I do hope that Sonicadvance1's GLSL work will enable us to get rid of Cg.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5893 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-17 19:43:26 +00:00
NeoBrainX 11d34fa964 Fix issue 2836: static local variables are evil.
If you want to celebrate this commit, what about playing _TWO_ rounds smg or something? ;P


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5892 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-17 16:13:37 +00:00
NeoBrainX 15eb779c01 Move sampler state setting outside the drawQuad utility functions.
Use linear filtering for various buffer copies, improves visual quality a lot.

Some other tiny changes as well.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5891 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-17 15:18:52 +00:00
NeoBrainX 5abed9d5a4 Dependency cleanup in DX9.
Dynamically load a d3dx9 dll at runtime (I tested Dolphin with the first d3dx9 dll and it even worked fine there).
Should fix the flood of users asking why they can't select the DX9 plugin :P

Compilers should be able to stop bundling cgD3D9.dll now.

Minor changes in DX11.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5890 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-17 11:42:28 +00:00
Glenn Rice 25efe443ea Fix an issue that made it so that the emulator could not be resized in the nowx build on linux. Also some code cleanup in the OpenGL and Software plugins.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5889 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 21:56:40 +00:00
NeoBrainX aa88d8b790 Since apparently no one feels like fixing SMG FIFO overflows, commit iceman4love77's fix. No idea if it works or what it does, he seemed pretty confident that it works though.
Only fail once if EFB pokes are requested in DX9/DX11.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5888 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 21:51:35 +00:00
Glenn Rice ec9871e2bc Fix an undefined symbol in the WiimoteNew plugin on linux. The inputuicommon lib must be earlier in the list than inputcommon and common.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5887 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 20:08:38 +00:00
Soren Jorvang 697480f5cc Remove long-rotted vestiges of SDL video output.
Use SDL for input devices only on Windows and Linux. 
(Still globally enabled for the legacy Wiimote plugin.)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5886 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 19:17:35 +00:00
Soren Jorvang aa998896ac Allow C code to use the Dolphin log manager so that Wiiuse text output
can go to the log window like with other subsystems.

Remove a Wiiuse dependency on libm from when it was a shared library.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5885 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 19:08:26 +00:00
Glenn Rice 02ce753b76 This is basicall linux code cleanup. We don not need to pass the X display handle from the video plugin anymore. The wiimote plugins now open their own display handles, and the GUI uses the display handle of the main window frame. Only the window handle from the video plugin is needed. The pWindowHandle variable now passes this instead of the display handle.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5884 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 14:14:57 +00:00
Rodolfo Osvaldo Bogado 665d83ed45 some more minor optimizations introduced by aavindraa, i only corrected evaluation order using some ().
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5883 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 12:36:55 +00:00
luisr142004 c2ee89b170 include the MP compiler option, which will allow for faster compiling + some minorly stuff :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5882 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 09:22:53 +00:00
luisr142004 ddaf442e9e DX11: fix mem leak on closing a game (Fixes issue #2836, thanks to aavindra)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5881 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 06:16:03 +00:00
Jordan Woyak deffc95794 New Wiimote Plugin: Moved Linux cursor position code into ControllerInterface/Xlib. (absolute cursor position can be mapped to something other than IR camera) (code fixed by Glennrics) Put the UDP Wiimote dialog's Update Buttons,Update IR,Update Nunchuk... checkboxes in an "Update" group box. Fixed some Linux config dialog problems. (thanks Glennrics again) Some other minor cleanup in ControllerInterface. (changed some std::string/stringstream to char[] where possible) Removed a warning in DX11 plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5880 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 03:43:11 +00:00
dapetcu21 f438532879 Added back the 3rd argument on the Set() calls
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5879 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-14 20:20:25 +00:00
dapetcu21 bbb48603be Added nunchuck acceleration support to UDPWii . Moved some UDPWii stuff to the nunchuck attachment because I needed calibration data for the nunchuck...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5878 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-14 17:33:14 +00:00
Soren Jorvang 61bd545f80 A little iterator bug and a compiler warning in the OpenGL code.
Use -fvisibility-inlines-hidden on OS X as well.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5875 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-12 20:11:19 +00:00
Rodolfo Osvaldo Bogado 9cb41e7c70 hopefully fixed zww issue with new efb to ram.
implemented new efb to ram in opengl
modified TextureConversionShader preparing the implementation of new efb to ram in dx11
please test for regressions

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5874 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-12 19:30:25 +00:00
NeoBrainX dcc51e0ef8 DX9/DX11, improvement to r5870: Instead of skipping SetViewport(), fix the viewport to match the old EFB dimensions.
Should reduce or even fix most graphical glitches caused by huge viewports in HD resolutions.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5873 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-12 15:10:27 +00:00
NeoBrainX ff917cb0c9 DX9/DX11: Workaround the viewpoint/EFB creation issues in e.g. SMG2 on NVIDIA hardware or when using HD. Will most likely cause glitches, but prevents crashing. Correct behavior can't be implemented in Direct3D, so this is the best option we have.
Also two little changes which don't affect functionality or performance:
Change an IUnknown* cast to a T* cast.
Improve some error messages.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5870 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-11 16:26:46 +00:00
nodchip 3997243143 [Core] Added a wait before a spin wait.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5869 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-11 03:16:52 +00:00
Soren Jorvang addb89fecc Allow full-length Unix pathnames.
Move bits of HAVE_OPENCL/HAVE_WX for OS X from SConstruct to header files.

Use /usr/lib/libz on OS X now that we no longer have -L/opt/local/lib in
the library path. It is still possible that we could pick up a libz in
/usr/local/lib that would make the application non-redistributable, but
the danger is much less than previously.

Also bits of minor portability cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5868 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-10 21:17:08 +00:00
Glenn Rice 379706b25a On linux check to see if the xrandr extension is present and don't use it if not.
This fixes issue 2920.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5867 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-10 12:35:16 +00:00
Jordan Woyak 91dafccd27 Oops, I disabled tilting.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5866 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-10 06:54:42 +00:00
Jordan Woyak a0aa506453 GCPad/Wiimote New: Added a set defaults button to the config dialog. (gave new wiimote plugin a few default buttons, not done) Moved MSWindows cursor position code to ControllerInterface/DInput (plan on moving Linux's cursor code to Xlib as well). IR Up,Down,L,R now must have Cursor X/Y/-+ mapped for regular mouse control on Windows. (hopefully this isn't too confusing, the reset to default button automatically sets this up). Renamed One,Two,Minus,Plus to 12-+ (you will have to reconfigure these buttons, sorry). Added text labels for the button and trigger preview bitmaps. -other minor stuff.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5865 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-10 06:48:24 +00:00
Soren Jorvang 2bcdf4f5a4 Remove NSAutoreleasePools that are no longer necessary now that pools
are properly declared at thread entry/exit. I am leaving the ones in
Wiiuse while there's still a small hope that it may be used outside of
Dolphin, though.

Move the fixed MAP_32BIT definition for OS X to Common.h.

UDPNunchuk.cpp was deleted, so update the scons build.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5864 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 22:31:04 +00:00
Jordan Woyak 1e4f3c589d New Wiimote Plugin: Made UDPWiimote use the regular "Nunchuk" extension setting. Having a separate "UDPNunchuk" was really ugly. -some other minor changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5863 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 22:11:12 +00:00
Rodolfo Osvaldo Bogado d0c9a38681 2 commits in one:
fix frame dumping and screenshots in d3d9 and opengl
some improvements to the new efb to ram
please test to see if the issues introduced by the new efb to ram are solved by this commit

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5862 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 20:56:16 +00:00
Glenn Rice df32603ba4 When refreshing real wiimotes in linux, make sure that real wiimotes have been initialized first. Thanks Billiard.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5861 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 04:02:36 +00:00
Soren Jorvang 0284a7a1df Some more attempts at cleaning up the scons build and more clearly
identifying which options and parameters go with which platforms etc.

OS X, like Windows, now no longer uses Config.h. Configure() is still
used for the wx-config parameters, but that is a temporary measure.

Globals.cpp has never been used.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5860 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 01:26:53 +00:00
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 f1154f9146 A few more Readme updates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5856 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 17:27:17 +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 a4a61ae95c Restore a line deleted by accident.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5854 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 15:56:09 +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
Rodolfo Osvaldo Bogado 0cdfef4056 fix for msaa in opengl
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5850 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-07 22:09:52 +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