Commit Graph

1250 Commits

Author SHA1 Message Date
Rodolfo Osvaldo Bogado c21f804c48 more work on dlist caching now should be a little faster
a little bugfix in vertex loading and some fixes.
not much time to work these days but  at least i can spend a little time fixing thing.
please test for regressions.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6409 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-14 14:42:11 +00:00
skidau d4b72eaae5 Added a projection hack for Metroid: Other M. This fixes the black screens that occur in cut-scenes. Patch by Trevor002.
Fixes issue 3477.
Fixes issue 3127.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6381 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-11 09:22:19 +00:00
Glenn Rice bee873a30c Fix the annoying gap in the OpenGL configuration dialog in the "General" tab between "Use Real XFB" and "Wide screen hack".
Also link the dolphin-emu executable against GL in the cmake build.  Why?  This seems to fix the segmentation fault on stop issue.  Although curiously enough, linking the dolhpin executable against the system shared library SOIL fixes the problem too.  It doesn't work with the static version of SOIL build in the externals.  The reason the problem disappeared with the scons build is that the executable is implicitly linked against GL since the linker flags are set up to be thrown in everywhere.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6364 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-09 03:08:20 +00:00
skidau b565618442 Removed the wait for swap when XFB is used. This fixes flickering in "Fragile Dreams" and "Another Code R".
Fixes issue 3466.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6360 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-08 08:51:30 +00:00
skidau 6666b400a3 Updated with a less aggressive optimisation to EFB copy to RAM. The destination texture now does not get invalidated if its hash is found in the texture cache. Fixes Metroid Prime 3.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6353 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-07 04:28:33 +00:00
skidau 8775abacc6 Optimised EFB copy to RAM.
The finding was that 99% of the time, textures are static in memory. However, Dolphin would pessimistically continue to decode and copy the same texture every time.  The optimisation is to check if the texture matches what is in the cache, and if it does, Dolphin should early exit.

The result is the speed in New Super Mario Bros Wii increased 35% with spinning coins.  Still not as fast as EFB copy to texture though.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6352 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-06 04:46:44 +00:00
NeoBrainX 48859da6e3 DX9/DX11: Fix and simplify ClearScreen. At least fixes a small glitch in Super Mario Sunshine with DX11, might fix several other things as well in both plugins though (so test this, please!)
Explanation of this commit: We only have to care about four BP registers in ClearScreen, the remaining API state should be reset. The colorEnable and alphaEnable parameters are obsolete, for some reason directly using them caused the SMS glitch with DX11 (because of that bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24 check in BPFunctions.cpp, is this one actually correct?)

The comment in BPFunctions.cpp was at least misleading (if not even wrong), so I removed it.

For what it's worth, someone needs to port this to the OpenGL and Software plugins (unless they're doing this properly already)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6327 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-01 19:13:50 +00:00
NeoBrainX ab53c84dcf Properly emulate the alpha read pixel engine register function (used for EFB peeks).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6313 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-24 19:52:52 +00:00
Nolan Check 61c6d4fe59 OpenGL plugin: Should fix building with earlier versions of GLEW. You'll still need the latest GLEW if you want to try dual-source blending.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6311 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-24 18:26:28 +00:00
Nolan Check 2ec3db44ed OpenGL plugin: Support for dual-source blending, CURRENTLY DISABLED. It doesn't work yet. To fix it, we may need to convert all our shaders to GLSL so that we can use glBindFragDataLocation.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6306 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-23 19:55:19 +00:00
skidau 7410056536 Added the wait/sync back in the video thread on XFB swaps. Fixes issue 3391.
Changed the VI interrupts to occur on writes instead of reads.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6304 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-23 12:26:57 +00:00
NeoBrainX ef75d96655 Main change: Implemented EFB pokes in DX9/DX11.
Games affected by this change: Mario Smash Football, Mario Strikers Charged Football, Monster Hunter Tri.
Other games possibly affected: Shaun White Snowboarding, Resident Evil Code: Veronica, Baten Kaitos.
This implementation will decrease performance if the game uses this feature, but the glitches will be gone. I'll add an option for this in a later commit. EFB pokes are somewhat slow in DX11 right now, speed should be okayish in DX9 though.

Other changes:
- SOMEWHAT cleaned up the EFB access code in DX9
- Fixed incompatible parameter list of AccessEFB and TVideo_AccessEFB.
- Fixed a theoretical bug in ReplaceRGBATexture2D, add support for STAGING textures
- Removed unused parameters in various DX9 functions


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6300 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-22 19:40:05 +00:00
skidau e9734084ee VideoInterface and Progressive Scan fixes
The "Enable Progressive Scan" option in the Wii menu now controls whether the Wii/GC will detect a progressive scan display.  This affects the timing of some games (both GC and Wii).  Usually, the checkbox should be unticked as progressive scan displays require higher bandwidth.

This fixes the slow speed in NBA JAM.  This also fixes the hang in Megaman Network Transmission.  This should fix Deadly Creatures (turn off progressive scan).

Fixes issue 3314.
Fixes issue 3066.
Fixes issue 2571.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6297 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-21 14:50:42 +00:00
Nolan Check 95cfca08e2 Put infrastructure in place so that other plugins may support dual-source blending.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6296 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-21 05:22:18 +00:00
Nolan Check 0e534dd033 Clarify texture cache code. Previously, there were THREE sets of texture dimensions, and it was hard to tell which set was for what purpose.
Now, there are two:
Real dimensions: Width and height of the original GameCube texture
Virtual dimensions: Width and height of the texture used by dolphin-emu's renderer

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6291 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-20 00:39:45 +00:00
Jordan Woyak cf05cca7a6 Merged common texture cache code from video plugins into VideoCommon. (DX11 native mipmaps currently broken, disabled) Hopefully everything else should still be working.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6288 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-19 22:24:27 +00:00
NeoBrainX ccb4645f24 Fix a bug introduced by r6240.
Fixes issue 3320.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6265 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-09 13:47:56 +00:00
Rodolfo Osvaldo Bogado c203cd5dae little commit for developers:
patch/hack to make dolphin work under virtual box using Linux guest
tested under gentoo and virtualbox 3.2.8 with 3d acceleration on

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6262 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-06 18:03:31 +00:00
NeoBrainX 9ffc071e34 Some stuff which was still lying around on my hard disk:
- Add a sanity check in CRenderFrame::MSWWindowProc. Possibly reduces the risk of a crash when starting a game and immediately closing the emulation window when using the DX9 plugin.
- DX11: Add the resource usage as a parameter to CreateQuadVertexBuffer, possibly to be used in the future.
- reduce the size of the EFB access buffers from 4x4 to 1x1 since they needn't be bigger anymore
- some fixes to the recent hires commit.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6256 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-04 11:09:32 +00:00
baby.lueshi d57b0a14d0 Fixed hires textures not scaling. Also increased max size of custom textures to 2048x2048.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6254 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-04 01:54:51 +00:00
Jordan Woyak 841583b8f3 Merged identical VertexManager code from DX9/DX11/OGL plugins into VideoCommon. Still need to merge VertexManager::Flush (will be easier after TextureCache is merged). Purposely using a class/virtualfuncs rather than a namespace so multiple VertexManager can be in one plugin (VideoMergeNew? :p).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6249 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-03 00:41:06 +00:00
Soren Jorvang c8c805f720 Remove unnecessary shadow variables and signed/unsigned comparisons.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6244 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-01 12:38:31 +00:00
skidau 23f8da4bf7 Fixed the glitches when an internal resolution other than Native was used in the OpenGL plug-in.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6243 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-01 11:03:37 +00:00
skidau 1450385a53 Undid the merges made to the OpenGL plug-in's Init and Shutdown functions as these changes broke non-Windows builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6241 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-30 16:11:31 +00:00
skidau 719521eeeb Added EFB Scale option to the OpenGL plug-in.
Renamed EFB Scale to Internal Resolution.
Removed Auto Scale option (it is now always on).
Added on-the-fly changing of the Internal Resolution in the OpenGL and Direct3D9 plug-ins.
Further consolidated the code in the video plug-ins.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6240 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-30 15:24:34 +00:00
skidau 7eb99b9088 Fixed r6235 for the Mac and Linux builds. Thanks, glennricster.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6238 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 21:28:49 +00:00
skidau 88cd9f3df1 Minor code formatting:
First step to bring a level of consistency between the video plug-ins - variable names, spacing, function names, function order, comments, file names.  This will help us identify common code for VideoMerge.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6235 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 02:15:02 +00:00
Rodolfo Osvaldo Bogado e641323de2 i know still a lot to fix and much work to do but sometimes experiments are fun :)
for all the plugins implemented per pixel lighting, this will make games that uses lighting  a lot nice. (just look at mario sunshine and compare :))
for dx9: implemented temporal anaglyph stereo: just grab your red-cyan glasses  and enjoy.
stereo calibration: use stereo separation ( distance of the point from you are looking) and Focal Angle: the angle necessary to focus in one particular object.
this settings are different in every games as they use different depth ranges.
please for any regression and bug introduced by this commit.
if you ask why i did not implement stereo in dx11 and opengl the reason is one: they don't work right when i have more time will try to find a way to make them work.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6224 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-23 02:17:48 +00:00
pierre 6583a3f1e2 Plugin_VideoOGL: X11: Add another display connection to keep the two threads from
eating each others events.

