Commit graph

210 commits

Author SHA1 Message Date
Jordan Woyak
423018f811 Replaced Common::CriticalSection with a std::mutex implementation. 64bit Windows builds now use SRWLocks and ConditionVariables(requires Vista/7, x64 builds will no longer work on Windows XP x64). Tell me if you hate that. Removed Common::EventEx. Common::Event now uses a std::condition_variable impl.(using ConditionVariables on Windows x64, Events on x86, or posix condition variables elsewhere). I experience slight speed improvements with these changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7294 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 06:11:26 +00:00
LPFaint99
708f6f7299 Replace install wii menu option tools to install wad
Add the option to clear a title from the NANDContentLoader and attempt to reload it
This allows the using the system menu immediately after installing rather than requiring a relaunch

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7290 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 05:07:44 +00:00
Soren Jorvang
05719ac81a Move SConscript files out from the Src subdirectories to be
consistent with the other build systems.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7282 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 19:44:56 +00:00
Soren Jorvang
540238cf79 Prepare for the release of Xcode 4, which has working LTO
with static libraries.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7280 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 04:35:03 +00:00
Glenn Rice
ba54fac9eb Convert GetUserPath to return a std::string instead of a const char *. This simplifies its usage in most cases.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28 20:40:15 +00:00
Soren Jorvang
c07fb95821 PS3 controllers have some input elements with very large value fields
that cause IOHIDValueGetIntegerValue() to smash the stack when trying
to convert them.

In practice, all relevant axes seem to also be available as either
8 or 16-bit values, so just ignore anything that doesn't look like
that (or a button).

Fixes issue 3931.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7255 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 00:15:26 +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
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
Soren Jorvang
6d70c14d12 In the SCons build, skip the generation of static libraries
and just operate on lists of object files instead.

This helps with LTO since LLVM/clang LTO is completely broken
by static libraries. It also helps identify symbol clashes
between components like the former plugins.

Many linkers also expect static libraries to form a strict DAG
which turns out be a difficult rule to uphold in practice,
especially since some of our platforms aren't picky about this.

LTO builds currently appears to crash at runtime because of
the static wx libs.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7056 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 00:46:56 +00:00
Soren Jorvang
435b25fa55 Fix the CMake build.
Prevent the PS3 HID crash until I can debug it.

AudioUnits are enabled by default.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7052 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-03 21:11:06 +00:00
Jordan Woyak
1de40588ac Eliminate some trampoline functions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7015 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 08:19:27 +00:00
Soren Jorvang
f41e5b3b85 Guard against controller instances without any inputs.
Clean up OS X keyboard key names.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6985 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 08:12:34 +00:00
Soren Jorvang
aa410c8eea Enumerate identically named input devices.
Fixes issue 3929.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6984 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 05:46:19 +00:00
Soren Jorvang
08b923a163 Fix OS X build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6951 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 21:27:49 +00:00
Jordan Woyak
2c05c49a04 Replaced Common::Thread with a partial implementation of std::thread. (rvalue references are used if available, <thread> is used if possible) Eliminates the need to use dynamic memory allocation for threads, so it's impossible to forget to delete a thread or set a pointer to NULL. Enables use of type-safe thread functions, no need to cast to and from void*. I've made sure the code compiles in vs08 and tested the functionality of "StdThread.h" on Linux so I'm hoping everything will work :p. In the future "StdThread.h" can be removed (maybe when OS X ships with gcc 4.4 and vs2015 is released :p).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6933 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 20:47:58 +00:00
Soren Jorvang
0288742565 Various minor fixes to allow building with clang on OS X.
Fixes issue 3992. 

wxWidgets patch at http://trac.wxwidgets.org/ticket/12332 .


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6929 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 05:01:00 +00:00
Soren Jorvang
4a7d3ee1c8 Deal with "hat" switches.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6863 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-16 17:00:17 +00:00
Soren Jorvang
2cb5a1aa56 HID reports can use negative numbers.
Use UTF-8 for input device names and profile filenames.
From8Bit->To8Bit is not transparent.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6857 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-15 21:16:13 +00:00
Soren Jorvang
f292f6d5a7 Accept arbitrary HID devices as gamepads instead of using SDL,
which has too narrow a view of what constitutes a joystick.

