Commit Graph

3565 Commits

Author SHA1 Message Date
Soren Jorvang a96b00a16e Bitfields of sub-int size are promoted to (signed) ints even if unsigned.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5904 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 10:36:20 +00:00
NeoBrainX da4c3a5f29 Committing some cleanups by avindra:
- fix numerous warnings
- make some variables unsigned
- remove redundant code and header inclusions
- make code more compact in lots of cases

Committing some additional changes by myself:
- additional header cleanups
- cleanup DX11 initialization/shutdown process (hinted at by avindra)
- Remove the cgD3D9 stuff from Externals since it's no longer needed

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5903 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 10:11:34 +00:00
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 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 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
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
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
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 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
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 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