Commit Graph

17317 Commits

Author SHA1 Message Date
comex a9fe0ec0ab Fix some false positive ScheduleEvent alerts:
- CEXIETHERNET::SendComplete is always called from the main thread, so
  drop the _Threadsafe.

- Mark the FIFO player thread as the "CPU thread" so it can call
  ScheduleEvent without complaints.  I haven't actually tested this,
  since I don't know how to use the FIFO player; it might break
  something.
2015-04-27 21:19:28 -04:00
Lioncash 899fd55ea8 DolphinWX: Make some general UI functions/vars private 2015-04-27 21:04:05 -04:00
Lioncash 263e64e939 DolphinWX: Make some debugger functions/vars private
Some classes expose things that aren't used outside of them (and in some cases, shouldn't be exposed).
2015-04-27 20:42:18 -04:00
skidau 4bf4778cd7 Merge pull request #2312 from comex/shutdown-race-condition
Exit ReadDataFromFifoOnCPU, PushFifoAuxBuffer early if shutting down (GpuRunningState=false)
2015-04-27 19:47:00 +10:00
skidau b8eecff5c9 Merge pull request #2325 from JosJuice/isoproperties-zero-files
ISOProperties: Correctly handle partitions with 0 files
2015-04-27 19:45:21 +10:00
skidau 472e281445 Merge pull request #2316 from comex/fix-watch
Fix watchpoints ("memory breakpoints") with JIT
2015-04-27 19:42:13 +10:00
Lioncash b457c61b3e Merge pull request #2328 from rohit-n/format
Silence -Wformat warnings in debug builds.
2015-04-26 16:19:08 -04:00
Lioncash 3af11ef309 Merge pull request #2327 from rohit-n/qt-critical
Qt: Check if game filename is null before loading it.
2015-04-26 16:18:20 -04:00
JosJuice d287fad01e Inherit settings from region-free INIs to region-specific INIs
Having settings for each game in more than one file is redundant.
Now, region-free INIs are now only for settings, and region-specific
INIs are only for AR codes and patches. Exceptions are made for
titles that share the first three characters of their IDs with
unrelated titles (mostly unlicensed titles and Triforce titles).
2015-04-26 21:24:34 +02:00
Rohit Nirmal fb46afd5c3 Silence -Wformat warnings in debug builds. 2015-04-26 13:45:06 -05:00
Rohit Nirmal 10aa6488d9 Qt: Check if game filename is null before loading.
This is so that the error message box does not
appear if the user simply cancels loading a game.
2015-04-26 11:13:16 -05:00
LPFaint99 c4ba7e51e5 GCI folder: flush 1 second after last block is written 2015-04-25 15:40:40 -07:00
Jeffrey Pfau af20e7498c Only wxMac supports scaleFactor, so only use it on OS X 2015-04-25 14:53:37 -07:00
Jeffrey Pfau 4a97045d81 Add hack for removing background from text controlers, per comex 2015-04-25 14:52:53 -07:00
JosJuice db1d81ebf8 ISOProperties: Don't block when opening default INI in text editor
The purpose of blocking is to reload user INIs after they
have been edited. However, ISOProperties never reloads
default INIs, because they aren't meant to be edited.
Blocking on default INIs is thus useless, and it's
rather annoying for games that have two default INIs,
because it makes it impossible to see both at once.
2015-04-25 22:15:48 +02:00
JosJuice fbed0b4a9c ISOProperties: Correctly handle partitions with 0 files 2015-04-25 15:33:20 +02:00
Jeffrey Pfau addbafcfda Attempt to beautify About dialog on OS X.
Added a 2x version of the logo, and cleaned up layout a bit.
2015-04-25 04:22:32 -07:00
Matthew Parlane 392b9abece Merge pull request #2016 from RisingFog/splash
Update About Dolphin Screen
2015-04-25 21:50:40 +12:00
magumagu 645aa5af8b Merge pull request #2323 from dolphin-emu/itym
ITYM PowerPC::Write_U{8,16}, not Memory::
2015-04-24 22:19:37 -07:00
comex 7fe13d9af8 Merge pull request #2175 from RachelBryk/oc
Disable oc setting while netplay or movie is active.
2015-04-25 00:58:16 -04:00
comex 9d8c347e8d Merge pull request #2290 from RachelBryk/cc-tasinput
Implement classic controller tas input.
2015-04-25 00:44:29 -04:00
comex 38a14b73a4 Merge pull request #2321 from JosJuice/wiimote-battery-fix
Fix emulated Wii Remote battery level being low when not configured
2015-04-24 22:43:05 -04:00
comex dea88ef5a1 ITYM PowerPC::Write_U{8,16}, not Memory::
PowerPC does exceptions and hardware and stuff, Memory doesn't.

