Commit Graph

7447 Commits

Author SHA1 Message Date
Rachel Bryk 1745bfdc45 Fix crash in gc games in netplay. 2013-09-23 11:07:15 -04:00
comex 299421a02a Don't call into wx in static initializers - crashes on Windows. 2013-09-23 02:58:04 -04:00
Rachel Bryk 0bdef3932f Automatically connect the appropriate wiimotes in netplay. Extensions must still be set manually. 2013-09-23 02:56:17 -04:00
Ryan Houdek 96a77f9feb [Android] Fix the ability to stop the game and start another. 2013-09-23 01:43:18 -05:00
Scott Mansell 440353a3a1 Remove all refrences of field ordering from video backends.
They were unused.
2013-09-23 18:29:31 +12:00
Scott Mansell 4d3c41c8a2 Fixed issues with feild ordering.
This commit fixes issues with PAL games which use the incorrect feild
ordering.
We move all code that deals with indivudal fields from the indivudal
video plugins and VideoCommon and make VideoInterface always pass in
the start address of the whole XFB into VideoCommon.
2013-09-23 16:31:27 +12:00
comex c8c83f7b8a Remove FifoQueue iterator and RemoveThreadsafeEvents.
No point making a whole iterator class for the sake of a function that
doesn't need to exist.
2013-09-22 23:14:42 -04:00
Rachel Bryk 0a093cf1b9 Why do compilers assume i don't know order of opperations? :( 2013-09-22 22:01:25 -04:00
comex e82c9e616d operator= is a function too! std::forward is still appropriate.
Fix the potentially unsafe use of std::move I added to FifoQueue.
2013-09-22 21:15:58 -04:00
degasus 573dbfd494 ogl: drop glsl120 support 2013-09-22 23:45:14 +02:00
Rachel Bryk 12e7c22006 Fix recording netplay with wiimote. 2013-09-22 17:32:11 -04:00
comex 80b14e80b5 Fix crash when a player leaves in NetPlay.
The player ID was being written as int and read as PlayerId (u8).
2013-09-22 16:12:16 -04:00
comex 229b35bb6d When hosting, don't try to connect if listening failed.
If another instance of the server is running on the same computer, this
would cause Dolphin to confusingly connect to it.
2013-09-22 16:11:47 -04:00
comex 17e753faf3 Fix FifoQueue's atomicity on ARM.
Theoretically.
2013-09-22 16:08:09 -04:00
comex c3b9f3556f Make CoreTiming's threadsafe events lock-free.
Not sure if this actually helps in practice, but might help in
pathological cases, and almost certainly can't hurt.
2013-09-22 16:08:01 -04:00
comex 7fe440340f Improve Atomic.h:
- For GCC, use intrinsics that will work on ARM.
- Add AtomicExchangeAcquire.
- Make Atomic{Load,LoadAcquire,Store,StoreRelease} work for any suitable type.
2013-09-22 16:07:45 -04:00
comex 6209067daa Fix stack misalignment fix. 2013-09-22 15:48:27 -04:00
Rachel Bryk 9a6f28fce4 Revert "Fix stack misalignment issues."
This reverts commit d334a9bc23.

This breaks single core.
2013-09-22 14:29:35 -04:00
Rachel Bryk f3469c16a5 Merge branch 'wiimote-netplay'
Conflicts:
	Source/Core/Core/Src/NetPlayClient.cpp
	Source/Core/Core/Src/NetPlayClient.h
	Source/Core/Core/Src/NetPlayProto.h
	Source/Core/Core/Src/NetPlayServer.cpp
	Source/Core/Core/Src/NetPlayServer.h
	Source/Core/DolphinWX/Src/NetWindow.cpp
	Source/Core/DolphinWX/Src/NetWindow.h