Manifests itself in GPU thread waiting forever for a reply in GL library code(and thus 
a frozen emulation). Most of the time, this can be resolved by creating more events 
(clicking, changing focus), but sometimes it stays stuck.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6218 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-19 23:40:03 +00:00
pierre 236f75aac3 Make shader for copying from depth buffer to texture more resilent against precision loss.
The theoretical result is slightly different to the original shader because the
final adjustment is to the range [0/255..255/255] instead of 
[0/16777215..16777215/16777215].

The real result is vastly different on some gpus that were giving incorrect results
of bits 23..16 (y-component) wrapping around while bits 31..24 (z-component)
stayed the same, and bits 31..24 changing while in the middle of the value range
for bits 23..16 for large depth values.

This should fix issue #3123.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6217 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-19 20:01:17 +00:00
Rodolfo Osvaldo Bogado 73adab0ce1 Dlist Cache step 2:
include referenced array data in the hash to avoid problems in some games.
this version is a slower than the last version but is more stable, still much work to do but so little time to do it :)
Added Dlist Caching Option to the plugin configuration so anyone can compare the performance change.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6205 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-14 22:48:22 +00:00
Shawn Hoffman ecb4d6d2f8 addendum to last commit: forgot files outside the /Externals/GLew directory...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6197 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-09 17:52:52 +00:00
Soren Jorvang d02dd6d3fa std::string needs <string> rather than <string.h>.
Also some minor cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6184 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 12:14:18 +00:00
anusko e4f9b6a5f8 I'm an 100% scons noob but I think this fixes r6149, although it seems that the repository revision isn't appearing correctly (only happening with me?).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6150 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-30 00:00:14 +00:00
Rodolfo Osvaldo Bogado 3e7dafbbd7 fully implemented display list cache with vertex data included and added in all the plugins.
still experimental, not totally optimized but must bring a nice speed up
please test for regressions an error. an please Linux people fix scons :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6149 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 23:08:56 +00:00
Nolan Check 4229d9e01e Remove a bunch of freshly-obsolete code
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6148 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 19:34:54 +00:00
Nolan Check e1d1a1eba0 Fix EFB Scaled Copy in OpenGL plugin.
It no longer uses the TEXTURE_RECTANGLE extension for GameCube textures. Since GameCube always uses normalized texture coordinates, it's an unnecessary burden.

Please test hi-res textures.

Wow, it's been a while.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6144 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 04:56:53 +00:00
Soren Jorvang 1d05290be7 Include "Hash.h" rather than "hash.h" for case-sensitive file systems.
Fix some compiler warnings.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6141 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-28 15:53:01 +00:00
Rodolfo Osvaldo Bogado 9b0357b5e2 sometimes to advance you have to make a step back.
use plain vertex arrays instead of VBOs to render in Opengl plugin as the nature of the data make VBOs slower. This must bring, depending on the implementation, a good speedup in opengl.
in my system now opengl and d3d9 have a difference of 1 to 5 fps depending of the game.
some cleanup and a little work pointing to future improvements in the way of rendering.
please test and check for any errors.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6139 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-28 15:09:42 +00:00
Soren Jorvang db072e1986 Add Common::AtomicDecrement for gcc to match win32.
Use the debug option for conf.CheckWXConfig on OS X as on Unix.

Take care of a few compiler warnings.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6084 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 08:29:15 +00:00
Marcos Vitali 3b7a6ce336 I've observed that "FIFO is overflown by GatherPipe" is not real overflow.
Really that happens because the fifo.CPReadWriteDistance is negative.
Example: CPReadWriteDistance: -864 CPEnd: 10092672 fifo.CPBase: 9568416
In SMG this is because  PI_FIFO_RESET is writing and after fifo.CPReadWriteDistance will be setted to 0.
To Prevent that, I've Implemented AbortFrame function in the CommmandProcessor. It should fix overflown because of that. 
Note: There is other issue (Issue 2846) where the fifo.CPReadWriteDistance is negative too but the effect is different.
I'm working to solve this.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6083 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 07:25:35 +00:00
Glenn Rice a1daa636c2 Take care of some compiler warnings from unused variables, and a little code cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6081 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 01:08:22 +00:00
NeoBrainX ecec048f0f DX9/OGL: Remove some superfluous checks (this is already done in VideoCommon).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6073 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 16:28:03 +00:00
Glenn Rice 957e7c415e Several little things:
Clean up of the input selected for the opengl x window in linux.
Fix a potential segfault when taking a screenshot (happens consistently when using "Save Targets" from the video debugger window).
Fix a memory corruption error that results from the wrong image size being passed when dumping textures.
Make the screenshot hotkey configurable.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6067 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 00:13:05 +00:00
NeoBrainX d5d7beb6c7 Move the ZTP hack to the game properties (reverted all changes from r6057 to the video plugins) due to some obvious reasons. Also some fixes to the coding style.
Remove a member variable which I introduced in r5907 although it never actually got used. Restores binary compatibility (at least in that regard) to pre-r5907 video plugins, but breaks any binaries after that :P

Update FIFO watermark tightness recommendations. 1000 is quite a high value I guess, but some people seem to need it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6060 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 18:41:02 +00:00
Fircrestsk8 040a6e1eb3 This commit addresses the Hyrule field slowdown issue in Zelda: Twilight Princess, as discussed in Xtreme2damax's thread: http://forums.dolphin-emu.com/thread-10638.html. It can be activated in the DX9, DX11, and OpenGL plugin GUI's. Enabling the hack while playing other games besides ZTP will likely have either an undesirable or no(more likely) effect.
The code changes disable the usual pipeline flush for certain BP Writes that occur while the minimap is being drawn in Zelda: twilight princess. This significantly increases speed while in hyrule field. The way this is accomplished is described more in depth on page 42 of Xtreme's thread. Big thanks to Xtreme for doing a great job hosting that thread, and Kiesel-stein for initial work on the hack

Also, I used the resource editor in Visual studio to generate the GUI code for the DX11 plugin, and some code appeared to be removed, although the behavior of the GUI did not seem to change. Hopefully someone more experienced with resource files (forms?) can double check that no code was damaged


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6057 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-05 03:24:13 +00:00
pierre e5f629da37 Fix saving states on mesa3d and clean up the handling of asynchronous requests
(those originating from a thread other than the gpu thread)

glxMakeCurrent is supposed to error out when the context is
still current in another thread. NVIDIA handles that, but mesa3d errors.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6054 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 21:02:32 +00:00
Soren Jorvang 7ddf0aa711 Silence gcc warnings about empty statements and out-of-order initializers.
Increase ISO properties window size to make room for the new Gecko codes.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6050 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-04 14:00:59 +00:00
skidau c76ba17ff4 Stub out glGetError() calls from the release build of the OpenGL plug-in (found by ector, code by LordMark). Gives a speed-up in the OpenGL plug-in.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6039 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-03 10:48:49 +00:00
Soren Jorvang 4bef335632 Remove duplicate instantiation of PNG wxImage handler.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6028 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 15:48:11 +00:00
NeoBrainX d411924eee Marginally improve FPS counting logic in the video plugins.
Should fix DX11 peaking at 59 FPS instead of 60 FPS.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6026 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 14:43:07 +00:00
Soren Jorvang 72494a0363 Use the portable SLEEP() macro in place of Sleep().
r5998 fixes the Center() problem in plugins on OS X.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6001 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 11:58:18 +00:00
Glenn Rice 06fb0c292a Removed the hackery that was being done with the plugin configuration dialogs on windows. That was unnecessary and ugly. The HWND type is dead for non windows. Also cleaned up the gui a little.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5999 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-30 03:51:49 +00:00
Soren Jorvang 24fdf942a4 Use .cpp suffix when detecting libraries. On some systems, g++
is required to correctly link with C++ libraries like wxw.