I did not realize until a few minutes ago that there were two versions of these functions.  This is why namespaces suck.  Anyway, these were added by Mullin earlier this year.
2015-04-24 22:41:10 -04:00
comex 132e1068ce Remove checks that disable fastmem if debugging and ENABLE_MEM_CHECK are enabled.
They weren't sufficient and are made redundant by previous commits; they
also (on master) caused breakage due to Jit64::psq_stXX assuming writes
would be fastmem and not clobber a register under certain conditions.

That really needs to be refactored, but for now, this works.
2015-04-24 22:37:54 -04:00
comex 2264e7b087 Use a fake exception to exit early in case of memory breakpoints.
Change TMemCheck::Action to return whether to break rather than calling
PPCDebugInterface::BreakNow, as this simplified the implementation; then
remove said method, as that was its only caller.  One "interface" method
down, many to go...
2015-04-24 22:37:54 -04:00
comex dd7ab4812b On x86, disabling fastmem isn't enough actually.
Without fastmem, the JIT code still does an inline check for RAM
addresses.  With watchpoints we have to disable that too.  (Hardware
watchpoints would avoid all the slow, but be complicated to implement
and limited in number - I doubt most people debugging games care much if
they run slower.)

With this change and watchpoints enabled, Melee runs at no more than 40%
speed, despite running at full speed without them.  Oh well.  Better
works slowly than doesn't bloody work.

Incidentally, I'm getting an unrelated crash in
PowerPC::HostIsRAMAddress when shutting down a game.  This code sucks.
2015-04-24 22:37:54 -04:00
comex b84f6a55ab Automatically disable fastmem and enable memcheck when there are any watchpoints.
- Move JitState::memcheck to JitOptions because it's an option.
- Add JitOptions::fastmem; switch JIT code to checking that rather than
  bFastmem directly.
- Add JitBase::UpdateMemoryOptions(), which sets both two JIT options
  (replacing the duplicate lines in Jit64 and JitIL that set memcheck
  from bMMU).
  - (!) The ARM JITs both had some lines that checked js.memcheck
    despite it being uninitialized in their cases.  I've added
    UpdateMemoryOptions to both.  There is a chance this could make
    something slower compared to the old behavior if the uninitialized
    value happened to be nonzero... hdkr should check this.
- UpdateMemoryOptions forces jo.fastmem and jo.memcheck off and on,
  respectively, if there are any watchpoints set.
- Also call that function from ClearCache.
- Have MemChecks call ClearCache when the {first,last} watchpoint is
  {added,removed}.

Enabling jo.memcheck (bah, confusing names) is currently pointless
because hitting a watchpoint does not interrupt the basic block.  That
will change in the next commit.
2015-04-24 22:37:53 -04:00
comex 3499f2c2d0 To make up for it, make pressing enter on the value textbox set the value. 2015-04-24 22:19:21 -04:00
comex 0c18e5886d Remove mnemonics in MemoryWindow.
On OS X, this broke Cmd-V to paste in the text boxes.  Apparently wx
thinks having mnemonics (which are Alt-* on Windows) be Cmd-* on OS X,
even if this disables standard shortcuts, is a good idea.

Lioncash suggested just getting rid of the accelerators on non-menu
controls, so I'm doing that rather than disabling them only on OS X.
2015-04-24 22:06:03 -04:00
comex 37d00cceda Fix wx bullshit which made the watch view assert on my machine.
1) Apparently wxString::Format is type safe, and passing a u32 to it
with the format "%lu" crashes with a meaningless assertion failure.
Sure, it's the wrong type, but the error sure doesn't help...

