Commit Graph

7133 Commits

Author SHA1 Message Date
skidau d92aad4430 Added Wiimote speaker support by hack patching out the IsBusyStream function using HLE. DSP LLE is required to process the speaker data. This commit works with real Wiimotes. I have added the code to decode the audio from the emulated wiimotes but have not added the code to output their audio to the PC speakers.
* Added HLE function IsBusyStream which signals that the Wiimote is ready to accept speaker data.  This function is not a conversion from the real PPC code.  It a simple function that returns the "ready" status after being polled.
* Added code to find and patch HLE functions on boot
* Added 4bit Yamaha ADPCM decoder from the ffmpeg project
* Removed some test code
* Added some copyright notices

Fixes issue 438.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7225 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 12:48:35 +00:00
Glenn Rice f2a086c44c Time for a translation update.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7224 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 02:02:56 +00:00
DimitriPilot3 a1da2e0e4c Some fixes for the "Cheat Search" feature :
- Replace ToLong() with ToULong(), as to allow values in the [0x80000000..0xFFFFFFFF] range to be parsed correctly without failure.
- Remove the "val_base" hack, as it breaks hexadecimal values beginning with '-'.
Simply passing 0 as the second parameter to ToULong() is enough, as mentioned on this page: http://msdn.microsoft.com/en-us/library/5k9xb7x1%28v=VS.100%29.aspx
- Changed the error message (and some of its translations) to reflect that octal values are now auto-detected ("supported") as well.

To users: 
Note that values beginning with '0' (not "0x" nor "0X") are now interpreted as octal values instead of decimal values. So be careful when using those!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7223 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 18:01:32 +00:00
Glenn Rice 9bf8a58286 Fix the segmentation fault users are having when opening the video config dialog with no games visible in the game list. Although in that case there will also not be any game profiles listed in the dropdown.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7222 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 16:50:55 +00:00
Shawn Hoffman 6e4923399e revert r7212 (express users must modify a single line, instead)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7220 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 15:17:41 +00:00
Glenn Rice 3b6f7644fd Make log options an AUI window instead of a dialog.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7217 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 15:01:00 +00:00
Glenn Rice f9ccd6dfa1 Sort configuration profiles in the video configuration dialog. Instead of sorting alphabetically, sort them in the order they appear in the game list control.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7216 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 23:42:21 +00:00
Glenn Rice 636af2ce67 Fix the game list tooltips on linux in a better way. Also activated them on OSX, but they still don't work the best there.
Fix a hang on emulation shutdown on linux.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7215 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 22:56:03 +00:00
Shawn Hoffman b90a85da49 might as well add image/png mime-type for pngs in /trunk too
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7214 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 18:33:33 +00:00
Shawn Hoffman 62cb8ebe46 Force dolphin to use the windows7.1sdk (the windows7.1sdk installer is silly and refuses to recognize that vs2010 exists).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7212 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 18:08:20 +00:00
Glenn Rice fa7194b129 Make game list tooltips work on linux. The HitTest subitem parameter is not implemented on non wxMSW so just use the entire item.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7210 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 18:03:14 +00:00
Shawn Hoffman 685d3c1f50 windows: fix crash on close
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7209 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 02:04:14 +00:00
Soren Jorvang 69a3e5f3c3 wxConvCurrent in wxWidgets is not always initialized at startup
like it is supposed to and depending on the linking method used
this shows up as the inability to use it in an initializer.