Tell OS X that the user is doing something when using the wiimote
so that the screensaver doesn't come on when playing a Wii game.

Replace unnecessary floating point with integer math.

Remove unnecessary <sys/stat.h>'s.

Correct a few type nits.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5995 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-29 13:29:15 +00:00
Soren Jorvang f99a36ccfa Some refinements to (r5955+r5962+r5964):
Don't rely on trailing /'s in directory names.

Destdir only works for global builds.

Only tar up global builds if they are in a destdir to
avoid SCons eating all available memory indexing /usr.

Print current status of shared_foo in 'scons -h'.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5966 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-24 17:39:17 +00:00
Soren Jorvang 53f5bc682d Make Cg conditional on those platforms for which it is available.
Of course, this doesn't do much good without another shader compiler..

WIP of OS X application bundle building.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5961 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-24 10:24:16 +00:00
Soren Jorvang 09b5dfbd53 Prevent Python from stripping off the final newline of the main(){}
autoconfiguration tests. Some versions of gcc care enough about ANSI C
to complain about this.
 
Use the Linux install hierarchy conventions on other Unices as well.
 
XKeysymToString returns NULL on unknown keysyms, which is not a valid
std::string initializer.
 
There appears to be some disagreement regarding the second parameter
to iconv(). Some versions/installations have it as const, others don't.
Unfortunately, due to wonderful C++ brain damage, implicit conversion 
from const to non-const doesn't work here.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5945 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-22 07:55:35 +00:00
Glenn Rice 3859a7dce2 Lots more work on making the frame aui stuff functional.
Also added a DSPCORE_STOP state.  The DSP-LLE debugger window segmentation faults if it is openned when a game is not running.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5931 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-22 02:05:28 +00:00
Glenn Rice a103576a54 Add an option for EFB scaled copy to the OpenGL configuration dialog.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5929 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-21 12:07:24 +00:00
Rodolfo Osvaldo Bogado 666ff28f80 fix for mii faces in mkwii. efb scaled copy still not fixed. working on it.
please test

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5928 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-21 02:34:59 +00:00
Glenn Rice 8c7bdebf1e Fix the global build on linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5923 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-20 04:19:25 +00:00
Soren Jorvang 6813a75ab2 Some pathnames are used both by SCons and cpp which can be a bit tricky.
Should revisit and make the distinction more explicit.

Put the Data and Sys directories under Resources in the OS X app bundle.

Construct config.h (now lower-case to avoid confusion with other Config.h
instances in the tree) in the root. One tiny step towards a read-only
and cross-buildable source tree.

Some minor bits of non-Linux Unix portability.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5921 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-20 02:45:31 +00:00
Soren Jorvang a2b1f829cb Get rid of a number of unnecessary env.Clones.
Use SCons' convenient # shorthand for the root of our tree.
 
Also various minor cleanup of SConscripts.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5915 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-19 03:42:37 +00:00
Glenn Rice b175397cb7 Some work on cleaning up the FrameAui code. Primarily this fixes the debugger windows for the audio and video plugins. They are now all subclasses of a wxPanel, instead of a mix of wxFrames and wxDialogs. This makes them work correctly in linux, windows (they really didn't before), and most likely on MacOSX too!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5913 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-19 02:09:34 +00:00
dapetcu21 e1cc37d825 Workaround a bug on Mac OS in witch dolphin would crash whenthe OpenGL config window would be opened. It seems that wxDialog::Center() is completely useless on Mac OS X, and not only useless, but it crashes when the window is bigger than the screen.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5911 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 20:06:24 +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 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
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
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
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
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
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
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
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
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
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
Rodolfo Osvaldo Bogado 19cdaaae89 little fx to solve issue 2897
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5839 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-05 19:27:08 +00:00
j4ck.fr0st 8e4ef9b9e5 Slightly change my last commit with sorens idea of using CG_VERSION_NUM instead.
For everyone having black screens on Windows: Try switching off MSAA, it seems to be broken (at least for me)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5832 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 21:21:28 +00:00
j4ck.fr0st 6cc3e4ba14 Add the patch from Dragonlord for broken Cg 2.1 on Linux with ATI cards (Fixes Issue 2508). Shouldn't affect anything else than Linux, please test it there.
Update Issue 2508
This should take care about the black screen. Please open a new issue for other problems that may arise.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5830 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 19:10:23 +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 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 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
Rodolfo Osvaldo Bogado 3435c0f647 fixed blending in dx9 and dx11
fixed fps counter in all the plugins
enjoy

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5778 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-24 15:58: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 11ac672730 Revert a hack that snzgoo committed that should not have been commited. That hack prevents the X loop in GLUtil.cpp from properly detecting events that it should detect.
I don't know if issue 2792 is a valid issue for dolphin.  I think that is a bug in the X server implementation on those distributions of those affected.  I can not replicate it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5758 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-21 12:29:32 +00:00
hrydgard 6a88241e64 D3D9: Delete some long dead code. Also add one more statistic: number of compiled shaders that actually have unique code (not accurate unless you delete the shader cache before running). This stat clearly shows that in f-zero we create 5x as many pixel shaders as we should, so there's clearly a problem with the shader ID generation.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5754 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-20 22:23:34 +00:00
snzgoo 6e83fe2416 win32: Some more work on real wiimote automatic ingame pairup (automatic paired up wiimotes get connected now ingame as well, but it's not completely working yet, we're almost there tho:P) and changed the automatic unpair real wiimotes routine, so it won't get loaded via dll_detach anymore.
minor code changes and adding comments.
And issue fix 2792 with credits to Karloathian for finding and fixing it.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5750 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-20 02:17:53 +00:00
Rodolfo Osvaldo Bogado 4ab0e4b8a0 fix for rbga8 decoding that causes problems in nsmbw
fix for screen clearing in opengl and d3d

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5749 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-19 21:12:09 +00:00
hrydgard ccbc1feb0b D3D9: Fix issue where the shader caches were lost whenever the render window was resized. Add some error logging to LinearDiskCache. + some minor cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5747 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-19 16:22:24 +00:00
luisr142004 4f8a6a1573 apply some speedup to dx11 plugin + some minor stuff
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5721 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 10:12:57 +00:00
Soren Jorvang 391312641c Build GLEW, SDL and zlib as static libraries from Externals as with
LZO/SFML/SOIL and subject to the same shared_foo exception options.

This makes building a self-contained distribution package much easier.

TBD: Cg and wxWidgets 2.9.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5712 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:07:52 +00:00
Rodolfo Osvaldo Bogado cb1694252b more bug fix in dx11:
fixed screen clearing and simplify drawClearQuad a little
put some nice code from dx11 that i like in dx9.
modify plugin spec preparing for implementing efb poke (is not used often but is a missing functionality so..)
please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5710 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 21:19:09 +00:00
Rodolfo Osvaldo Bogado 41266b5ed0 fast fix for pixel shader compilation in dx11
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5687 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 03:09:44 +00:00
hrydgard 5c7bda49d4 (cleanup) RIP EventHandler, now unused.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5664 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-12 19:42:39 +00:00
NeoBrainX a6ebc8234f Preparing stuff for DX11:
- be more strict with the input signature of generated pixel shaders
- replace the D3D parameter with an API_TYPE one, so that we can further distinguish between DX9 and DX11
- for what it's worth dx11 (using vs_4_0) doesn't support D3DCOLORtoUBYTE4; added a workaround for this
- add a "dx9-" prefix to the shader cache files to avoid conflicts with dx11 shaders

Apart from that we're calling CommandProcessor::Shutdown() in main.cpp,Shutdown() now.
Delete all files in User/ShaderCache if you want to save a few KB disk space :P


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5659 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-12 15:49:21 +00:00
Soren Jorvang e7f7eff2b6 Remove a few unused HAVE_FOO's and make the SDL check global.
ulong is not a standard type.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5649 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-11 08:51:46 +00:00
Soren Jorvang b7c2e523b3 Treat strings from external sources as 8-bit so FromAscii doesn't barf.
Ideally we should be more character set aware, but at the moment we
use anonymous 7/8-bit strings in too many places.

Fix use of AddGrowable{Col,Row}. Any (non-zero) rows/columns must     
have been created first by adding an item to it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5648 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-11 08:39:03 +00:00
Soren Jorvang 404c625622 Simplify the SCons build:
On OS X, build all code as Objective-C(++).

Centralize framework handling.

Cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5645 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-10 14:18:21 +00:00
Soren Jorvang c05c9fa1f4 Use 10.5 compatible API's to get list of display resolutions on OS X.
Patch from user gamepromcompany on the MacOSX_Build wiki page.

Add support for the Mac command key as a hotkey modifier in 
WXKeyToString but present it as Control. WXKeyToString is used for     
both hotkeys and menu accelerators, the latter only supporting
Shift/Alt/Control with wxWidgets.

wxSpinCtrl on wx 2.9 has a very small default size, so give the 
window size ones a reasonable size.

Use wxFULLSCREEN_ALL when switching to fullscreen, which gets rid
of window decorations like the title bar. Note that to actually
be rid of it with wx 2.9 on OS X, you'll need this patch:
http://trac.wxwidgets.org/ticket/11701

Also remove a couple of files I had accidentally duplicated.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5642 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 20:03:37 +00:00
Shawn Hoffman 4a0c8fc0c9 Hg:
enable newline normalization
get revision number via `hg svn info` for svnrev.h
ignore incremental/generated binary files (windows/VS at least)
leave a comment if some files need native eol set in svnprops

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5637 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 01:37:08 +00:00
Rodolfo Osvaldo Bogado b20c04aa45 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5629 8ced0084-cf51-0410-be5f-012b33b47a6e 2010-06-06 14:44:35 +00:00
Rodolfo Osvaldo Bogado eb6fabdb00 apply Wagnard28 patch for nvidia cards texture problems
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5616 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 02:15:13 +00:00
luisr142004 2e783d9769 space changes, merge #defines, language fix, and code reorder/cleanup :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5614 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 01:38:22 +00:00
Rodolfo Osvaldo Bogado c98f8a96d2 HUGE commit :)
in general cleanup and bugfix disable pierre  patch for the moment as it causes problem in some games and hopefully fix the remaining missing textures for nvidia users in opengl.
make the code in pixelshadergen looks nice and readable.
D3D: this is a ultra experimental commit please check for regressions or error.
make the efb Scale / super sampling level customizable to improve the output quality and let the user configure quality according to his hardware.
is everyone likes this change will translate it to opengl
please test


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5612 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 00:01:18 +00:00
hrydgard 12a4c25e9f Port InputPluginCommon to use the original IniFile code, get rid of Billiard's.
a few minor warning/compile fixes.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5604 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 20:03:03 +00:00
Soren Jorvang 3ab27a7d87 Revert parts of r5576 and r5598 for Sonicadvance1's sake.
This reenables the option for building without wx on OS X,
but still leaves wxgl as the default.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5599 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 04:59:07 +00:00
Soren Jorvang 84c55c3e4e Deprecate nowx on OS X (but keep it building for sanity checking).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5598 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 02:58:35 +00:00
hrydgard a3c96ac42c Warp back to 5578. Sorry for the lost changes, please re-apply. Reason: 5579 is a complete disaster.
Not only does it change tons of files to switch to a new and non-working (it doesn't parse my ini files, at least) ini parser, it also reshuffles a lot of code and removes a plugin. The latter part is fine, but doing these two major switches in one revision, one of which is broken, is completely unacceptable. I said to merge tiny changes, not massive reworkings.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5589 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 18:05:08 +00:00
Shawn Hoffman e4085f0f04 Merge GCPadNew into Dolphin. This takes place in three segments: Core, InputCommon, and InputUICommon. From now on it can be referred to just as "GCPad".
Switch to Billiard's IniFile implementation throughout Dolphin (it's faster!!).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5579 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 04:55:39 +00:00
Soren Jorvang 52c912a59e Make wxgl mandatory on OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5576 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 01:24:26 +00:00
Soren Jorvang 30e437f9e3 Fix some cases of variables being used uninitialized. Also some unused
variables, writeable strings and dangerously shadowed variables.