2) "A MenuItem ID of Zero does not work under Mac".  Thanks for the
helpful assert message, no thanks for making your construct have random
platform-specific differences for no reason (it's not like menu item IDs
directly correspond to a part of Cocoa's menu API like they do on
Win32).
2015-04-24 22:04:46 -04:00
Lioncash 87bd57e0be Merge pull request #2322 from JosJuice/extract-file-fix
Fix extracting files from Wii discs
2015-04-24 16:32:23 -04:00
JosJuice 2e10a71dcd Fix extracting files from Wii discs
I broke it for individual files but not folders in 4.0-6016.
2015-04-24 22:08:15 +02:00
JosJuice fe9fdd3244 Fix emulated Wii Remote battery level being low when not configured
All the multiplying and dividing by 100 in controller configs is
messy... An attempted solution to the problem was to not multiply
default_value by 100 in ControllerEmu::ControlGroup::LoadConfig,
but that broke other things instead, so I went with this.
2015-04-24 19:36:08 +02:00
comex b3aaa46d42 Merge pull request #2088 from Sintendo/diecmp
Emit 'TEST reg, reg' for 'CMP reg, 0' automatically
2015-04-23 16:34:23 -04:00
Dwayne Slater ae83a1b821 Fix OpenGLES 3.0 on Qualcomm's crappy driver, it can't bitshift sometimes.
[fixed lint issues and grammar ~comex]
2015-04-23 16:33:12 -04:00
comex e4b5637c3a Merge pull request #2318 from Tilka/wx301
CMake: require wxWidgets 3.0.1 or newer
2015-04-23 15:35:30 -04:00
Tillmann Karras c4beec7070 CMake: require wxWidgets 3.0.1 or newer
Fixes issue 7206 on outdated systems (e.g. Ubuntu 14.04).
Note: Our version in Externals is somewhere between 3.0.0 and 3.0.1.
2015-04-23 17:50:13 +02:00
JosJuice 235ecfbed7 Return GetNames languages, to avoid hardcoded language lists in callers
This makes the code cleaner and also leads to some user-visible changes:

The wx game properties will no longer let the user
select WAD languages that don't have any names.

The Qt game list will now display names using the languages
set in the configuration instead of always using
English for PAL GC games and Japanese for WADs.

If a WAD doesn't have a name in the user's preferred language,
English is now selected as a fallback before Japanese.
2015-04-23 08:14:39 +02:00
comex 87a63713f4 Merge pull request #2317 from comex/oops
Fix code broken by merge
2015-04-23 02:08:28 -04:00
comex 74c30d1784 Fix code broken by merge 2015-04-23 02:07:45 -04:00
Lioncash a39985fe08 Merge pull request #2315 from lioncash/code
DolphinWX: Remove superfluous code in FrameTools
2015-04-23 02:05:14 -04:00
comex ad95454d04 Merge pull request #2223 from phire/imm
Cleanup OpArg, make immediates more explicit.
2015-04-23 01:53:18 -04:00
Lioncash 8fb36228e5 Merge pull request #2311 from JosJuice/fix-wad-crash
Fix WAD crash caused by VolumeHandler removal
2015-04-23 00:23:42 -04:00
Lioncash 819f4d994c DolphinWX: Remove superfluous code in FrameTools 2015-04-22 19:56:50 -04:00
Rachel Bryk 5047cf562a Implement classic controller tas input. 2015-04-22 16:19:13 -04:00
comex 5309ab1172 Merge pull request #2276 from jefflongo/patch-3
Add Global Brawl Netplay Settings
2015-04-22 15:05:16 -04:00
JosJuice 0b44d7c18a Fix Wii software crashing at boot if no disc is inserted
Boot_BS2Emu was trying to read from the inserted disc even when
nothing was inserted, and this happened to not crash (but not
work either) before VolumeHandler was removed. This commit adds
a check that restores the old behavior, so there is no longer a
crash, but the game ID still doesn't get set for WADs. I don't
know if/how it should be set, so this felt like the safest option.
2015-04-22 09:14:41 +02:00
comex 5d61b9d0a4 Merge pull request #2313 from lioncash/unused
GPFifo: Remove unused parameters from Write[x] functions
2015-04-22 00:39:38 -04:00
comex 31ea8d0834 Merge pull request #2310 from lioncash/fsmenu
FrameTools: Use AppendRadioItem for constructing the frameskip menu
2015-04-22 00:39:17 -04:00
Lioncash 56df9b7508 GPFifo: Remove unused parameters from Write[x] functions 2015-04-21 23:01:25 -04:00