Commit Graph

86 Commits

Author SHA1 Message Date
adrian17
0a086915f5 We don't need to reset the counter as it's already done in Reset() 2013-10-23 19:05:08 +02:00
Sacha
fafe4fc4f2 Fix multi-threading crashes on shutdown with Linux and Blackberry. Fixes issue #3133 -- thanks @unknown 2013-10-17 17:39:04 +10:00
The Dax
845a25e897 Whoops. Forgot to push this. 2013-10-15 03:41:11 -04:00
The Dax
b549a4e6e5 Assume g_Config.memCardDirectory will have a trailing slash. Make InitSysDirectories for Win32 only. 2013-10-15 03:41:10 -04:00
The Dax
6efd5b33f7 We don't really need DIRECTORY_FLASH0 or DIRECTORY_MEMSTICK. 2013-10-15 03:41:10 -04:00
The Dax
c7bdeb3084 Eliminate GetSysDirectories and instead provide a new function: GetSysDirectory.
On Win32, call InitSysDirectories before the emuthread starts just to be safe.
2013-10-15 03:41:10 -04:00
The Dax
22e7b64df3 Don't write files before creating the directory in the first place. 2013-10-14 17:28:27 -04:00
The Dax
45d6ab9d7b Support more than just UTF-8. 2013-10-14 02:46:05 -04:00
The Dax
702c355cb6 Use a C++ version. 2013-10-14 02:24:02 -04:00
The Dax
81e7f1204c Support unicode paths in installed.txt.
The only caveat is it has to be saved as a UTF-8 file or it won't work properly.
Also, make some variables const since they're not changed.
2013-10-14 00:12:17 -04:00
The Dax
54de8739f1 Fix critical bug with GetSysDirectories. 2013-10-13 19:30:07 -04:00
The Dax
823b6ee465 Clean up GetSysDirectories. File::GetExeDirectory is much cleaner. 2013-10-13 19:01:53 -04:00
The Dax
85f6d6bf0e If the custom directory or the current directory is read-only, fall back on the Documents directory.
After that point(if Documents is somehow read-only), we'd be screwed anyway, so there's no need to bother checking it..
2013-10-13 18:22:04 -04:00
The Dax
d8a0adf50c If installed.txt has a path in it, use that instead of the detected Documents directory. 2013-10-13 17:43:01 -04:00
The Dax
b3018eb37f Allow Win32 to store its saves, config files, etc., elsewhere.
If installed.txt exists(or the executable directory is read-only), use the user's My Documents(XP) or Documents(7/8/8.1) directory to search for everything. If it doesn't, or we can't determine the directory for some reason, use the old behaviour.
2013-10-13 16:45:59 -04:00
Unknown W. Brackets
479a9801d4 Shutdown issues: the legend continues.
If the gpu was slow (softgpu for example), it might still be accessing
memory.  Need to let it wake, and ignoring coreState too.
2013-10-13 09:35:02 -07:00
Henrik Rydgård
cdba174ab7 Merge pull request #4148 from unknownbrackets/config-files
Allow config files and fonts to be on the memstick
2013-10-13 04:01:01 -07:00
Unknown W. Brackets
b54e557d19 Actually, let's not wait at all in Core_Stop().
It just triggers the action on the other thread.
2013-10-12 23:20:27 -07:00
Unknown W. Brackets
af2ccbb9da Rename flashDirectory to flash0Directory. 2013-10-12 16:08:39 -07:00
Unknown W. Brackets
a79b168acc Make sure the cpu thread ends on Core_Stop().
Sometimes it didn't, which was just a bit confusing.
2013-10-12 10:55:31 -07:00
Unknown W. Brackets
90c49befd4 Fix a possible race on shutdown. 2013-10-12 02:08:00 -07:00
Unknown W. Brackets
093255a895 Avoid an unlikely buffer overflow. 2013-10-05 11:13:40 -07:00
Unknown W. Brackets
086294b495 Listen for shutdown in thread loops.
This way we don't need to use wait_for(), much better.
Also because there are slightly more correct cond vars on win32.
2013-09-28 00:45:54 -07:00
Unknown W. Brackets
4b9056fa02 Shutdown cleanly even when GE debugger is paused. 2013-09-28 00:32:45 -07:00
Unknown W. Brackets
418d6c1e83 Reset the game when loading a state fails.
This way it doesn't crash.
2013-09-14 21:19:10 -07:00
Unknown W. Brackets
2ac5bcff1f Process savestates during single stepping.
This way we can handle them on the same thread, without weird delays.
2013-09-14 18:43:23 -07:00
Unknown W. Brackets
38e30e5a67 Fix bugs when memory size is 0x04C00000/etc.
Was experimenting with trying to match my non-phat's ram size.
2013-09-09 00:25:10 -07:00
Unknown W. Brackets
bbf714c361 Provide for GPU init failure, kill a warning. 2013-09-07 22:30:30 -07:00
Unknown W. Brackets
08b41df6a2 Change a few more log types. 2013-09-07 13:31:14 -07:00
Henrik Rydgard
55aa3d13c7 Win32: Switch to a UNICODE build. This took quite a bit of fixing. 2013-08-26 19:00:16 +02:00
Unknown W. Brackets
1ed8edb0d3 Avoid some dangerous hex constant widths. 2013-08-22 23:23:48 -07:00
Henrik Rydgård
a526b7ca7c Merge pull request #3300 from thedax/fixWin32Folders
Win32: Fix flash0/memstick folder locations.
2013-08-21 07:16:55 -07:00
The Dax
76f7ecbcac Remove some code that was screwing with Win32's ability to find its own flash0/memstick folders. WTF was that stuff anyway? :\ 2013-08-21 10:08:49 -04:00
Henrik Rydgard
87e51a5c04 Fix some window title issues, etc. 2013-08-20 17:21:25 +02:00
The Dax
75f03b4d8a NewUI: Don't init audio if sound is disabled. And remove some stray newlines. 2013-08-14 09:05:24 -04:00
The Dax
5b2483ee73 Fix a bug where sound would never be initialised if a game is started with it off, then later enabled. 2013-08-14 08:47:10 -04:00
Unknown W. Brackets
fe8850b34d Set the IO thread's name for debugging. 2013-08-11 12:22:01 -07:00
Unknown W. Brackets
169fbeaca6 As a safety, especially for win32, cap the wait. 2013-08-10 21:27:51 -07:00
Henrik Rydgård
85e17f03cc Merge pull request #3118 from unknownbrackets/io-async
Prep work for pspFileSystem and two small fixes
2013-08-10 14:32:59 -07:00
Unknown W. Brackets
00ae811446 Shutdown the filesystem after HLE. 2013-08-10 14:01:44 -07:00
Henrik Rydgard
d32e10ff0b Error handling improvements 2013-08-10 19:56:47 +02:00
Unknown W. Brackets
7e56dcf665 Ignore changes to SeparateCPUThread after startup. 2013-08-10 03:36:22 -07:00
Henrik Rydgard
c6956c299a Don't leak cpuThread objects 2013-08-10 11:39:53 +02:00
Unknown W. Brackets
1226c3dbd9 Try to prevent a deadlock if CPU doesn't NEXTFRAME. 2013-08-09 22:57:53 -07:00
Unknown W. Brackets
e71cf2ec7e Don't queue Flush() etc. while on GPU thread.
Oops, that makes it not actually flush properly of course.

Also made a simpler guard wrapper to avoid extra braces in too many
places.  Reduced contention areas slightly.
2013-08-09 22:57:52 -07:00
Unknown W. Brackets
e76f945c7e Use the native cond vars for the CPU thread. 2013-08-09 22:57:51 -07:00
Unknown W. Brackets
b0e6967697 Rename UseCPUThread to SeparateCPUThread. 2013-08-09 22:41:33 -07:00
Unknown W. Brackets
02e301e5fe Add a simple message event system to the GE.
With this, the CPU thread feature now mostly works.
2013-08-09 22:41:31 -07:00
Unknown W. Brackets
e7c7c5b3db Add a setting to launch a separate CPU thread. 2013-08-09 22:41:30 -07:00
Unknown W. Brackets
dc56ab9e83 Treat savestates specially, no longer using events.
This makes it easier to run them on the GPU thread anyway, which is best
if they reset GPU caches etc., and should remove any timing related
issues.
2013-08-07 00:32:29 -07:00