index(), gamma(), exp() and y0() are POSIX functions and using those
names can cause namespace confusion.

A number of C files were missing the final newline required by ANSI C
and some versions of GCC are pedantic enough to complain about this.

These changes simply the scons build, allowing us to get rid of
filterWarnings which is simply more trouble than it's worth.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5574 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 20:35:12 +00:00
pierre 714af087bf GL: Relax multisampling constraints on visual
All visuals with parameter GLX_SAMPLE_BUFFERS_ARB = 0 have
GLX_SAMPLES_ARB = 0, so the old code would only ever choose
visuals with GLX_SAMPLE_BUFFERS_ARB>=1 and GLX_SAMPLES_ARB>=1.
Some drivers do not export any multisampling capable visuals,
so dolphin fails to find a matching visual and falls back to
the single buffered visual(which does not work for some yet
unknown reason). Fixes issue #2647.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5565 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 21:05:00 +00:00
Jordan Woyak 05ef8231b8 Changed both video plugins to save PNG screenshots. Made GCPad New default in trunk (it already is in stable). Fixed a hack in new wiimote plugin. Other minor changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5532 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 10:09:24 +00:00
Jordan Woyak ceabf90bda Improve iterator usage.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5528 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-28 23:14:16 +00:00
Soren Jorvang d0a79d8cd1 Revert previous. rodolfoosvaldobogado had already applied the same fix in the
next-to-last change, just enough lines above that svn silently merged it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5512 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 03:27:59 +00:00
Soren Jorvang f38ba8fcfe Fully initialize the xfbSource struct. Not sure if this could actually be used
uninitialized, but this at least placates gcc.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5494 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 20:55:33 +00:00
Soren Jorvang daf1069c27 Fix variable types.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5483 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 20:46:28 +00:00
Soren Jorvang 2cd31e8c10 Don't return a value from a void function.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5481 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 20:44:53 +00:00
Rodolfo Osvaldo Bogado 99d0bd7762 fixed setting of texture parameters like lod bias and max and min lod.
as a nice result of this eliminate the nasty glubuild2dmipmaps.
thanks to neobrain and orphis for discovering the error and the right values

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5475 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-25 19:25:31 +00:00
Rodolfo Osvaldo Bogado 782d9111e5 let's keep experimenting:
almost fixed real xfb in d3d, i say almost because there are some minor scalling problems. hope will fix them soon.
implemented a more intelligent index generator to emulate more accurately the behavior of the gc.
please give me feedback on this changes.
enjoy :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5465 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-22 21:58:43 +00:00
Rodolfo Osvaldo Bogado 3ff6a8bd68 small commit to try to fix issue 1509
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5460 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-19 21:54:54 +00:00
Rodolfo Osvaldo Bogado 2c7a08fc61 after a good commit lets make some experiments:
implemented fixed efb scale to improve alignment and discard some error caused by incorrect scale.
make both plugins work similar. this must improve opengl image quality a lot.
also implemented dynamic resizing in opengl, this way the resolution math the windows resolution on resize.
this is highly experimental so please test a lot.
implemented shader dumping on error thinking  in future experiments with shaders.
enjoy :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5458 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-19 03:15:36 +00:00
Rodolfo Osvaldo Bogado 7947543d98 a little optimization in shaders constants setting , based on the same idea of nodchip changes.
a MAYORRRRRR change in pixel shader generation, please review all games you can and leave comments this must improve accuracy in graphic emulation a lot.
for example: mario eyes in super mario galaxy, water pod transparency an water transparency on game intro in super mario sunshine, etc.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5457 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-17 22:17:46 +00:00
skidau 869f5e64c7 Added a catch-all OpenGL visual. This allows the VideoSoftware plug-in to run under VirtualBox.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5454 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-16 07:37:22 +00:00
Rodolfo Osvaldo Bogado aaafff7f9d a little fix for real xfb in opengl that stop working after one of my commits.
thanks to lordmark to point me the exact revision.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5451 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-14 21:47:16 +00:00
Rodolfo Osvaldo Bogado 0ea01d8462 fast commit :
make native mips loading an option to prevent performance lost in game that not need this functionality.( thanks to dorian.fevrier for point the performance lost.)
added a patch from  pierre@pirsoft.de to avoid vertex drops when index array is full in opengl implementation that do not support large index arrays

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5432 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-04 14:43:30 +00:00
Shawn Hoffman 1d8db5ce3f osx buildfix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5402 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-23 19:15:44 +00:00
Glenn Rice 140332c02e Move fullscreen display resolution control to the GUI with the rest of the fullscreen toggling code. This removes redundancy of code that was in several places through the various video plugins. Unfortunately it means the fullscreen resolution setting also had to be moved to the main configuration dialog. I am sure that will meet some resistance.
Also added a window size setting for windowed mode.