2013-09-22 14:27:52 -04:00
Rachel Bryk 75129dc3a7 Merge branch 'to-merge-after-4.0' 2013-09-22 10:58:24 -04:00
Pierre Bourdon 323ecdb772 Ship vcomp100.dll with Dolphin 2013-09-22 16:00:56 +02:00
Pierre Bourdon 1f95a294cd Add the new 'Clean' themes from MaJoR and default to Clean by changing the name of the config key (yes, hack) 2013-09-22 16:00:56 +02:00
Pierre Bourdon 196953c50a Use the new Dolphin icon 2013-09-22 16:00:39 +02:00
Scott Mansell 4758ef9a9e Merge commit 'fa8a4cdbb57e' 2013-09-22 15:25:10 +12:00
Pierre Bourdon 91c0e02609 Don't require running Dolphin in the directory that contain Languages/ on Windows 2013-09-21 21:17:47 +02:00
Glenn Rice d321aa7e7a Pull in translations from Transifex. 2013-09-21 11:24:33 -05:00
Scott Mansell 1fb373f439 Stop dolphin from loading help.png
It was never used, just wasting time and resources.
This patch simply deletes two lines of code.
2013-09-21 06:34:50 +02:00
Rachel Bryk d2c3222fcc Fix copying Sys/Wii to User/Wii on startup.
Fixes issue 6621.
2013-09-21 00:34:19 -04:00
comex d334a9bc23 Fix stack misalignment issues.
- Call ABI_AlignStack even on x86-64.

- Have ABI_AlignStack respect the difference in current alignment
  between the root JIT function, which has a prolog, and
  ProtectFunction thunks, which do not.  This was causing many games
  to crash on start on OS X.  Since this might otherwise mean changing
  the stack pointer before every call...

- Have one prolog/epilog function rather than two (one of which
  definitely did not do what it was thought to do), and make it
  actually work like a normal one, so that the stack frame shows up
  properly in the debugger.  There should be no performance impact.