I think this may be a wxWidgets bug (ticket #12927), but I haven't
fully debugged it yet.

For now, apply a workaround here.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7208 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 22:56:51 +00:00
Soren Jorvang 1795da46ab std::locale("") seems to be broken not only on OS X, but also
on FreeBSD and Linux when building with clang.

I think it would be best to only use wxWidgets for localization.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7207 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 22:06:29 +00:00
Soren Jorvang 9a9909a4d8 Stop building some unused files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7206 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 21:55:14 +00:00
Soren Jorvang d2910912a4 XInitThreads() must be the very first Xlib function called or else
some X state will have initialized mutexes and some won't, leading
to unpredictable results depending on the feature set compiled into
wxWidgets and so on.

wxGTK starts by calling Xlib functions indirectly through gdk very
early on, so we must hook into wxApp::Initialize().

I believe this should properly fix issue 1540. In case of problems,
please reopen that issue. If you see XLockMutex in a backtrace,
that's a pretty good indication.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7205 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 21:53:53 +00:00
Shawn Hoffman d93a548983 setup ios revision (makes some wii demos shutup)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7204 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 21:40:03 +00:00
Glenn Rice 22dcfa4455 Revert alphabetization of game profiles in the video config dialog until I (or someone) has time to do it right.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7203 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 20:11:51 +00:00
pierre e57406dbcc Core/Common: Add support for low 8 bit parts of SI,DI,BP on 64 bit in x64Emitter
In addition protect against their use on 32 bit and the use of [ABCD]H
together with a REX prefix on 64 bit.

This assumes that the customOp parameter of WriteREX and operandReg of
OpArg always are registers, and thus needs to give something valid to
WriteREX when that is not the case (WriteShift).

In addition to the patch i sent to the ML, there are a few changes to the
error reporting(mostly whitespace).



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7202 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 14:20:52 +00:00
Soren Jorvang febd967907 Back out r7195 pending a closer look at thread safety in the
video backends.

This would be considerably easier if there was a way for me to have
fully working video in some sort of VM. If anyone has achieved that,
preferably with Linux but failing that with Windows, I would
appreciate any tips on how to set it up. VideoSoftware used to more
or less work in a VM, but I've never been able to get OpenGL to do
much more than open the window and display OSD messages.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7201 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 13:45:13 +00:00
Shawn Hoffman 1f5d54f5a6 Handle NaN in fselx. Fixes issue 4106.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7200 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 09:56:54 +00:00
smelenchuk 050dcad9f8 Build fixes when using SDL 1.3 related to force feedback support, as suggested in issue #1338.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7199 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 07:06:26 +00:00
Glenn Rice ad666d5e5c Save and load the line wrap option of the log window from ini.
Add Portuguese translation to the windows build.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7198 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 04:43:51 +00:00
Soren Jorvang c6c0137df4 Combine the two halves of video backend initialization
in Initialize() and Video_Prepare(). Video_Prepare()
then becomes the entry point for associating the current
thread with the rendering context, which is currently
only known to be necessary for OpenGL.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7195 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 01:23:56 +00:00
Soren Jorvang 198e29be07 Call Video_Prepare() before starting the CPU thread.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7194 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-18 23:52:14 +00:00
Glenn Rice 83dc3bf210 Make the log config dialog modeless. Eventually I will make this a dockable window.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7193 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-18 20:03:01 +00:00
Soren Jorvang a51b99795e Also delay video plugin shutdown for the main thread in the non-dual core case.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7192 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-18 14:27:30 +00:00
Glenn Rice c2bc463fe7 Move the log window options from the log window into a separate dialog openned from an item in the options menu. This gives the log window room to show logs.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7191 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-18 12:34:24 +00:00
Soren Jorvang 2183588030 Also don't shut down the video plugin until after HW::Shutdown.
Not sure if this is necessary, but it matches the previous behavior.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7190 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 19:33:50 +00:00
Soren Jorvang 2ce4b29ae2 Initialize video before HW as required by non-USE_WX platforms.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7189 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 19:13:44 +00:00
Soren Jorvang fa80f4074d OS X' IOBluetooth class requires that device discovery and device
connection establishment be done in the same thread, which caused
problems when the now persistent device connections could be
initiated by either opening the wiimote config dialog or starting
the emulation.

This same thread doesn't necessarily have to be the main (GUI)
thread, but it fits with the current other init case in the wiimote
config dialog and doing it in the main thread and would be required
if we should want to use the IOBluetoothUI framework in the future
for having the user input a pairing key for permanent syncing.

Also move a few other bits of code from the emu thread function
into Init() and Shutdown() so it only does those things that need
to be in that thread's context. I am not sure about video setup
so I have left that in EmuThread() for now.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7188 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 17:51:18 +00:00
smelenchuk fbcd2dbd5c Linux build fix in response to r7185.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7187 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 09:38:06 +00:00
skidau 855bcfa40c Added an option for input display. This option shows the controls read by the emulator at each frame. GameCube controls in all four ports have been implemented. Wii controls are todo. The option can be found in the graphics settings. This option is usually used for tool-assisted speed-runs (TAS).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7186 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 09:12:36 +00:00
Marcos Vitali c7ae0eb0d1 Big Fifo Commit Part2: Now the fifo is more stable than my first commit, so is time...
- ReImplementing Single Core Mode like Dual Core Mode Style.

- Stage 1: My goal is, we have the Fifo, CommandProccessor code the more clear, maintenible and documented possible. When I quit dolphin I want any developer can continue with the work only reading the code.
	
* Big Refactoring: A lot of functions was changed the names, and modularized.
Now the FifoLoop and CatchUpGPU does not exist, was replaced by RunGpu() and RunGpuLoop().
The general idea is modeling the code like the real HW. The fifo is only a buffer where the Write Gather Pipe write the commands and from the Graphic Processor read these.
* Big Clean UP a lot of obsolete code and comments was deleted, like DcFakeWachDog, "Fifo very soon hack", etc.

In the stage 2, I will refactoring more code doing emphasis in the division of CommandProcessor, Fifo, Gpu Emulation. Beside I will comment all functions and variables in the code (Don't worry I will ask for English help for this part ;) )

Please test a lot SC mode and DC mode :)
Thank you so much for testing always and the patience. I don't like broke your favorite game but... you must believe me this part is very sensible, I only try to contribute for have a better and stable dolphin emulator.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7185 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 04:25:21 +00:00
Soren Jorvang f46c5ce63d Oops, forgot the libwxpng case.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7184 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-16 13:42:57 +00:00
Soren Jorvang 38950e421b Clean up shared_foo handling.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7183 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-16 13:36:41 +00:00
NeoBrainX e9f3d50eca Fix nowx Debug build. Yes, people use that\!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7182 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-16 12:09:39 +00:00
Glenn Rice 160f3304d2 Added Czech translations thanks to Zbyněk. Updated Greek, French, Hungarian,
Portuguese, Turkish, and Chinese (Traditional) translations.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7181 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-16 03:06:17 +00:00
Glenn Rice 3a718f04ab Clean up the hotkey dialog by separating into tabs.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7180 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-16 02:19:40 +00:00
smelenchuk 0cc0618e6d GC input recording: Record the on/off state and the analogue state of the L/R triggers separately (gets rid of an arbitrary numeric constant of 230 which isn't elsewhere in the code and should solve some issues with Metroid Prime recordings).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7179 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 23:38:44 +00:00
Soren Jorvang d19c97dbe1 The pkg-config name of libpng is "libpng", not just "png".
Things break if both a shared and static libpng are linked
in, presumably because it has some global state. Several of
the gtk-ish libraries often, but not always, link in libpng
transitively, so it is important that we find it ourselves
first, even if it is not in the linker's search path.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7178 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 21:27:15 +00:00
Soren Jorvang 961ac54743 Disable use of exceptions in the wxWidgets3 build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7177 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 20:18:50 +00:00
smelenchuk d7bda211fd Have playback of input files stop upon reaching the frame count designated in the header, preventing that number from being tampered with and assisting in recording verifiability. Adjusted the "resume recording from end of playback" code to account for playback stopping in the middle of a movie as above.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7176 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 17:03:20 +00:00
skidau fb4c82fb48 Added the feature to allow creating a TAS movie from a save state. To activate this function, start the game and use the "Start recording" command. A save state will be created at that point in time and the emulator will start recording. This results in two files, a .dtm containing the movie and a .dtm.sav which is the save state.
Changes:
* Allow events to be scheduled when the emulator is not running.  This allows the save state event to be added before the emulator starts.
* Removed the Audio back-end init flag from the save state.  This value should not be saved as it is not data relevant to guest machine.
* Allow a recording to be started at any time (apart from when a recording is already being made).
* Updated the status bar and title bar when an on-screen message is shown
* Removed the saving of PEToken from the save state as the FIFO will save this information
* Added a couple Pixel Engine interrupt states to the save state
* Added the copyright notice to the GCPadStatus.h file.

This function is preliminary.  Let us know of any bugs you find or any UI quirks.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7175 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 09:07:55 +00:00
Glenn Rice cf21251802 Fix gfx dialog configuration text on the advanced page, and alphebetize the
configuration selections.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7174 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 05:29:21 +00:00
Soren Jorvang c212548f8e Initialize all struct members.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7173 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 21:58:53 +00:00
Soren Jorvang f00a909103 Allow building with Externals/wxWidgets3 on Linux and import
libpng so it can be maintained independently of wxWidgets.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7172 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 21:25:08 +00:00
smelenchuk ae4c8c81ac Fix fullscreen switch being triggered twice on hotkey. Should fix issue #4098.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7171 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 18:53:54 +00:00
Glenn Rice 0ae8d33149 Some work on changing comments, log messages, and variable and function names to reflect that the plugins are not plugins anymore.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7170 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 02:18:03 +00:00
smelenchuk cd308e2358 * If a hotkey is pressed within the render window, pass it over to the main window properly; this means that e.g. the frame advance hotkey works from the render window (and that savestates aren't hard-bound to Fx / Shift+Fx therein).
* Update menu accelerators for all hotkeys, not just the ones in the original hotkey dialogue.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7169 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 01:18:01 +00:00