Also pulled some X11 specific code out into a separate file.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5395 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-22 04:28:34 +00:00
Rodolfo Osvaldo Bogado 8eb21d1bac fixed mipmap loading in both plugins.
add an option to limit fps instead of vps for games with bad synchronization
some minor fixes in d3d gui
enjoy :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5394 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-22 02:51:07 +00:00
Glenn Rice d93cebf84b Build fix for the NoGUI build.
Also removed a few compiler warning while I was at it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5387 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-19 03:06:18 +00:00
Glenn Rice 0a12b9d9f5 Logical reorderring of the GUI boot sequence. Also a little clean up in the OpenGL plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5379 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-17 03:17:36 +00:00
skidau 7a7d1a7b55 Re-added Skies of Arcadia projection hack. Fixes issue 2514.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5372 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-15 09:23:59 +00:00
Rodolfo Osvaldo Bogado 273ae5920b disable loading of native mip for compressed textures as they are not working, this should fix grass problem in zww
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5367 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-14 15:15:01 +00:00
Rodolfo Osvaldo Bogado a25dfc47b4 fixed xfb bumping introduced by my last commit.
implemented loading of native mips, see sms water :).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5366 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-14 13:57:16 +00:00
Shawn Hoffman 0dc924efef osx buildfix, add resolutions to ogl dialog
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5363 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-14 04:32:59 +00:00
Sonicadvance1 5cb916e9d1 Fixes wxGL, so it draws correctly in OSX, so Draw to Main works if enabled in OSX. Disabled, it creates a window but with no titlebar
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5341 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 02:35:59 +00:00
Glenn Rice 33a64d5db0 Big restructuring of how the video plugin works. In linux and windows you shouldn't see a change in the functionality; however, there are changes in how render to main or not, and fullscreen modes, and such are handled. Input is largely restructured for the video plugin. It is now handled by the host. Keys for pausing and changing fullscreen are configurable. More will probably be later. This is probably classified as highly experimental.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5336 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 01:33:10 +00:00
Rodolfo Osvaldo Bogado 3746b9e505 corrected some things i forget in my last commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5273 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-04 13:19:03 +00:00
Rodolfo Osvaldo Bogado a4736f7f6b back to limit vps instead of fps as this fix fps limit and now it works correctly as now the sync between the plug in and the core is almost correct.
fixed fps display in the top bar, now it shows the real fps of the game.
some code clean up and some corrections to make everything work right in the reference renderer.
multiples xfb now is broken even in single core as is was not an error caused by dual core, i really dono where the error is,everything looks correct but if you test a game with multiples xfb or the ipl you will see the error.
ector if you can take a look at he code and throw me some ideas i'll thank you.
please test.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5272 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-03 22:22:55 +00:00
skidau 962fef0626 Fixed bug where the projection hack setting was not being saved in the Game Properties dialog.
Removed the obsolete projection hacks:

* Final Fantasy CC Echo of Time
* Harvest Moon Magical Melody
* Baten Kaitos
* Baten Kaitos Origin
* Skies of Arcadia

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5271 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-02 21:28:56 +00:00
Glenn Rice 748c492395 Build fix for windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5266 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-02 00:11:08 +00:00
Glenn Rice f6c8fd691a Fix state saving and loading in linux. Apparently that is why the OpenGL_MakeCurent was in the video plugin DoState.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5265 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-01 23:13:26 +00:00
Rodolfo Osvaldo Bogado 49d568488c fixed fps limiting when using using virtual xfb, now fps = vps, in fact now real xfb is as fast as no using xfb, i'm thinking now that the correct thing is leave it enabled as default, and even remove the option.
the problem is one strange behavior i found, in opengl when xfb is enable, frame limit causes the frame rate to be limited exact half the correct speed, so if you choose auto and the game uses 30 fps you get 15 fps
so in opengl, you have to limit to the exact double of the game speed, 100 to pal games and 120 to ntsc.
in d3d this not happened every time, it just happen when you change some time consuming setting like changing the ssaa or resizing the window, in that case you have to disable and re enable frame limit to get the correct fps
to all the devs please if you can help me debug this, will give you a lot of thanks as i'm short in time to debug this error and is driving me crazy not to find the source of the problem.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5249 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-28 23:51:32 +00:00
Rodolfo Osvaldo Bogado beee4f4804 other experimental commit:
applied mlkbouba patch to make Mario Strikers Charged Football work (i do not own the game so please test).
some minor tweaks to the plugins to improve performance. for game that do not use xfb the best settings are dual core enabled, audio throtle disabled, frame limit set to the desired value, and xfb off.
change the frameskip calculations to use fps instead of vps as in dual core vps != fps caused by unresolved sync problems, till this problems are fixed the best for game play is calculate times in base of fps.
please test and let me know the results

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5239 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-25 22:01:33 +00:00
Glenn Rice 02edaf3db8 Added several XKeyToString translations.
Fixed minor font issue with wiimote pad button dialog.
Removed unnecessary OpenGL_MakeCurrent call from DoState.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5209 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-17 18:58:19 +00:00
Glenn Rice 721935c6ff Several little fixes.
Fixed a segfault in linux when a cd/dvd drive is empty or invalid and "Boot from DVD" or "Show Drives" are selected.
On all platforms if a game fails to load show the game list again.
The other things here are essentially code cleanup and won't be noticeable by most users.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5204 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-17 01:54:40 +00:00
Glenn Rice d6b9a2ec81 Shutdown NoGUI build properly in linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5202 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-16 13:18:52 +00:00
Glenn Rice 6723a91664 No gui fix in linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5201 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-16 03:34:27 +00:00
Glenn Rice 172cc24f32 nowx build fix, and fix a bug when render to main is changed from the gfx config dialog while the emulator is running.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5200 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-16 01:16:55 +00:00
Glenn Rice 2015d252f0 Rewrite of fullscreen toggling in linux. This goes back to using the EWMH specifications. I wasn't using it right before, but now it should work on all EWMH compliant window managers (like KDE, Metacity, Compiz, etc). Since this doesn't need an override redirect Alt-Tab works even in fullscreen mode. This also allows for some other nice things to be done.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5199 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-15 23:25:11 +00:00
Glenn Rice ed0740b512 Still didn't have the render to main resize thing. Need to move the window if the panel is to the left.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5194 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-13 20:39:33 +00:00
Glenn Rice 2bbef42c37 Fix an issue in linux where if both render to main and fullscreen are checked the emulator started in fullscreen with the wrong window size.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5193 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-13 15:49:40 +00:00
Glenn Rice 3ccbd152fd In linux with render to main, make sure the emulator window is resized if the log window is opened or resized. Also fix a memory leak, and a little code clean up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5190 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-12 04:10:48 +00:00
Glenn Rice 5fa18ae114 Fixed an issue that caused the render to main window to lose focus if the gfx config dialog is opened while the emulator is running. Only affects linux. Also fixed a few preprocessor conditionals.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5186 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-10 17:29:19 +00:00
donkopunchstania 70627c5652 Extend the OGL virtual XFB to handle games that use multiple XFBs to make a frame. This should allow games that require the XFB to work without using a real XFB in RAM which is slow and limited to the original resolution. To use this enhancement you must check Use XFB in the options. The previous option was renamed Use Real XFB. I don't think this works with the aspect settings yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5185 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-10 06:45:13 +00:00
Glenn Rice c455673f87 Added scons options "shared_libname=true" to link agains the system shared libraries for lzo, sfml, and soil. For example add the scons option "shared_lzo=true" for lzo. This will check for the system libraries and then fall back to building and linking statically against the Externals if not found. You must have liblzo2-dev, libsoil-dev, and libsfml-dev installed. Note that you need version 1.5 or later for sfml. Currently scons doesn't check the version for you.
If you are having trouble with segmentation faults in linux try "shared_soil=true".  That seems to fix the problem.  How do we fix this for the static build?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5182 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-09 22:17:33 +00:00
Sonicadvance1 2049caa9fc Fix NoWX build, use a different define in CoreParameter, the one we all know and love, and add a Function call to VertexManager which can boost performance, tells the drivers that we don't care about the current data, because we are putting new data in it anyway. This gives quite a performance boost on OSX since it bypasses a call in the drivers that takes around 24% CPU time
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5179 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-09 21:15:28 +00:00
Glenn Rice 5beb6dfd47 Implement render to main in linux. In order to compile this in you will have to have libgtk2.0-dev (or your distributions equivalent) installed. If not dolphin-emu will still build, but without render to main operational.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5176 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-08 23:29:16 +00:00
Glenn Rice beba3b7f5b Removed more compiler warnings in linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5170 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-07 22:48:37 +00:00
Sonicadvance1 e79dc93a5c Fix noWX compiling, Fix OSX crashing when opening options because of dumb code. Fix OSX Wiimote, will fix multi-wiimote in OSX later.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5154 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-05 07:03:44 +00:00
luisr142004 e2316087f7 accidently broke free look with mouse input, fixed (fixes issue 2377)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5153 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-03 19:21:24 +00:00
Glenn Rice 8035ccaef4 Enable the OSD hotkeys in linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5147 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-28 21:56:17 +00:00
Glenn Rice 0425ff2f06 Add rodolfo's safe texture cache options to the OGL plugin dialog
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5137 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-27 16:07:29 +00:00
Rodolfo Osvaldo Bogado 6b1ca64428 experimental commit: simplify even more the params. please test and if theres something wrong will revert asap
thanks for the comments in the prev commit they make my re think the approach.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5136 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-26 22:14:29 +00:00
Rodolfo Osvaldo Bogado 02189ec5e0 Simplify the params for the safe texture cache
after some test the more relevant parameters were the color samples and the tlut max size.
so delete the rest of the parameters and define 3 modes:
Safe : the two values are set to 0 meaning all the texture data and all the tlut data are hashed this is the most correct and slowwwwwwwwwww way
Normal: 37 samples are taken from the color textures an the firs 4096 bytes of the tlut are hashed, is a lot faster than safe mode but in some games i observe small glitches.
Fast: 8 samples are taken from the color textures an the first 1024 bytes are hashed from the tlut, is a little slower than the unsafe cache but at least all the games i tested have correct text output and fast frame rate. the glitches in dinamyc color textures are more noticeable in this mode
this values could be improved, if you find a better combination please post it and the game it fixes and i will update the source.
for the moment, as my time is limited by a lot of work, only implemented the d3d gui, if someone can implement the opengl gui will be a lot of help for me.
please test a lot and let me know the results.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5135 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-26 12:54:08 +00:00
sl1nk3.s 6da7695843 Fix issue 2364 + another issue introduced in r5129 causing the main window to lose the focus on windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5133 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 17:50:08 +00:00
Glenn Rice f1ed7e5656 Build fix for linux. sprintf_s does not exist in linux. Does it in windows?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5132 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 12:35:31 +00:00
luisr142004 816febd3b0 finish proper window handling, fix the modal state of the config dialogs, plus some minor cleanup/changes :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5129 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 06:12:35 +00:00
Glenn Rice 1d40b8a5ae Systematically eliminating compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5117 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-24 03:38:36 +00:00
Rodolfo Osvaldo Bogado 3cc5d8ce6f First a bugfix:
fixed a misbehavior in the clear code that causes depth clear problems in reference hardware (Intel as example).
add 6 parameters to optimize Safe Texture Cache:
SafeTextureCacheColorSamples, SafeTextureCacheIndexedSamples, SafeTextureCacheTlutSamples:

this 3 parameters gives the number of samples taken to calculate the final hash value, less samples = more speed, more samples = more accuracy
if 0 is specified the hash is calculated using all the data in the texture.
SafeTextureCacheColorMaxSize, SafeTextureCacheIndexedMaxSize, SafeTextureCacheTlutMaxSize:
this parameters limits the amount of data used for the hash calculation, it could appear as redundant but in some games is better to make a full hash of the first bytes instead of some samples of all the texture.

color, indexed, tlut : define the texture type, full color data, indexed, and the tlut memory.

the parameters are available in the config , no GUI at this time, if the test are OK will add it to the GUI.
if someone needs it will give more examples on how to configure the values for specific games.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5116 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-23 21:52:12 +00:00
Glenn Rice ba25f08d62 Convert a few other EVT_COMBOBOX's to EVT_CHOICE's that I missed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5115 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-23 02:20:35 +00:00
Glenn Rice 74883a1735 Fix some wxChoice events that were still wxComboBox events.
Fixes issue 2334


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5114 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-23 01:59:59 +00:00
Glenn Rice 303769d31c Revert commit 5105 until we sort out how we want this to work in linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5110 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 16:10:08 +00:00
sl1nk3.s ffdf087aad Fixes issue 2331, plugins won't cause a crash/hang on stop anymore if their config dialog was opened, note that stopping a game while a config dialog is open still causes a crash (that should not be possible in the first place since the dialogs are modals, but heh...).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5109 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 04:59:57 +00:00
Sonicadvance1 ae945ec90e More conversions to wxChoice, weee
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5108 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 01:08:42 +00:00
Glenn Rice 73d575c5c2 On linux don't compile and link against lzo, soil, and sfml "Externals."
Instead use system libraries liblzo2-dev, libsoil-dev, and libsfml-dev


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5105 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 00:39:38 +00:00
Glenn Rice 154bc956ad Some code clean up, and take care of some compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5090 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-20 04:18:19 +00:00
Glenn Rice d5c094df75 In linux when in fullscreen, make escape leave fullscreen then pause.
More like on windows?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5079 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-18 00:50:08 +00:00
Glenn Rice 967c5891e9 Make the Escape key pause the emulator in linux when not in fullscreen.
I believe this is the same as in windows?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5078 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-17 23:44:07 +00:00
Glenn Rice 634f6e512e Minor tweaks to fullscreen in linux, and make FullScr button in GUI work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5074 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-17 17:53:08 +00:00
Glenn Rice 7c76d51c67 Enable fullscreen switching with resolution mode changing using Xrandr in linux.
This changes the dependency in linux from libxxf86vm-dev to libxrandr-dev.
Use Alt-Return to toggle fullscreen mode (as in windows).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5065 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-16 04:59:45 +00:00
Glenn Rice 666a33eeed Fix mouse emulation in fullscreen mode in linux. The window doesn't have focus then.
Also minor tweak to mouse hiding.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5063 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-15 01:09:34 +00:00
j4ck.fr0st 14bb1b5f01 ...and a buildfix for non-win32
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5060 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 16:44:16 +00:00
j4ck.fr0st cd321feb83 attempt to fix the main window closing from r5056. i'm not sure how this affects window deletion tho.
apply eol-style native to GCPad, pretty annoying to break patches and stuff

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5059 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 16:33:53 +00:00
Sonicadvance1 5b1d21d1a1 Bunch of tiny memory leaks fixed and cleanup, フウ〜!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5056 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 14:06:33 +00:00
Glenn Rice e5afde67ce In linux only read keyboard and mouse input when the emulator window has focus.
Also other code clean up.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5053 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 23:56:24 +00:00
Glenn Rice c2e0c75c93 EXPERIMENTAL
Removed X event loops from GCPad and Wiimote plugins, and implemented an asynchronous check for keyboard and mouse buttons.
Also added an X event loop in core that handles events while the emulator is paused.  Prevents unexpected behavior from events that occur while the emulator is paused.
Now there is only one event loop running at a time (besides those hidden in SDL).
I will revert this commit if other devs are unhappy with it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5048 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 20:47:23 +00:00
Sonicadvance1 060bbcf067 Compiling with rev 63470 of wxWidgets now works with OSX x86_64. There are a BUNCH of errors while running, none fatal from what I've seen. This also fixes Dolphin creating multiple NSWindows when running multiple games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5041 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-12 12:41:53 +00:00
Glenn Rice 78f8fe2e85 Implement wiimote IR emulation with the mouse without using the pointer motion events. Hopefully this removes some of the overhead from the X event loops. One downside is that the IR emulation will not work until another event on the window has occured. Although this is minor, usually an event happens before you need the IR pointer.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5040 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-12 02:53:45 +00:00
Rodolfo Osvaldo Bogado 6200c99dd4 test commit: please test if this improve the performance with the safe texture cache
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5038 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-10 15:55:24 +00:00
luisr142004 c291a2db67 make ESC pause the game now instead of quitting plus fix another bug with key and window handling
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5035 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-09 00:34:27 +00:00
Rodolfo Osvaldo Bogado e93e777ffb second try to implement a more correct safe texture cache, implemented full hashing of tlut textures as they are the more problematic, this should solve virtually all the problems with characters in all the games that have them.
sorry to tell but this will bring a speed drop, so let you decide if this change stay or not.( used the fastest open source hash algorithm i know) 
do not apply full hashing to other format because it kills the performance.
for popular request added 9x SSAA believe me will kill your graphic card even if is the best but the image quality is exceptional.
as always please test and let me know the results.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5034 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-08 23:23:04 +00:00
luisr142004 3f90bb215c make ESC quit the game instead of toggling out of/into full screen mode (fixes issue 2246),
implement proper window handling (d3d/sw) which i believe fixes a hang that occurs when a game is stopped (plz test this :)) + some minor stuff

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5030 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-08 09:57:52 +00:00
Glenn Rice 3915f0fbca Enable dynamic fullscreen switching in linux. Toggle fullscreen mode with the escape key. Unfortunately this fullscreen mode is separate from the fullscreen mode obtained from the OGL config dialog. To close that fullscreen mode you must use Alt-F4 for now (not escape). This is not how we want this to end up but there is a mode switching issue I can't figure out.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5029 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-08 04:30:01 +00:00
sl1nk3.s 449b21fd65 Fix an issue with OpenAL not properly using the correct Volume on boot
Proper fix for issue 1886 as well as a fix to OGL fullscreen code that might fix issue 2095

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5028 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 19:36:29 +00:00
ayuanx 7be712808a Makes ESC always toggle full screen as requested in Issue 2225
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5025 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 08:34:46 +00:00
Glenn Rice 13437c1f6b Fix segfault in linux if user clicks on the window manager close button of the
emulator.  Also added the ability to close the emulator with the escape key.
Fixed an issue that caused a segmentation fault when trying to close the
emulator when running in fullscreen mode, which can also be done using the
escape key.  This makes fullscreen mode useable in linux!


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5023 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 02:41:02 +00:00
j4ck.fr0st f3868dd491 Some internal code shuffling for Config dialogs. OSX seems to be picky about when StaticSizerBoxes are created, as described in Issue 2229.
Bit of cleanup/grouping, control creation is now a bit more separate from value setting and tooltip assignment which IMO cluttered the code as it was.
Removed something from main.cpp that looked like a hack to me.
Fixes Issue 2229

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5021 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 16:20:54 +00:00
Rodolfo Osvaldo Bogado 811cfb059e D3D and Opengl:
reverted a tiny leftover of my safe texture cache commit
D3D
renamed the SSAA modes to use samples as MSAA now they are 2,25x and 4x.
OpenGL:
fixed a nasty logical bug introduced in 4984 that causes efb corruption when efb to texture is used
re enabled shader caching as it was not producing errors.
fixed efb misalignment caused by integer rounding still a bit misaligned but many games will look better now

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5020 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 16:05:48 +00:00
Glenn Rice a9db66a41a Completed TODO: Core::GetStartupParameter is dead
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5019 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 05:22:53 +00:00
Glenn Rice d979532c00 In linux process events from the main frame regularly to update statusbar text
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5018 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 01:08:36 +00:00
Sonicadvance1 675e1f668e Correct stopping of Core in OSX via Command+Q, and fix a thread from not dying when stopping with CoreAudio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5013 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-05 10:48:31 +00:00
Glenn Rice 6e2104b050 Implement hiding of mouse cursor on linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5007 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-04 04:49:29 +00:00
Rodolfo Osvaldo Bogado e98a273b54 fixes for my last commit:
chage the global format of the screenshots to bmp, is correctly supported by both plugins and is faster.
reverted the changes in safe texture cache, will try to make them more stable then commit them, this should fix compilation in linux and macand error introduced in MP games
corrected all the issues commented by ector, thanks for the comments alway is good that the code is revised by others to find missed spots.
please report any remaining issue to solve them.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5001 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03 14:13:03 +00:00
Rodolfo Osvaldo Bogado 9e2bbec47f a lot of modifications here :)
first fixed scaling when updating backbuffer to make it friendly with encoders, now frame dumping must work without errors in any codec.
clean screenshot and frame dumping code now is more correct, faster and stable.
improve safe texture cache, improving the distribution of the hash algorithm, including tlut hash in the final hash of the texture, and making use of a 64 bit hash to make it more accurate.
clean a lot of code and corrected some missused vertex formats when drawing full screen quads.
and biggest change last:
implemented pseudo antialiasing: a image post-process algorithm that mimics antialiazing and is fare more easier to implement in this scenario.
you can change the intensity of the effect changing the values of the antialiasing combo. the right value depends on the game.
for example mkwii looks awesome with 8x.
please try all the changes and let me know the results.
if something is broken, please let me know and will fix it asap.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5000 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03 03:52:50 +00:00
Glenn Rice feba09f7a3 Linux global build. At least the basic footwork is done here.
Basic usage:  "sudo scons install=global install"
Hopefully this doesn't break builds on Macs.  I have tested this on linux and windows.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4994 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-02 21:56:29 +00:00
ayuanx 8b129fca0c Fies Issue 1584
OSD and Hotkey to do quick config toggling

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4984 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-29 07:44:21 +00:00
ayuanx 9a49e91e41 Fixes an issue caused by r4964
FrameUpdate() must be called even when a frame is skipped, otherwise frameskipping will freeze.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4980 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-28 14:37:03 +00:00
ayuanx 40cc180dfd OpenGL fix: s_swapRequested must be volatile.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4964 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-26 14:56:51 +00:00
Glenn Rice 727283c4de Added mouse support for linux. It is still rather crude, but it works.
Unfortunately the mouse pointer doesn't match up very well with the IR pointer yet.
Also, I had to add the PointerMotionMask to XSelectInput which adds overhead to the already stressed X event loops.  Five event loops by my count, really?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4961 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-26 00:11:45 +00:00
ayuanx 85c2310b03 Minor fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4955 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-25 05:12:24 +00:00
Rodolfo Osvaldo Bogado 9ec5ee94b4 this was a hard fix to found:
if a degenerated primitive is passed to the VertexManager treat it as a compatible primitive, for example if a 5 vertex quad is passed treat it as a triangle fan.
as crazy at this seems it fix the sun glare in ZWW, please test an d let me know if it make a difference in other games

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4931 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-23 12:56:07 +00:00
hrydgard a43428253b Kill the last timeGetTime calls.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4921 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 21:27:52 +00:00
j4ck.fr0st a08bfc1344 thats more like it i guess...
does the Software Plug in not check for RenderToMainframe on purpose?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4920 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 20:58:26 +00:00
ayuanx af305ca95b Fixes Issue 2080 for DX9 & OGL
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4910 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 19:51:13 +00:00
skidau 50019fb525 Added sanity check to the OpenGL framedumper. At startup, the AVI Dumper was being sent frames with a zero pixel height to render, crashing the dumper. Closed issue 1324.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4905 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 12:26:47 +00:00
hrydgard 577d4e73ea OGL: Fix a wrong warning message. Fixes issue 2057. (well, not really - but the confusion is gone).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4883 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-18 21:11:50 +00:00
hrydgard 3e01152793 Shader Disk Cache implementation for D3D. Saves generated shaders on disk. Eliminates "freeze jerks" in D3D plugin the _second_ and later times you play something.... not much to do about the first time. The D3D shader compiler is just slow.
Also assorted cleanup around the shader code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4869 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 17:44:09 +00:00
j4ck.fr0st f599fdcec5 Added missing wxEvent for Widescreen Hack, unchecked and disabled 2x checkbox when selecting "Use Real XFB".
Fixes Issue 2026

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4868 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 14:17:23 +00:00
hrydgard 2db709aeb6 Add "Auto Aspect Ratio" to both graphics plugins. It's the new default, so you can forget about switching aspect manually from now on. In the Auto mode, aspect ratio is automatically set depending on whether it's a Wii or GC game, and whether the global Wii Widescreen setting has been set. There is still the possibility to override, which can be useful for the very few GC games that do support widescreen.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4828 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 21:11:02 +00:00
hrydgard a81efdb597 D3D: Fix some texture wrapping issues by setting the texture state for every texture used at draw time. Hopefully there will not be a noticable slowdown, thanks to the state caching. Also some minor cleanup. Should fix issues like repeated shadows. TODO: In theory it should have worked without this, so I should investigate why this change was needed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4815 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 23:40:30 +00:00
hrydgard 9012d4f4b8 Fix missing shading in NSMBWii etc in the D3D plugin. Now, I'm not entirely sure why the existing code didn't work properly, but hey, this fixes it :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4810 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 00:08:02 +00:00
hrydgard 1bca5e8c86 (nothing of value, just reindentation and removal of commented out includes. i'm just cleaning my svn client here)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4808 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 23:28:54 +00:00
ayuanx f472e2904d Now Progressive Scan actually works for those games that really depend on this setting (Try Mario Kart Wii)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4798 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-09 17:11:59 +00:00
ayuanx 9cbd508181 1. This should fix Issue 1625 (Bizarre Auto Frame Limit)
Now the frame limiter yields on CPU thread, not as before on GPU thread mistakenly

2. Fixed clear of VI interrupts
   I guess VI interrupts are not used at all, because they were never cleared before

3. Made GPU thread 0% processor usage when paused whatever your active config is.
   I tried the event approach but somehow the thread resume latency is excessively long (Who can tell me why?)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4790 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-07 20:01:41 +00:00
fgfemperor 64167bcb60 Now you can switch between Emulated and Real WiiMotes, connect more Real Wiimotes and even pair them up (if you have MS BT Stack) during gameplay!
All you gotta do is Pause the emulation! That's useful for when your batteries run out during gameplay, for example...

But if you change the WiiMote source (between Emulated, Real or Inactive) you must disconnect and reconnect (Menu Tools -> Connect WiiMote) the WiiMotes affected by the change...

Thanks to jack.fr0st who did all the emulation state notification work!

Now every plugin has a way to know the current emulation state (paused, stopped or playing)

@ayuanx: I thought about doing a PostMessage(g_WiimoteInitialize.hWnd, WM_USER, WIIMOTE_DISCONNECT, current_number); so that the user gets asked to reconnect that WiiMote, trying to avoid having to disconnect and reconnect, but it didn't work because shooting that message only asks to reconnect, doesn't do a disconnect... Do you have any ideas on how to accomplish that?

Also, if anyone could check if Issue 1916 is finally fixed... Or at least when is the cursor being hidden or not...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4789 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-06 19:26:52 +00:00
ayuanx 736d84f5d6 Remap wiimote hotkeys to Alt+F5/F6/F7/F8 to make Windows happy.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4783 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-04 03:31:49 +00:00
ayuanx 430f44cb1e Added hotkey Alt+F1/F2/F3/F4 for connect/disconnect wiimote with OSD display
(But there is still a little problem with DX9 fullscreen toggling)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4782 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-04 03:11:31 +00:00
ayuanx 72b1570e08 Fixed Issue 1928
Fixed Issue 1917
(Since wxWidgets is not allowed in core, so I moved the popup window to CFrame)

*Maybe* this could also fix Issue 1919?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4780 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-03 23:05:52 +00:00
sl1nk3.s ede1c935f4 Fix Fullscreen issues in DirectX plugin. Fixes issue 1470, issue 1886 and issue 1673 too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4779 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-03 22:18:50 +00:00
sl1nk3.s 5877961354 Some fixes to Stop() process.
Unbreak linux stop on Single Core, remove an unnecessary wait event, fix DSP HLE/DSP LLE/OGL plugin hang on stop when the config dialog has been opened (nJoy and Wiimote still need to be fixed), avoid the CpuThread to be stuck in the efb/swap loop by setting a flag before the thread is actually shutdown (contrary to r4756 which was setting it.. after :D)
Clear the status bar Framerate/Core message when the game is stopped.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4769 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-01 03:55:39 +00:00
sl1nk3.s 18e951f97a Fix a crash when closing DirectX's window, also apply a fix from j4ck.fr0st/BhaaL @ issue 1277 to prevent two possibles hang on stop.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4756 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 15:08:18 +00:00
Rodolfo Osvaldo Bogado 0bc7fa7bf5 Small fix for the last commit, and a little fix for disable fog to really disable it :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4662 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-09 13:51:28 +00:00
luisr142004 4df6dc24f8 Enable free look for render to main
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4658 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-08 02:20:27 +00:00
Rodolfo Osvaldo Bogado d02426a8e9 mixed commit:
in D3D and Opengl:
fixed one nasty bug in texture loading where if a dynamic texture keeps his format but the tlut format is changed, the try or reloading the texture in the same texture could cause a hang if the size of the resulting texture is different than the original (size in bytes)
Applied a ugly temporal hack to the texture conversor to solve efb to ram misalignments and effect distortions.
in D3D:
Pseudo implementation of logic ops using basic blending: the first 8 operations are "good approximations", the remaining 8 are bullshit :) if someone have a better approximation to emulate this logic please let me know.
please test if i don't break anything in the process and test Mario kart wee you will get a nice surprise.:)
 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4656 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-07 18:48:31 +00:00