2013-09-20 16:46:48 -04:00
LPFaint99 95aac4ff68 if a memcard is set to read only, fail more gracefully by reporting when writes to the file fail instead of saying that the file does not exist. 2013-09-20 12:08:58 -07:00
Lioncash 86d70cee15 Turns out CVTSD2SI in x64Emitter.cpp should actually use 64 bits instead of 32. Thanks for pointing that out hk.konpie. 2013-09-20 14:50:27 -04:00
Ryan Houdek 85f067780a [ARM] Reenable flush per instruction with FPR cache. Something is still very wrong. 2013-09-19 02:08:20 +00:00
Ryan Houdek 930f997f04 [ARM] Fix and optimize mtcrf. 2013-09-19 02:08:19 +00:00
Ryan Houdek 1b1b5d2100 [ARM] MicroOps in the branching instructions. 2013-09-19 02:08:19 +00:00
Ryan Houdek 5158aea4dc [ARM] Fix misuse of RBIT in crXXX, meant to use MVN. 2013-09-19 02:08:19 +00:00
Rachel Bryk dc73222bfc Remove suggestion to restart dolphin if a wiimote movie desyncs, since it's no longer necessary. 2013-09-18 21:51:37 -04:00
comex ae607ea1e9 Fix missing md5thread.detach() 2013-09-18 21:48:23 -04:00
Ryan Houdek 452fd84bbd [ANDROID] Fix ARM JIT. Is due to Android using softfp instead of hardfp. 2013-09-18 17:21:22 -05:00
Ryan Houdek 6fc2117503 [ARM] Enable VMOV to move from double VFP reg to two ARM registers. 2013-09-18 17:21:22 -05:00
Lioncash af951f467e [InputCommon] Fix a bug in ControllerInterface::UpdateOutput() in ControllerInterface.cpp. The variable ok_count was never incremented, which caused the function to always return false. 2013-09-18 10:09:32 -04:00
Lioncash d03fb11188 Fix an incorrect opcode for an SSE instruction in x64Emitter.cpp. CVTSD2SI should write 0x2D, not 0xF2.
Also format the NormalSSEOps enum.
2013-09-18 07:43:31 -04:00
Pierre Bourdon 86f6e8cc1e Better fix for issue 6614: ISOProperties should store integer settings for PHack booleans. INIFile is stupid, please kill it with fire. 2013-09-18 12:33:57 +02:00
Pierre Bourdon 7aa98a3830 Fix loading of the 'projection hack enabled' gameini setting
Fixes issue 6614.
2013-09-18 12:23:46 +02:00
Ryan Houdek 24a44ecfb8 [ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had. 2013-09-18 02:37:10 -05:00
Lioncash 197b317357 Fix indentation in function PSO_MakeSaveGameValid() in GCMemcard.cpp.
Also move the iterator variable for a for loop into the loop statement in function CARD_GetSerialNo()
2013-09-17 21:27:37 -04:00
Ryan Houdek 39a8645ffc [ARM] Fix the FPR cache to not have to dump registers after every instruction. Add mullwox instruction. 2013-09-17 22:08:23 +00:00
Ryan Houdek 06062d5744 [ARM] Fix VSQRT/VCMP/VCMPE/VCMPE0/VCMP0 emitters when using the high 16 double registers. 2013-09-17 22:08:23 +00:00
Pierre Bourdon ec9c395f4f Add WBFS to the file extensions supported by Dolphin on OSX 2013-09-17 16:50:44 +02:00
Pierre Bourdon e34d8aee1d Add * to the characters leading a verbatim line (used in Gecko codes comments) 2013-09-17 16:50:44 +02:00
Rachel Bryk 47ce3dd09d Really fix reading projection hacks from game inis. 2013-09-17 10:44:47 -04:00
Rachel Bryk e3d01de01d Fix reading projection hack from game inis in ISOProperties. 2013-09-17 10:40:12 -04:00
Rachel Bryk ec5cf60f5e Set L/R buttons in tas input, instead of just the analog triggers.
Fixes issue 6613.
2013-09-17 09:56:45 -04:00
Ryan Houdek 302e9c891b [ARM] crand/crandc/creqv/crnand/crnor/cror/crorc/crxor/mcrf/mfcr/mtcrf/mtsr/mcrxr/mfsr implementations. 2013-09-17 11:00:16 +00:00
Ryan Houdek dcf74ef2b3 [ARM] Renables load instructions with update. 2013-09-17 11:00:15 +00:00
Lioncash 38c7d38800 Fix two wrong opcodes in the x64Emitter. PEXTRW and PINSRW were actually writing PCMPGTB opcodes. Thanks for the help Sintendo. 2013-09-16 15:59:31 -04:00
Ryan Houdek 1529bb48c8 [ARM] Flush the fpr cache between every instruction. Do this until I figure out what is destroying the FPR register states. 2013-09-16 15:44:41 +00:00
Ryan Houdek 9b9526fba2 [ARM] Add dcbt/dcbtst/dcba noops. 2013-09-16 15:13:37 +00:00
degasus 75f2738f5c VideoCommon: fix ogl lighting bug which happens because of NaN emulation
attn is sometimes very big (eg 1e27), so attn*attn doesn't fit into a float.
So the funny part here is: 0.0 * (1e27*1e27) = 0.0 * Inf = NaN

As the shader compiler is allowed to change the order of multiplications,
this issue isn't fixed completely.
2013-09-16 17:10:19 +02:00
Ryan Houdek 98fb4c146e [ARM] ps_sel implementation. 2013-09-16 14:05:50 +00:00
Ryan Houdek cba2dd01bc [ARM] Remove extraneous BKPT from ps_rsqrte. 2013-09-16 13:39:02 +00:00
Ryan Houdek a0a0c526ae [ARM] ps_rsqrte implementation. 2013-09-16 12:59:34 +00:00
Ryan Houdek 7d410ec95c [ARM] VRSQRTE NEON emitter. 2013-09-16 12:58:20 +00:00
Ryan Houdek 5a9cb84ae2 [ARM] ps_nmadd/ps_nmsub implementations. 2013-09-16 12:03:08 +00:00
Ryan Houdek b7f47bc2e1 [ARM] rlwnmx implementation. 2013-09-16 11:53:22 +00:00
Ryan Houdek 43f2313ef9 [ARM] Implement ps_msub. Minor optimizations. 2013-09-16 11:53:21 +00:00
Ryan Houdek 0bcc20ca5b [ARM] fcmpo/fcmpu implementations. 2013-09-16 08:57:51 +00:00
Ryan Houdek c56ecce840 [ARM] fctiwzx implementation. This isn't implemented in JIT64 and it is unstandeable why it isn't. 2013-09-16 07:49:16 +00:00
Ryan Houdek beb41a8f56 [ARM] Add NEON VORR and fix encoding on NEON VEOR. Remove VMRS_APSR because it is the same as VMRS(PC) 2013-09-16 07:49:16 +00:00
Pierre Bourdon f0fc611f15 Add a hacky check for text file size in ReadFileToString. Fixes issue 6455. 2013-09-16 06:57:44 +02:00
LPFaint99 a7e1fb81b1 Merge branch 'wad_gamenames' 2013-09-15 21:38:31 -07:00
Pierre Bourdon 037199c326 Look for portable.txt in the exe directory and activate portable mode if it exists 2013-09-16 05:46:07 +02:00
Pierre Bourdon 2c350a5e6b Fix INIFile ignoring the last line of files 2013-09-16 05:28:14 +02:00
Rachel Bryk b4c082f1b3 No, i don't check what i committed before pushing to master, one week before a release.
Fixes a mistake from  550c855ae6.
2013-09-14 22:58:32 -04:00
Rachel Bryk 550c855ae6 Create blank ini file before editing it, if it doesn't already exists. This prevents the editor from prompting to create it. 2013-09-14 20:30:42 -04:00
LPFaint99 5d202ae9ea proper fix for issue 6206 2013-09-14 15:09:58 -07:00
Pierre Bourdon 24e9aedc14 Merge branch 'global-user-directory'
Please read https://wiki.dolphin-emu.org/index.php?title=Controlling_the_Global_User_Directory
for documentation about this feature.

Thanks to neobrain and RachelB for their work on this change, and thanks to
everyone who helped test it.
2013-09-14 19:24:27 +02:00
Pierre Bourdon 4ef5624f1f Change the name of INI options for memcard paths and NAND path to make migrating User directory from non-global to global easier 2013-09-14 17:46:41 +02:00
Pierre Bourdon 501eafb407 Overlay local gameinis over global gameinis instead of copying.
Huge megacommit because a lot of things needed to be modified to make this
possible.
2013-09-14 17:46:41 +02:00
Ryan Houdek e56071f2be [ARM] slwx/srwx/srawx implementations. 2013-09-14 09:07:34 +00:00
Ryan Houdek 81d7986202 [ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter. 2013-09-14 09:06:49 +00:00
Ryan Houdek 53498dafeb [ARM] fmaddsx and fmaddx implementations. 2013-09-14 05:52:09 +00:00
Ryan Houdek be4277e8a1 [ARM] stmw implementation. 2013-09-14 05:16:18 +00:00
Ryan Houdek c211d06ad2 [ARM] stfd and stfdu implementations. 2013-09-14 05:09:46 +00:00
Ryan Houdek 6fe86f1fd1 [ARM] cntlzwx implementation. 2013-09-14 04:29:37 +00:00
Ryan Houdek ef2ea31eac [ARM] ps_madds0 and ps_madds1 implementations. 2013-09-14 04:12:57 +00:00
Pierre Bourdon cf4c39d2be IniFile: Support extending the list of loaded keys and sections with data from other ini files.
Changes a lot of parsing code which previously was not aware of the notion of
key/value, and operated only with raw lines. Now key/value is the default and
lines are handled as raw only if they do not contain =, or they start with $ or
+ (for Gecko/AR compatibility).
2013-09-14 06:08:31 +02:00
NeoBrainX d1e96c7282 Display warning OSD messages when a game ini is overriding any settings. 2013-09-14 06:08:31 +02:00
Pierre Bourdon aa202c2e21 Move global gameinis from User to Sys. Get rid of SHARED_USER. 2013-09-14 06:08:30 +02:00
Pierre Bourdon 86e765f3eb Move Themes/ from User to Sys. Only Gameinis remain. 2013-09-14 06:08:30 +02:00
Pierre Bourdon 91a758b342 Move TextureDecoder.cl from User to Sys 2013-09-14 06:08:30 +02:00
Pierre Bourdon c3eec379df Move global User/Wii to Sys/Wii 2013-09-14 06:08:30 +02:00
Pierre Bourdon e7213ca4b1 Overlay the user Shaders/ over the shared one to avoid copying files 2013-09-14 06:08:30 +02:00
Pierre Bourdon 6bdb6585d6 Overlay the user Maps/ over the shared one to avoid copying files 2013-09-14 06:08:29 +02:00
Pierre Bourdon b587af3ea3 Change the initial user directory creation to stop special casing Windows 2013-09-14 06:08:29 +02:00
Rachel Bryk dfcef6890e Use global user directory on windows.
Can override by setting HKCU\Software\Dolphin-emu\LocalUserConfig to true.
2013-09-14 06:08:29 +02:00
Ryan Houdek 4512813cf9 [ARM] lfdu and stfsu implementations. 2013-09-14 04:00:40 +00:00
Ryan Houdek 0ae8fa964d [ARM] lfsu implementation. 2013-09-14 03:51:32 +00:00
Ryan Houdek aaf8e92f78 [ARM] Fixes srawix implementation. 2013-09-14 03:00:33 +00:00
Jasper St. Pierre f830b85d10 NetPlayServer: Drop all the pads for a client when she disconnects
This makes intuitive sense, and prevents issues with users stealing
up all the pads and requiring admin intervention to participate.
2013-09-13 21:33:11 -04:00
comex 0040e66282 Merge branch 'geckoos-fix'
Fixes issue 6551.
2013-09-13 18:18:51 -04:00