Now if only I could find my Apple IR Remote.. :-)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6844 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-14 05:06:08 +00:00
Glenn Rice
d0de395a46 Finally got the input common strings figured out. That pretty much finishes translations.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6843 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-14 03:05:02 +00:00
Glenn Rice
c1c1f54c59 Implement free look on linux. Patch due to artart78.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6638 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-21 23:58:25 +00:00
Glenn Rice
4f81997c14 Fix the no gui cmake build.
Add a version check for avcodec and swscale libraries.
Fix a bug in the xlib wiimote emulation button configuration.  If you are using a mouse button for wiimote emulation you may need to adjust your settings.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6426 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-16 04:34:52 +00:00
Soren Jorvang
b2e1ea3279 UDPWiimote.cpp and UDPWrapper.cpp are now used again.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6408 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-14 14:02:16 +00:00
j4ck.fr0st
01ac354e97 Move UDPConfigDiag into Dolphin, to allow building of UDP Wiimote again.
Please test this, I don't have any phones or whatever capable of communicating with it.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6405 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-14 13:30:57 +00:00
Soren Jorvang
02edf66b49 Simplify OpenCL compile-time detection on OS X.
Turn wiiuse io_osx.m into Objective-C++.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6398 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-13 20:02:01 +00:00
Jordan Woyak
7b45ac6e01 Made it easer to use mouse/keyboard and a gamepad together on the same emulated wiimote. Renamed mouse buttons from "Button N" to "Click N" so they do not conflict with gamepad buttons.(hopefully not too ugly, mouse buttons will need to be reconfigured) (Fixes issue 3363)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6289 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-19 23:11:22 +00:00
Soren Jorvang
e81a10fb44 Temporarily re-enable SDL pad input on OS X.
Placeholder SConscript for VideoMerge plugin.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6272 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-12 22:26:30 +00:00
Jordan Woyak
7e08fc19fc Moved WiimoteNew into Dolphin and eliminated the old wiimote plugin. Removed wiimote plugin support. Moved input dialog related InputUICommon stuff into DolphinWX. Removed now unused InputCommon files. UDPWiimote stuff is temporarily disabled until it is reorganized so Core won't depend on wx. Real wiimotes are now initialized on first need(wiimote diag open or game start) and left initialized until Dolphin exit.(maybe this will work better for Linux/OS X) (scons probably needs some fixes)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6270 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-12 19:42:29 +00:00
Jordan Woyak
de3ad37299 WiimoteNew: Made emulated wiimote return read error when motion plus register area is read.(Fixes "Sonic the Hedgehog 4" input, perhaps others) GCPad/WiimoteNew: Made DirectInput use the Dolphin window hwnd for SetCoopLevel instead of GetForegroundWindow.(attempt to fix issue where gamepads sometimes don't work until "Refresh" is pressed)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6269 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-11 22:19:47 +00:00
Jordan Woyak
cf5639af54 GCPad/WiimoteNew: Reordered some stuff in DirectInput device enumeration.(makes certain gamepads work now, hopfully doesn't break other pads) (Thanks to YoD for helping debug) Also fixed something ridiculous in the input config dialog. :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6264 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-09 07:24:33 +00:00
Jordan Woyak
bfd04e380e WiimoteNew: Added button mappings for tables and crossfade slider on emulated turntable extension.(completely untested in game)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6260 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-05 21:43:51 +00:00
Jordan Woyak
aae0fa7909 InputCommon(GCPad/WiimoteNew): Fixed issue when inifile didn't exist, defaults were loaded, and input didn't work. Fixed prob in DirectInput(hopefully doesn't break any other gamepads): buffered data wasn't ever being used. WiimoteNew: Hopefully made emulated swinging better(please comment). Added (completely untested) incomplete emulated turntable(DJ Hero) extension support :p. Deleted some files that I meant to delete in my last commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6250 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-03 04:29:34 +00:00
Jordan Woyak
eda652b7a0 New Wiimote Plugin: Fix Emulated Wiimote Problem.(fixes issue 3230) Made the "Connected to X Wiimotes" text update on all tabs when clicking "Refresh"/"Pair Up". Some other cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6216 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-18 16:43:43 +00:00
Jordan Woyak
19a50b3c51 New Wiimote Plugin: Added a real wiimote "Pair Up" button on Windows for the Microsoft bluetooth stack, like the old plugin. The PairUp function was copied from the old plugin and cleaned up. (Mostly untested because I'm not using the MS stack) Please test. Other minor changes to emu-wiimote and DInput. (Perhaps the "Refresh" button should call PairUp() followed by Refresh() to make the dialog simpler.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6213 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 22:50:18 +00:00
Jordan Woyak
2cddf48cde ControllerInterface: DirectInput: Added support for Ramp and various Periodic force types. Only Constant forces were supported prior. (only partially tested due to lack of hardware) This may improve performance for those experiencing emulated wiimote slowdowns when using DInput rumble.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6212 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-16 05:09:29 +00:00
Jordan Woyak
7afd393acb GCPad/Wiimote New (ControllerInterface): Some tweaks to the DirectInput code. (fix for a random gamepad which didn't work)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6159 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 00:03:25 +00:00
Jordan Woyak
4e81cb4012 GCPad/Wiimote New: (OS X Config Dialog) Temporarily fix a crash when selecting an item in the device list (a current bug in wxWidgets with wxTE_PROCESS_ENTER). (Windows DirectInput) Hopefully made axis enumeration and the fall back to polled data(for drivers which don't support buffered data) simpler and more foolproof (a few users were having issues with a few specific gamepads).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6143 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 03:45:56 +00:00
dapetcu21
b7ecd01686 9/10-bit accelerometer data interleaved with buttons
some useless IR pointer math... It still doesn't make rotation work
a sign fix when tilting along y axis (twisting the wiimote)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6121 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-24 08:48:09 +00:00
Jordan Woyak
5be58c6772 Gecko codes: Added parenthesis where they were needed.(thanks to glennrics and soren) Fixed a copy paste error with write & fill 8bit codes. Also forgot to remove a return false;.(some more codes should work (fixed issue 2968)) New Wiimote Plugin: Added emulated swinging.(seems to work) Changed the emulated calibration data to some nice values. ControllerInterface: moved and constified some stuff.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5980 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-26 05:30:50 +00:00
Soren Jorvang
669de4890a abs() works on ints, not floats. Use fabsf() to avoid the double conversions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5956 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-23 23:48:04 +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
Soren Jorvang
83883cee45 Port to *BSD. It runs but isn't terribly useful without Cg.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5934 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-22 03:29:35 +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
dapetcu21
8c57ef548e Fixed windows build...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5918 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-19 13:00:40 +00:00
dapetcu21
9074df896a UDPWii: Broadcasting it's presence on IPv4 to 255.255.255.255 once every 1.5 seconds. 3-arg Set()-s only worked on strings and doubles :P . Added int and bool variants.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5916 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-19 10:36:30 +00:00
NeoBrainX
da4c3a5f29 Committing some cleanups by avindra:
- fix numerous warnings
- make some variables unsigned
- remove redundant code and header inclusions
- make code more compact in lots of cases

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

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5903 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 10:11:34 +00:00
Soren Jorvang
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
Jordan Woyak
deffc95794 New Wiimote Plugin: Moved Linux cursor position code into ControllerInterface/Xlib. (absolute cursor position can be mapped to something other than IR camera) (code fixed by Glennrics) Put the UDP Wiimote dialog's Update Buttons,Update IR,Update Nunchuk... checkboxes in an "Update" group box. Fixed some Linux config dialog problems. (thanks Glennrics again) Some other minor cleanup in ControllerInterface. (changed some std::string/stringstream to char[] where possible) Removed a warning in DX11 plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5880 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 03:43:11 +00:00
dapetcu21
f438532879 Added back the 3rd argument on the Set() calls
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5879 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-14 20:20:25 +00:00