nakeee ec983284c6 Linux fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4653 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-06 17:45:59 +00:00
hrydgard f0bba97070 Delete the misnamed GlobalControl.cpp/h, move the (ugly) projection hack code that was there into VertexShaderManager where it belongs.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4644 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-05 13:56:23 +00:00
Rodolfo Osvaldo Bogado a99a1451f9 d3d: a little speedup in efb to ram please test and let me know the result
opengl: a little code cleanup and possible speedup in texture recreation.
d3d and opengl :plugins corrected the efb alignment when efb to ram is used.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4637 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-03 20:09:15 +00:00
luisr142004 60352d92eb Wiimote: reapply the Upright wiimote option
D3D: add the EFB Copy option to complete Rodolfo's commit plus add the Overlay FPS and the Disable Fog options
also change the config dialog's behaviour a bit

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4622 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-28 05:59:46 +00:00
Rodolfo Osvaldo Bogado 5e31f22e50 small code reorganization.
Now efb to ram display correctly but still is misaligned by one pixel
please test and give me feedback

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4618 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-27 19:42:27 +00:00
Rodolfo Osvaldo Bogado 55dc7efaa4 corrected viewport and scissor test behavior in both plugins.
some code cleanup in d3d.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4605 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-23 14:08:08 +00:00
bztdlinux f796d4d747 STAND BACK - NEWLINE POLICE
gcc spams warnings when newlines are not at the end of files.
reason: http://gcc.gnu.org/ml/gcc/2001-07/msg01120.html


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4582 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-15 22:26:39 +00:00
donkopunchstania f992fc6949 EFB to RAM in OGL and software plugin now work correctly when texture in RAM is a different size than the source. Corrected some block heights in texture decoder to fix copying certain EFB formats.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4580 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-15 20:14:03 +00:00
luisr142004 14c3878543 reapply the changes from rev 4532 (without the resizing issues) and the changes from rev 4555 -- fixes issue 1660
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4578 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-15 07:46:43 +00:00
Rodolfo Osvaldo Bogado f8c2dcaa4e fix for re missing characters in both plugins, thanks to autoran for the testing. also modified depth efb copy behavior to work accordantly to this change.
in opengl  efb copy, set the destination texture format and not use argb always.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4575 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 23:15:09 +00:00
Shawn Hoffman 06aa62504c revert to r4531, but keep the changes from the following revisions: 4533,4550-4551,4556-4559
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4566 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 17:08:32 +00:00
luisr142004 654800458f OGL: allow the Esc button to work while windowed and not rendering to main
D3D: fix the wireframe option getting enabled when using the fullscreen option
and did some code cleanup

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4555 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-13 10:45:41 +00:00