Commit Graph

3647 Commits

Author SHA1 Message Date
Gregory Hainaut c687c73edd pcsx2:debugger: avoid strlen call on random data 2015-09-10 13:46:36 +02:00
Gregory Hainaut 0bcaff4214 pcsx2:cdvd/debug: various uninitialized data
Most of the time, code is correct. In doubt always init the value.
2015-09-10 13:45:42 +02:00
Gregory Hainaut 5e8f899620 pcsx2:debug: miss a break that lead to a mem leak 2015-09-10 13:42:23 +02:00
Gregory Hainaut 5c933a7faf pcsx2:gzip: free the index
Normally index will be NULL if len is 0 but it won't hurt
2015-09-10 13:41:22 +02:00
Jonathan Li d8a7bfd438 gui: Adjust mainframe size and status bar position
There are a few odd things with Windows and the background logo.
1. The windows containing the logo is smaller than the logo.
2. The fitting algorithm doesn't work at 200% DPI.

Both make no sense, but can apparently be worked around.
2015-09-08 18:47:45 +01:00
Jonathan Li bcc125ceb6 gui:windows: Implement image DPI scaling
This should reproduce the old non-DPI aware pre-wxWidgets 3.0 behaviour
for the main dialogs, except the font rendering should be better.

And add comments that I should have already added but didn't.
2015-09-08 18:47:44 +01:00
Jonathan Li 59ffed85ba gui: Fix image list scaling
The listbook images aren't rescaled unless the embedded icons are used.
Make sure all the images are correctly rescaled.
2015-09-08 18:27:48 +01:00
Jonathan Li 5cf94e5a15 gui: Allow screenshot icon to be themed.
The logo and all the other icons can apparently be themed (though
theming is a bit broken). Let's allow the camera screenshot to be
themed as well.
2015-09-08 18:27:48 +01:00
Jonathan Li 2263961d4d gui: Simplify and rework EmbeddedImage class
The wxImage Scale/Rescale methods with wxIMAGE_QUALITY_HIGH upsamples
and downsamples using the bicubic and box resampling methods
respectively, so let's just use that instead of the ResampleBox method,
which is undocumentated and probably shouldn't be used.

The Rescale function also modified the image when it was not supposed
to. Fix it, and rename it scale to avoid confusion with the wxWidgets
class.
2015-09-08 18:27:48 +01:00
Jonathan Li 9d4a8688c1 Merge pull request #801 from turtleli/windows-left-list-icons
Have listbook icons (Emulation Settings, Plugin BIOS selector) on the left for all platforms.
Don't set minimum widths for Framelimiter and Frameskip panels.
2015-09-07 08:46:49 +01:00
Jonathan Li 1d2d8cd38b gui: Don't set min widths for Framelimiter/skip panels
It causes weird behaviour at higher DPIs.
2015-09-07 08:26:20 +01:00
Jonathan Li 5e9ba64db8 gui: Have listbook icons on left for all platforms
On Windows, this fixes the minimise/restore weird dialog bug on the
Emulation Settings and Plugin/BIOS selector dialogs. It also fixes a bug
at high DPI, where it becomes difficult to click on GUI elements at the
top of the dialog.

It also makes it easier for me to work on the Windows DPI stuff, I don't
have a 4k monitor.
2015-09-07 08:25:56 +01:00
Jonathan Li ca0aeb8e62 Windows: Avoid lockup for RuntimeError exception
This is the same problem that the Plugin Open and BIOS load exceptions
had - The message box pops up, intercepts the hide event for GSFrame and
leaves you with no alternative but to terminate PCSX2 via the Task
Manager.

The same solution applies - Close the GSFrame first.
2015-09-06 20:36:19 +01:00
Jonathan Li d87b34ab36 gui: Increase presets message width
This prevents clipping at 200% DPI on Windows.
2015-09-05 23:10:15 +01:00
Jonathan Li 31a505768d gui: Use SetSizerAndFit after dialogs are constructed.
It seems to fix the button UI problem for Linux wx3.0 builds.
2015-09-04 17:58:25 +01:00
Jonathan Li 2b6d44a043 gui: Fix Emulation Settings dialog, GS section
Expand "Disable Framelimiting" and "Synchronised MTGS". Fixes message
truncation on Linux, and Windows at higher DPI.

Don't use pxFitDigits on Spin Controls - the sizing algorithm fails
horribly on GTK3, which means you can't see anything.

And don't use a row of spacers - it causes a minor display issue with
GTK3.
2015-09-03 17:22:12 +01:00
Jonathan Li 288931ddc3 Merge pull request #781 from ssakash/patch-49
Fix Windows Lilypad local volume control GUI checkbox.
Make MicroVU E-bit delay slot warning a Dev warning.
Don't minimise GS Window if main window is minimised.
2015-09-02 21:51:04 +01:00
Akash b5aceceef2 don't minimize GS window along with main window.
previously the GS window (rendering window) also gets minimized with the Main window (GUI) whenever it gets minimized. many users didn't like this behavior, hence make it so that GS window doesn't get minimized along with the main one.

The parent window pointer parameter is no longer needed, since the parent parameter at WX Frame has been replaced with Null which doesn't force minimize it due to no parent relationship.
2015-09-02 08:27:18 +05:30
Akash 8ebe03a89d MicroVU: use DevCon.Warning for E-bit delay slot.
The following E-bit delay slot warning initially used a console error message which has a sort of bright red which would cause users to provide a lot of attention towards to it, whereas it isn't much to be bothered since it doesn't cause any issues on the game according to refraction it was already dealt with on the code.

So, use a proper warning indicator instead of a error log message.
2015-09-02 08:27:15 +05:30
Jonathan Li 9929962d54 gui:windows: Scale settings dialog widths with DPI
Height is calculated automatically, so that's sort of ok. A lot more
fixes will be needed to fix the rest of the DPI stuff.
2015-09-01 18:25:19 +01:00
Jonathan Li 149b7fc347 gui: Fix Windows screenshot workaround comment.
It's an actual wx3.0 bug, not a bug in dialog construction.
2015-09-01 18:14:03 +01:00
Miguel A. Colón Vélez 4a743ac2fb Remove Dependency and UAC info from the manifest file.
Visual Studio adds the dependency info automatically and /MANIFESTUAC
adds the UAC part.
2015-08-31 21:03:53 -04:00
Miguel A. Colón Vélez 45fc9603e3 Recognize Win 8, 8.1 and 10.
https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx
Windows 8.1 and 10 require a manifest file or they will be reported as
6.2 which is Windows 8.
.
Also add the information for Win 8, 8.1 and 10 in the WinMisc.cpp file.
2015-08-25 21:30:27 -04:00
Miguel A. Colón Vélez c97c4f878a Update pthreads project.
- Add x64
- Use static library
2015-08-25 09:53:00 -04:00
Jonathan Li 6b11497cdc Don't log errors when initially setting the default language
The PCSX2 log system isn't in place yet, so on Windows it's possible for
a language error message to pop up, which might cause alarm. Suppress
the error - it's harmless and it's done everywhere else for locales
(though perhaps the code should be reworked to avoid this).
2015-08-24 19:17:59 +01:00
Jonathan Li 995a09a2a6 gui: Use full dialog width for Enable Speedhacks text
The "Enable Speedhacks" description on the Emulation Settings dialog
now uses the entire dialog width instead of word wrapping at the
half-way point.
2015-08-24 15:43:48 +01:00
Charlie 37cfdf6fe2 Request the use of the high-performance graphics card on systems where
multiple graphics processors are available (nVidia Optimus, AMD Hybrid
Graphics).
2015-08-24 12:35:08 +01:00
Jonathan Li 48745a3bc5 Ignore "Do not show dialog again" checkbox when cancelled
It's undesirable to not be able to reboot or change plugin if you
checked the checkbox and then pressed Cancel.
2015-08-23 23:35:13 +01:00
Jonathan Li 3f39741d0a Remove do not show checkboxes from swap/reset dialogs
It didn't make any sense to have them there.
2015-08-23 23:35:12 +01:00
refractionpcsx2 1800770c94 Merge pull request #789 from AdmiralCurtiss/memcard-filter-dont-load-root-files
FolderMemoryCard: Don't load files in the root dir when filtering.
2015-08-23 19:10:04 +01:00
Admiral H. Curtiss 5ffc6e0558 FolderMemoryCard: Don't load files in the root dir when filtering.
No official game stores files there. You can easily check this by putting any file in the root dir and loading the PS2 BIOS, which will show it as corrupted data with an unknown filesize.
2015-08-22 16:27:29 +02:00
Jonathan Li 55eebb5fd2 Fix cheats path and folder creation
For the install version on Linux, PCSX2 now searches for cheats in $HOME
instead of /usr. For the install version on Windows, PCSX2 now searches
for cheats in Documents/PCSX2 instead of the cheats directory where
PCSX2 is installed.

Also make a few small consistency changes.
2015-08-21 00:14:49 +01:00
Johannes Obermayr a0527fc53b Mkdir() doesn't allow const qualifier [-fpermissive]
Fixes: error: passing 'const wxFileName' as 'this' argument of 'bool wxFileName::Mkdir(int, int)' discards qualifiers [-fpermissive]
2015-08-20 22:35:20 +02:00
Jonathan Li 70990002d8 debugger: Fix Assemble Opcode functionality
For some reason it was working in wx2.8 with a GetLabel(). Strange that.
2015-08-19 19:17:20 +01:00
Miguel A. Colón Vélez 96df56ca8e VS2015: Fix Devel. 2015-08-19 13:31:56 -04:00
Miguel A. Colón Vélez a1de0614d7 Remove vs2012 files.
It does not support several things from C99/C++11 that are
used in the project.
2015-08-18 01:15:51 -04:00
Miguel A. Colón Vélez a1e56518a5 Rename inside the files. 2015-08-18 00:44:49 -04:00
Miguel A. Colón Vélez 277217353e Rename files. 2015-08-18 00:44:35 -04:00
Miguel A. Colón Vélez 1fe5aceded Enable round-tripping.
- Remove ToolsVersion
- Use $(DefaultPlatformToolset)_xp until XP support is dropped.
Note: opencl had no XP support and was not enabled in VS2012.
2015-08-18 00:44:19 -04:00
Admiral H. Curtiss b2831ac2fd FolderMemoryCard: Fix Linux compile error. 2015-08-17 23:10:29 +02:00
bositman f9e6a02346 Merge pull request #757 from AdmiralCurtiss/folder-memcard-keep-files-open
FolderMemcard: Keep open handles on files.
2015-08-17 11:38:38 +03:00
refractionpcsx2 9c7d4171e8 mVU: Tweak the flag hack again so it plays nice with Bloody Roar (and any other which started experiencing issues).
- Now makes sure the previous 4 calculations are taken.
2015-08-15 12:54:40 +01:00
Gregory Hainaut 52e12baca2 pcsx2: fix gcc warning: may be used uninitialized 2015-08-13 08:48:05 +02:00
refractionpcsx2 3415da216f Whoops, too many clamps 2015-08-12 22:33:35 +01:00
refractionpcsx2 6664936529 microVU/COP2: Add clamping to solve hangs on Superman - Shadow Of Apokolips 2015-08-12 22:31:05 +01:00
Gregory Hainaut 6046d6c417 Merge pull request #749 from PCSX2/gsdx-micro-optimization
Gsdx micro optimization
2015-08-12 08:54:36 +02:00
refractionpcsx2 68de5228a8 GIF Unit: Stop multiple fires of FINISH IRQ's
- Fixes Indiecar Series 2005.
- Savestate bump was required, sorry, not sorry :P
2015-08-12 02:16:23 +01:00
Admiral H. Curtiss 7a388c73c5 FolderMemoryCard: Correctly write the internal memory card file creation/modification timestamps to the host file system's file attributes. 2015-08-11 02:41:42 +02:00
Admiral H. Curtiss cb01523677 FolderMemoryCard: Fix the metadata writing problem that was introduced in 30eb292b48. 2015-08-11 02:11:41 +02:00
Admiral H. Curtiss 879d0c601f FolderMemoryCard: Keep handles to all accessed files while a memory card is open. This prevents users from modifying card contents while the emulator is running. 2015-08-11 02:11:39 +02:00
Admiral H. Curtiss 30eb292b48 FolderMemoryCard: Remove the Mode parameter for opening files, just always open in r+b so we can both read and write with the same handle.
This breaks metadata writes when a file is read before it's written.
2015-08-11 01:05:03 +02:00
bositman 1e4bc7dc18 Merge pull request #746 from willkuer/master
Replace background image by a compatible version that doesn't produce a warning message in png-lib
2015-08-10 12:05:20 +03:00
Jonathan Li 0a0008cf97 Rename Utilities/Math.h to Utilities/MathUtils.h
Math.h conflicts with <math.h> on Visual Studio and causes the utilities
project to fail. Rename it to MathUtils.h instead.
2015-08-09 22:41:18 +01:00
Miguel A. Colón Vélez 1cb47f3c80 Fix the messy revert.
Because someone had to do it.
2015-08-09 10:01:56 -04:00
nE0sIghT e1272dc2f9 Use global compiler optimization flags instead of defining them for every plugin/binary 2015-08-08 16:25:17 +03:00
Gregory Hainaut 8a4c0e9782 cmake: drop extra alignment on GSdx
It requires extensive tests
2015-08-08 09:18:09 +02:00
willkuer 26226e2094 replace background image by a compatible version that doesn't produce a warning message in png-lib 2015-08-07 17:57:55 +02:00
avih 68a89bbac8 Merge pull request #741 from turtleli/wx3-regression-fixes
wxWidgets 3.0 fixes
2015-08-05 16:04:12 -07:00
Jonathan Li cecdc64f51 Fix dialog screenshot function on Windows
wxWidgets 3.0 seems to have a different default device context alpha
channel handling on Windows, which makes the screenshot function
unusable.

As a incomplete fix, remove the alpha channel information from the final
image on Windows. Screenshots degrade slightly.
2015-08-05 22:59:00 +01:00
Jonathan Li c62cbbfa97 Make GS Frame Panel black
People prefer it that way and it's an easy enough fix.
2015-08-05 22:59:00 +01:00
Jonathan Li fb14f81f64 Show full descriptions for Speedhacks checkboxes
The "Other Hacks" and "microVU Hacks" checkbox descriptions are
truncated in both Windows and Linux. Use sizer flags so the descriptions
show up properly.
2015-08-05 22:59:00 +01:00
Jonathan Li 02077821d4 Simplify and fix EE and VU slider behaviour
The custom scroll event handler increments/decrements the slider value
by one when a click event is detected. It also propagates the event to
the wxWidgets3.0 built in slider scroll event handler, which repeats the
same action. This causes the slider to add/subtract 2 whenever it is
clicked on Windows.

Remove the custom function.
2015-08-05 22:59:00 +01:00
Avi Halachmi (:avih) d38d046f7a gui: EE and VU panels: restore defaults programatically
The code was restoring the defaults with hardcoded values. This patch
restores the values however they're defined as defaults for AppConfig.

The code still uses hardcode values to set the highlights (bold) of the
default radio button text - using SetDefaultItem.

Note that other than these two panels, the speedhacks panel is the only other
which has a restore-defaults button, and it already does so programatically.

It's probably not worth trying to unify these three restore-defaults button
into a single system.
2015-08-06 00:38:13 +03:00
Avi Halachmi (:avih) adf01ec668 gui: EE panel: fix restore-default to also restore EE-cache
The EE/VU config panels use hardcoded values to restore defaults, and
this patch does the same for the EE-cache checkbox.

This fixes GH #737
2015-08-06 00:38:13 +03:00
Miguel A. Colón Vélez 6462393aaf Introduce end-of-line normalization
Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com>
2015-08-04 23:52:48 +02:00
refractionpcsx2 0c86dd5763 Merge pull request #687 from AdmiralCurtiss/memcard-type-detection-fix
Auto-detect memory card types instead of trusting the config ini.
2015-07-31 09:56:31 +01:00
refractionpcsx2 a346ce7640 Vif: Assume weird numbers with interrupts in NOPs are okay in when transferring the DMA tag. Stops Tarzan hanging without killing Onimuisha Blade Warriors 2015-07-31 01:09:11 +01:00
Admiral H. Curtiss 1f6a1241f4 Remove memory card type from config ini.
No longer necessary with the auto-detect.
2015-07-31 01:12:46 +02:00
Admiral H. Curtiss 9efb8a341d MemoryCard: Auto-detect memory card type.
Should fix the issue discussed here:
http://forums.pcsx2.net/Thread-Memory-cards-not-showing
2015-07-31 01:06:31 +02:00
Gregory Hainaut 7aa36133de Merge pull request #657 from turtleli/wxwidgets3_switch
Windows: switch to wxWidgets 3.0
2015-07-29 14:16:02 +02:00
Miguel A. Colón Vélez 83a4b37bcf Add an option to disable the inclusion of the build date.
Debian has a goal to make reproducible builds therefore make it an
option instead of distro specific.
.
I added an "OR openSusE" to not "break" the old openSUSE behavior but ideally
they should just use -DDISABLE_BUILD_DATE=TRUE instead.
.
The old -DopenSUSE is not used for anything else so I removed it.
2015-07-27 14:00:47 -04:00
Jonathan Li 83076af25a windows: Fix detection of Ctrl and Shift key presses
Credit for this fix goes to @poodle111

Commit 760de9915b broke the detection of
Ctrl and Shift key presses since it misses the VK_CONTROL and VK_SHIFT
virtual keys.
2015-07-26 12:31:17 +01:00
Jonathan Li f5f3bc4e60 wxWidgets3.0: Always include correct manifest
If pcsx2 is compiled for 32-bits and then compiled for 64-bits without
cleaning the build files, the wrong wx3.0 manifest will be included. The
same will happen vice versa.

Place the generated rcdefs.h file in a platform specific directory so
the correct manifest will always be used.
2015-07-25 17:29:59 +01:00
Y.Salnikov 2ea1f03b79 Update russian locale 2015-07-23 23:53:24 +03:00
refractionpcsx2 539a1767a3 Merge pull request #359 from AdmiralCurtiss/memcard-folder-cache
Memory Card as folder support by AdmiralCurtiss
2015-07-20 23:15:59 +01:00
Admiral H. Curtiss d331d59a9f MemoryCard: When converting a file to a folder, simulate the conversion process once before writing the data. This prevents half-converted/corrupted cards by ensuring we crash before any actual writes occur. 2015-07-21 00:08:09 +02:00
Akash 69ce2a1de6 remove stored_renderswitch since, console message is no longer needed. 2015-07-18 10:50:48 +05:30
Akash 2deb0f3e46 remove F9 switch log statement since, renderer change log statement is already present. 2015-07-18 10:50:47 +05:30
Admiral H. Curtiss 39e1de4d13 MemoryCard: Add options to convert FolderMemoryCards to 16MB, 32MB, and 64MB FileMemoryCards. 2015-07-14 21:41:50 +02:00
Jonathan Li 837046218e windows: Don't log errors for PS2EsetEmuVersion
On wxWidgets3.0, using GetSymbol() on a nonexistent symbol causes error
messages to be logged. This causes all plugins except GSdx to output
error messages when an attempt to load the PS2EsetEmuVersion symbol fails.
Suppress the error message - it'll probably just cause unnecessary
confusion.
2015-07-13 21:19:13 +01:00
Jonathan Li db6a32ac33 windows: switch to wxWidgets 3.0
This replaces wxWidgets 2.8 with wxWidgets 3.0 plus all the necessary
include/referencing to get PCSX2 to compile.

VS2012 change is untested.
2015-07-13 21:19:12 +01:00
Admiral H. Curtiss 6bd578ccbe FolderMemoryCard: Reduce unnecessary file I/O by only flushing files that have actually changed since the last known memory card state on the host file system.
This means that we are now no longer touching files that haven't technically been written to. Some games use timestamp information to automatically highlight the save that was last written to, so this should fix a small but annoying bug where it would highlight the wrong one.

Do note that while there is a much simpler check that looks like this:
	// Remove (== don't flush) all memory card pages that haven't actually changed.
	for ( auto oldIt = m_oldDataCache.begin(); oldIt != m_oldDataCache.end(); ++oldIt ) {
		auto newIt = m_cache.find( oldIt->first );
		assert( newIt != m_cache.end() ); // if this isn't true something broke somewhere, the two maps should always contain the same pages
		if ( memcmp( &oldIt->second.raw[0], &newIt->second.raw[0], PageSize ) == 0 ) {
			m_cache.erase( newIt );
		}
	}
	m_oldDataCache.clear();
It can fail in edge cases that don't actually seem too unlikely. Imagine a save being deleted, and then a new save from the same game but in a different slot being created quickly afterwards. It seems quite possible that the new save's file data then occupies the exact same pages as the old save's, and since it's from the same game it might be close enough to where a page sized section (juse 0x200 bytes!) matches the data from the old save that previously resided in that location -- which would cause this code to throw away and not flush this data! It's a shame too, since this variant would be a few ms faster as well, but I feel it's better to be safe than sorry here.
2015-07-12 14:38:21 +02:00
Admiral H. Curtiss 03a6be28c0 FolderMemoryCard: Write the SuperBlock as part of Flush() instead of when the card is Close()d.
This mainly means that the superblock is now no longer written every single time the memory card is closed, but only when it's changed (which should be exactly once, when the memory card is formatted). It also means that you can format a memory card and then have the emulator crash later without having to reformat the card next time.
2015-07-12 14:38:20 +02:00
Admiral H. Curtiss 3a55360572 FolderMemoryCard: Fix a bug where the cache wouldn't be populated properly on first write to any given page.
I'm kinda surprised this didn't horribly break things, honestly. I guess it's because memory card data is always written in blocks, but still.
2015-07-12 14:38:20 +02:00
Admiral H. Curtiss 8e92d25b75 FolderMemoryCard: Add support for deleting of files/folders.
We're not actually deleting files though, we just rename them to prepend _pcsx2_deleted_, in case something breaks or whatever, so the user can in an emergency just restore the save by removing that part of the filename.
2015-07-12 14:38:19 +02:00
Admiral H. Curtiss 798ec3eb9c FolderMemoryCard: Some code cleanup. Use more named constants, mark methods as const where appropriate, and some other minor things. 2015-07-12 14:38:18 +02:00
Admiral H. Curtiss c0cc91fd0a FolderMemoryCard: Only add folders if all files and subfolders in it also fit into the remaining memory card space.
This avoids situations where, for example, it would only add the icon file but not the game data file because the memory card was near-full.
2015-07-12 14:38:18 +02:00
Admiral H. Curtiss c4570750ea FolderMemoryCard: Put the initialization of the file entry flushing logic into its own method. 2015-07-12 14:38:17 +02:00
Admiral H. Curtiss fbc8d30b67 FolderMemoryCard: Cleaned filenames should be used for directories, as well. 2015-07-12 14:38:16 +02:00
Admiral H. Curtiss 65058df3da Move the CopyDirectory() and RemoveDirectory() functions into FileUtils.cpp. 2015-07-12 14:38:16 +02:00
Admiral H. Curtiss 40e6a5c515 FolderMemoryCard: Don't assume that C limits are defined. 2015-07-12 14:38:15 +02:00
Admiral H. Curtiss a886f6e7e1 Fix some gcc warnings. 2015-07-12 14:38:15 +02:00
Admiral H. Curtiss eab49dbfa3 FolderMemoryCard: Reduce console logs. 2015-07-12 14:38:14 +02:00
Admiral H. Curtiss c651d28cc0 Clear memory card ejection timeout when a game boots.
This eliminates prompts at the start of a game complaining about no
memory card being inserted.
I'm honestly not entirely sure if this is safe (is there some memory
card driver that could cache results between different executables?) but
if it isn't we'll see it soon enough!
2015-07-12 14:38:14 +02:00
Admiral H. Curtiss e774011d71 FolderMemoryCard: Load the network configuration file regardless of filters. 2015-07-12 14:38:13 +02:00
Admiral H. Curtiss af3dfd39b0 FolderMemoryCard: Create directories recursively. 2015-07-12 14:38:13 +02:00
Admiral H. Curtiss 0976e124e8 FolderMemoryCard: More robust way of checking validity of a subdirectory.
Fixes this memory card:
http://forums.pcsx2.net/Thread-New-feature-Needs-testing-Automatically-managed-Folder-Memory-Card-Public-Test?pid=463506#pid463506
Presumably related to something LaunchElf writes into the memory card
file entries.
2015-07-12 14:38:12 +02:00
Admiral H. Curtiss 50ad3a8bf5 FolderMemoryCard: Clean PS2 filenames that would be illegal in Windows and write the actual names into the metadata files.
This fixes issues with game such as Rayman Revolution, http://forums.pcsx2.net/Thread-New-feature-Needs-testing-Automatically-managed-Folder-Memory-Card-Public-Test?pid=463482#pid463482
2015-07-12 14:38:12 +02:00
Admiral H. Curtiss 92c794f03b FolderMemoryCard: Fix bug that could cause crashes on memory cards that have leftover data from older saves in their file entry clusters. 2015-07-12 14:38:11 +02:00
Admiral H. Curtiss 385bdfb869 FolderMemoryCard: Further optimize file access times.
* Reduce the amount of times path strings are constructed.
* Move file metadata writing to the file helper, which means it will only be written once per consecutive file access instead of on every file chunk.
2015-07-12 14:38:10 +02:00
Admiral H. Curtiss 80feb1087c FolderMemoryCard: Add a helper structure to quickly access a file entry from a file data FAT cluster. Speeds up file access, especially when a lot of files are loaded in the virtual memory card. 2015-07-12 14:38:10 +02:00
Admiral H. Curtiss c3694c4ad1 FolderMemoryCard: Abort Flush operation when remnants of an incomplete save operation are found. 2015-07-12 14:38:08 +02:00
Admiral H. Curtiss 541a254c60 FolderMemoryCard: Clean up Flush logic. 2015-07-12 14:38:07 +02:00
Admiral H. Curtiss f731e3dc1b FolderMemoryCard: On reads and writes to actual data, check if the relevant data is actually in use according to the FAT.
This allows us to skip a bunch of accesses trying to find a matching file or memory location, presumably without actual consequences. This isn't really gonna change much in actual game use, but does speed up conversions of FileMemoryCards.
2015-07-12 14:38:07 +02:00
Admiral H. Curtiss 41c3eacb6f FolderMemoryCard: Move file existence check into the helper class, so that it gets called much less often.
This *drastically* increases performance, bizarrely enough.
2015-07-12 14:38:06 +02:00
Admiral H. Curtiss f73db1a572 FolderMemoryCard: Optimize file access by keeping a file open between consecutive reads/writes to the same file. 2015-07-12 14:38:05 +02:00
Admiral H. Curtiss 5f8391f9f1 FolderMemoryCard: Fix sneaky bug that could occur in directories with odd number of files.
It was possible for an invalid (because never written to, so filled with 0xFF) file entry to be recognized as valid in GetFileEntryPointer(), which cascaded up to it flushing file data as fileEntryDict data and thus losing the relevant file data page.

Not sure if the other two entry accesses changed here are affected as well but better be safe than sorry, I suppose.
2015-07-12 14:38:04 +02:00
Admiral H. Curtiss 7e194f1a26 MemoryCard: Add option to convert a memory card to another type in the Memory Card Manager. 2015-07-12 14:38:04 +02:00
Admiral H. Curtiss d19facfb43 FolderMemoryCard: Add abililty to (re)set simulated memory card size.
This will probably only be used to reset a converted card back to 8MB.
Actually using a card as over 8MB is completely untested.
2015-07-12 14:37:58 +02:00
Admiral H. Curtiss 8029412fb7 FolderMemoryCard: Some code cleanup. 2015-07-12 14:37:58 +02:00
Admiral H. Curtiss f40b679653 Add option to enable/disable the filtering of the FolderMemoryCard. 2015-07-12 14:37:56 +02:00
Admiral H. Curtiss 72dcb9b94c MemoryCardListPanel: Minor visual bugfix.
If you inserted a PSX memory card into a slot, then swapped that with a
PS2 one, the memory card manager still displayed that card as a PSX one
with "MBit" instead of "MiB" as the size unit. Fixed.
2015-07-12 14:37:56 +02:00
Admiral H. Curtiss f32f42678c FolderMemoryCard: Filter only system data by default.
This reduces memory card initialization time.
Without this, it always indexes all files when the emulator boots, which
can take a few seconds if you have lots of files.
With this, the only file indexed is the PS2 "your system configuration"
file.

This has the side-effect of not being able to see save files in the PS2
BIOS unless you insert a game disc matching the files you want to see. I
don't think this is a big problem, but there should probably be a "don't
filter" option somewhere in case you want to manage files in the BIOS.
2015-07-12 14:37:55 +02:00
Admiral H. Curtiss b4b55289d6 FolderMemoryCard: Remember filter so it can be reapplied when memory cards are changed while game is running. 2015-07-12 14:37:55 +02:00
Admiral H. Curtiss 98012f82aa MemoryCard: Add support to override the memory card filter string via GameIndex.dbf. 2015-07-12 14:37:53 +02:00
Admiral H. Curtiss 2ee1cb81dd FolderMemoryCard: Allow multiple save names in the save file filtering.
Split multiple save names to be filtered with a "/", ie the filter "A/B" matches both save folders that contain "A" and save folders that contain "B".
2015-07-12 14:37:52 +02:00
Admiral H. Curtiss 880be6f602 FolderMemoryCard: Only load data relevant to game. Please read commit description!
Essentially, I'm telling the memory card to re-index itself with a
filter based on the game's disc serial every time a new executable boots
in the emulator.

This currently works for a lot of games, but fails in edge cases where
the game disc's serial does not match the game serial that is written to
the memory card as part of the save file's directory name. This affects
mostly (only?) games that have multiple discs. We could circumvent this
by adding a "save game serial" or something into the GameDatabase which
tells us what we should filter by for those cases.

Apart from this edge case, this appears to work surprisingly well. Try
it and see if you can find other issues!
2015-07-12 14:37:51 +02:00
Admiral H. Curtiss 139e28988d FolderMemoryCard: Store nonstandard file and folder metadata. Fixes issues with Star Ocean 3 battle trophies, and probably some other games. 2015-07-12 14:37:50 +02:00
Admiral H. Curtiss f15c07653c MemoryCard: Add support for folder memcards in GUI and make both implementation function side-by-side. 2015-07-12 14:37:49 +02:00
Admiral H. Curtiss 1d46800888 MemoryCard: Full initial implementation of the FolderMemoryCard.
FileMemoryCard: Log reads and writes so I know what kind of commands I have to deal with.

FolderMemoryCard: Create basic class/method outline based on FileMemoryCard.

FolderMemoryCard: Add a FolderMemoryCardAggregator so I don't have to write every method in a way that has to handle more than one memory ca

Also shuffle around the location of code because C++ cares about stuff
needing to be defined before they're usable.

FolderMemoryCard: Implement Open().

FolderMemoryCard: Implement GetSizeInfo().

FolderMemoryCard: Implement some basic structure of Read()

FolderMemoryCard: Implement parts of Read() and Save().

Shouldn't it be Write() or Load()? Anyway, this doesn't work yet, but it
gets part of the formatting procedure done which is at least something!

FolderMemoryCard: Add method to calculate ECC.

FolderMemoryCard: Start implementing the FAT.

MemoryCard: More logging.

FolderMemoryCard: Formatting works now!

Formatted memory card isn't actually recognized as formatted yet because I don't store folder metadata yet, but we're getting there!

FolderMemoryCard: Recognize when it's trying to access a data cluster.

FolderMemoryCard: Add directory/file entry support.

On further inspection this might not a be a good way to handle erasing.

FolderMemoryCard: Method to get a file entry and file path from a file's data cluster.

FolderMemoryCard: wxDirName is garbage, let's just use wxFileName for the folder too...

FolderMemoryCard: Fix Erase method.

FolderMemoryCard: Start implementing file writes.

This is still quite broken but we're getting somewhere here!

FolderMemoryCard: Load the data from the host file system into the memory card on emulation start.

Also store superblock to host file system on end.

FolderMemoryCard: Fix a few warnings.

FolderMemoryCard: Implement file reads.

FolderMemoryCard: Proper ECC reads.

FolderMemoryCard: Reads to unmapped locations should return all 0xFF.

FolderMemoryCard: Some sort of working WriteToFile.

(Note: Doesn't always work depending on what order data gets written...)

FolderMemoryCard: Forgot a 'b' for reading files in binary mode. Whoops.

FolderMemoryCard: Load timestamps from the host filesystem.

FolderMemoryCard: r+b needs the file to exist so create if it doesn't.

FolderMemoryCard: Failsafe to allow non-sequential writes.

FolderMemoryCard: Use a cache for writes. Does not flush to host FS yet!

FolderMemoryCard: Flush the data written to the cache to the host file system on exit.

FolderMemoryCard: Since we have a cache now, remove code related to formatting, it's no longer needed.

FolderMemoryCard: More binary file mode mistakes...

FolderMemoryCard: Make it actually possible to disable/eject cards.

FileMemoryCard: Revert changes made for logging data.

FolderMemoryCard: Remove excessive logging.

MemoryCard: Note that the superblock struct is no longer unused.

FolderMemoryCard: A disabled card shouldn't try writing data on exit.

FolderMemoryCard: Log when flushing data.

FolderMemoryCard: Replace plain constants with const variables.

Should make it easier in the future to change the memory card size, if
needed.

FolderMemoryCard: Sort of handle the case when the total size of files in the memory card folder exceed the size of the card.

Not elegant but prevents ugly errors. The file that caused the card to
"overflow" will be seen as corrupted data by the PS2 browser.

FolderMemoryCard: Some sanity checks.

FolderMemoryCard: superBlock member really should have that m_ too to be consistent.

MemoryCard: Switch back to FileMemoryCard for merging.

FolderMemoryCard: Implement GetCRC() via a timestamp of the last memory card write.

Reasoning:
Regarding auto-ejecting on save load, I see that the current
implementation checks that by comparing memory card CRC and reinserting
if it mismatches. Since it's actually just about seeing if the memory
card state of the savestate and the current state match, my GetCRC() now
returns a millisecond timestamp of the last time the card was written
to. This should work out to the intended result, though I had to use
wxGetLocalTimeMillis() instead of wxGetUTCTimeMillis() since the latter
isn't available for some reason.

Fix GCC warnings and error.

MemoryCard: Switch implementations via a #define.

FolderMemoryCard: Add a NextFrame() method that should be called once per frame. Flushes written data to the host file system after a certain amout of frames have passed without any writes (currently 60).

MemoryCard: Add the NextFrame() method to the plugin API.

Counters: If the FolderMemoryCard is selected, inform it every frame in VSyncEnd() that a frame has passed.

VSyncEnd: Probably better to inform the memory card before the frame limiting.

Fix error when using wxWidgets >= 3.0.

FolderMemoryCard: Extract into its own .h/.cpp files.

FolderMemoryCard: Change cache to a map to reduce memory usage.

FolderMemoryCard: More gracefully handle lack of space when adding files.
2015-07-12 14:37:49 +02:00
Gregory Hainaut 7f7f6c3b51 Merge pull request #640 from turtleli/gs-frame-title-fixes
GS frame title fixes
2015-07-11 09:47:27 +02:00
Gregory Hainaut babb5480ce pcsx2: init some variables
Avoid gcc warning
2015-07-10 22:35:26 +02:00
ramapcsx2 a749367300 small tweak to cdvd read console logs. a little alignment > much more readable. 2015-07-10 21:08:55 +02:00
Jonathan Li badfcb6e3f Fix uninitialised variable use in GS title bar
When the GS plugin is suspended and resumed, PCSX2 will set GS frame
title using an uninitialised array, making it prone to crashing in
those situations. Initialise the array.
2015-07-09 16:11:04 +01:00
Jonathan Li 29ccbfe140 Fix plugin error handling for wx3.0 on Windows
This prevents a PCSX2 lock up that requires Task Manager to kill. It
seems the messagebox intercepts the GSframe's close event, hides itself
and then leaves you with no way of ending PCSX2 normally. So close the
GS frame before the message box appears.
2015-07-02 23:01:43 +01:00
refractionpcsx2 c753f0d206 VIF-MFIFO: Fix for stalls on wait instructions, fixes Stuart Little 3
- VIF Waits for Path3 to flush, but it was firing before it had finished.
-Condition is much cleaner and less hacky now.
2015-06-27 22:47:44 +01:00
Jonathan Li f9ea013b60 gui: Fix/improve plugin/BIOS error dialog handling
If the user encounters a plugin/BIOS error and the plugin/BIOS dialog is
already open, make the dialog switch to the panel that corresponds with
the error.

Also, fix the open dialog detection and provide a slightly different
messagebox if the plugin/BIOS dialog is already open - for these cases it
won't say "Click Ok to go to the x configuration panel" anymore.
2015-06-27 13:37:30 +01:00
Jonathan Li 0b42db11bd gui: Fix Console close behaviour
When the Console is closed (except through Misc -> Show Console), PCSX2
does not remember that you closed the Console and will reopen it the next
time. You also have to press Show Console twice if you want to reopen
the Console after closing it.

This is caused by the Console looking for its "parent" main emulator
window, when secretly, they're siblings :)

Make the console properly register when it is closed.
2015-06-27 13:37:13 +01:00
bositman 59a66f87c3 Merge pull request #611 from turtleli/fix-toggling
Fix renderer toggling behavior and other related stuff
2015-06-26 16:34:02 +03:00
Gregory Hainaut f4c22ce932 Merge pull request #612 from turtleli/ui-event-handling-fixes
gui: Dialog handling fixes and cleanup
2015-06-26 15:23:50 +02:00
Gregory Hainaut 0c2dcf26f2 Merge pull request #598 from turtleli/wxwidgets3_prep
Changes to make transition to wxWidgets3.0 on Windows easier
2015-06-26 15:18:13 +02:00
Jonathan Li bfa46b7f54 Fix when the toggling message appears
Make the toggling message appear only when F9 is actually pressed.
2015-06-26 00:49:30 +01:00
Jonathan Li 9a171a5928 gui: Make Msgbox more consistent
Just use ShowModal. That will invoke pxMessageDialog on the main thread
anyway.
2015-06-25 16:53:10 +01:00
Jonathan Li 2a4bd85f53 gui: Fix looping dialog event handling
The dialog event handling is a bit messed up. An ok/cancel event sends a
close event, which sends a cancel event and repeats. This would actually
be an infinite loop if wxWidgets didn't detect a loop.

Rework the event handling to avoid the loop and to remember the
positions of modal dialogs as well.
2015-06-25 16:46:20 +01:00
Jonathan Li d6d4a1a983 linux: wx3.0: fix broken messagebox handling
Do not do additional processing on an event after EndModal is called.

This fixes a message box bug on Linux wx3.0 builds. Without this fix,
Release and Devel builds emit cancel signals even if 'Ok' or other
buttons are pressed, and Debug builds trip an assertion with the message
"EndModal called twice or ShowModal not called."
2015-06-25 15:26:55 +01:00
Jonathan Li 98a7058794 Remove 'Disable vsync in software rendering' code
PCSX2 doesn't know whether it is in hardware or software mode. So this
code does not work if the user is using software rendering mode without
F9 toggling.

Don't disable vsync if the user toggles rendering mode.
2015-06-21 20:39:31 +01:00
Jonathan Li e0da81a44e Reworked missing BIOS handling
When booting a game, a missing BIOS (and possibly other BIOS errors)
will crash or lockup PCSX2 (except for a Windows wxWidgets 2.8 build,
I have no idea why). The messagebox that appears is also badly
formatted.

Use the event queue to handle the error instead of dealing it with
immediately and fix the appearance of the messagebox.

This also deletes the BiosSelectorDialog code since it isn't used
anymore and fixes a condition where, on plugin load failure, the
component selector dialog may open up at the wrong page.
2015-06-20 13:46:18 +01:00
Jonathan Li 3e69113f48 Fix logging in wxWidgets 3.0
wxWidgets 3.0 requires DoLogRecord, instead of DoLog, to be overridden.
2015-06-19 22:14:49 +01:00
Jonathan Li cde4670cbd Include rpcrt4.lib as pcsx2 linker dependency 2015-06-19 22:14:48 +01:00
Jonathan Li 283d4fa57c Use wc_str for Windows only code
This fixes the build for wxWidgets 3.0. The paths are Windows specific,
so c_str and WX_STR already evaluate to a wide string in wxWidgets 2.8.
2015-06-19 22:14:47 +01:00
Jonathan Li 2a7d7b54d3 Fix wxWidgets 3.0 Windows command line help hack
wxWidgets 3.0 now calls Output() instead of Printf() for wxMessageOutput
derived classes. Fix the command line help hack so it works for that.
Also use wxString instead of FastFormatUnicode, it's simply not needed
here.
2015-06-19 22:14:46 +01:00
Jonathan Li 760de9915b Add Virtual Key to WX Key Translator
wxCharCodeMSWToWX() has been removed from wxWidgets 3.0 and the
replacement does not have the same behaviour. Add a replacement function
to translate Windows VK_* keycodes to WXK_ keycodes.
2015-06-19 22:14:46 +01:00
Jonathan Li ac99735b5b Revert "pcsx2:gui:wx3: wrong order of language in wizard"
This reverts commit 8afd2edd1d and removes
the leading space from "System Default".
2015-06-18 21:05:22 +01:00
Jonathan Li 29463b9e52 Fix language panel glitch on Windows
On Windows, the languages displayed in the dropdown box of the language
panel selector are not in alphabetical order. This is caused by the
CBS_SORT window style, which is set by wxCB_SORT, having a ridiculous
sorting order. Remove the option to fix the language order and sort a
minor UI glitch.
2015-06-14 17:11:50 +01:00
Jonathan Li b6375686ff Use standard allocator for pxEventList/wxEventList
wxWidgets3.0 does not have the WXObjectAllocator anymore, so remove it.
2015-06-12 18:29:09 +01:00
refractionpcsx2 72b828ef0d Finish previous revert as TortoiseGit failed epicly at it. 2015-06-10 10:11:06 +01:00
Gregory Hainaut ed9dbd9fae Merge branch 'clz' of git://github.com/xsacha/pcsx2 into xsacha-clz 2015-06-09 19:51:58 +02:00
TheLastRar 3636ebda3c Use CorePlugins to load plugins during FT Config 2015-06-09 19:46:22 +02:00
TheLastRar 430f2159ff SetEmuVersion, pass actual PCSX2 version 2015-06-09 19:46:22 +02:00
TheLastRar 51671e9391 Fix for old GSDX config GUI showing.
during 1st time config.
2015-06-09 19:46:22 +02:00
refractionpcsx2 2f20e6da65 microVU: Fixed up Cond Branch tBit + eBit. True Crime and DT Racer both work properly now.
- I had the wrong comparison in there, doh!
- tBit was jumping to the wrong place, not sure what games use it though
2015-06-07 20:21:53 +01:00
refractionpcsx2 1e83145c0c microVU: Fixed bug in ebit conditional branches (DT Racer) 2015-06-07 03:50:34 +01:00
refractionpcsx2 7ff36afd35 microVU: Improved existing flag hack slightly 2015-06-07 03:50:33 +01:00
refractionpcsx2 51fbb2c313 Put PC references in to COP2 flag warning 2015-06-07 03:50:33 +01:00
Gregory Hainaut c3dc51826f Merge pull request #541 from TheLastRar/master
DEV9ghzdrk - thread safer calls to DEV9irq
2015-06-06 10:47:32 +02:00
Gregory Hainaut 97467f9e30 Merge pull request #579 from PCSX2/drop-vs2010-support
Drop vs2010 support
2015-06-06 10:47:16 +02:00
refractionpcsx2 151fe43551 Vif Unpacks: After further tests on the PS2, think i have these down.
-Corrections to V3-16, the rest was right (woohoo!)
2015-06-06 00:05:52 +01:00
Gregory Hainaut 868d82a22b Merge pull request #574 from AdmiralCurtiss/gui-hotkeys-in-menu
Show default keyboard shortcuts in the menu next to Save and Load State.
2015-06-05 18:49:28 +02:00
refractionpcsx2 46b0a790d4 Vif: Fix up V2-32 and V3-32 Indeterminate Data on MTVU
- MTVU didn't do this correctly as it relied on vif packet size to check alignment, which it doesn't know.
- Packet sent to MTVU was too small for V3-32 to work properly, rounded up to nearest QW
- V2-32 fixed up on interpreter which was just wrong, can't fix V3-32 in it's current setup, but who cares ;)

These could still be wrong, but I can't confirm this until i run larger tests on my PS2
2015-06-05 16:24:03 +01:00
Gregory Hainaut b49d65295f Merge pull request #457 from PCSX2/clean-gcc-flags
cmake: use O2 instead of every compiler flags
2015-06-05 16:26:42 +02:00
Gregory Hainaut ba5b367ae8 drop support of Visual Studio 2010
* Severals PR uses C++11 features
* 2015 will soon be released
* Win 10 will soon be released

Time to upgrade
2015-06-04 08:55:22 +02:00
Admiral H. Curtiss c9e9df95ac Show default keyboard shortcuts in the menu next to Save State and Load State.
I can't figure out how to get the keycodes that have been modified by PCSX2_keys.ini, but this should give a decent base. I think you would just need to call AppendKeycodeNamesToMenuOptions again after GlobalAccels has been updated correctly, if I'm understanding this right, but I couldn't get it to work.
2015-06-03 01:02:16 +02:00
Gregory Hainaut d793ef85df Merge pull request #358 from PCSX2/baseblock-minor-clean
core: use memcpy and reserve function
2015-06-01 11:18:03 +02:00
refraction 426fcf3afc Reverted microVU flag hack, it did nothing it wasn't already doing. 2015-05-29 22:56:53 +01:00
refraction ef420e41fe microVU: Nothing to see here
Left an if statement in which shouldn't have been there, whoops.
2015-05-28 21:46:17 +01:00
refraction 910dcfafdd microVU hack: Forgot tooltip update 2015-05-28 21:34:03 +01:00
refraction d8343cea2a microVU: New improved flag speedhack.
- Now does Mac Flags as well pretty safely
- Speedup is anywhere from nothing to ~30fps (latter is DQ8 + MTVU)
2015-05-28 21:13:48 +01:00
Blyss Sarania db37d37ed9 Update manual game fix panel text
Add some text telling users that the game fixes do not speed up games.
We have many users who have followed a
Youtube guide enabling all these and breaking their games. Hopefully
this will mitigate that.
2015-05-26 17:25:31 -05:00
Admiral H. Curtiss e31a2c0733 AppGameDatabase: Fix off-by-one error when writing changes in the Game Database dialog.
Did no one ever use this feature? If git blame is accurate this has been
in the codebase since 2011...
2015-05-25 15:22:23 +02:00
Gregory Hainaut bf0213ca47 linux: rename pcsx2-* exe file to PCSX2
Alwawys the same name and uppercase
It was useful on the past to reduce compilation time but there is
less plugins now and ccache just does the job fine.
2015-05-18 09:49:59 +02:00
Avi Halachmi (:avih) 3bd3ba4faf gui: speedhacks: disable restore-defaults when Presets is used
The Restore-Defaults button and the Presets checkbox are inherently conflicting
since both of them apply (different) sets of values to the speed hacks, however
the Preset also applies values to other panels.

Now the relation between the Defaults button and Preset is consistent with
other panels (EE/VU) where Defaults already got disabled when Presets is used.

Before this patch (and also before the previous one which fixed the locking),
clicking restore-defaults while Presets was checked resulted in incorrect state
where Preset is checked but the speed hacks are both unlocked and also didn't
necessarily match the selected preset. Now this can't happen.
2015-05-16 23:42:43 +03:00
Avi Halachmi (:avih) bbf7153acd gui: fix: Apply on disabled speedhacks now locks the panel
When speed hacks are disabled, clicking Apply should keep the panel grayed-out,
but it didn't before (though it was still correctly locked/unmodifyable).
With this patch it also looks correctly grayed out.

It's not clear if it's a wxWidgets issue or pcsx2 issue since with wxWidgets 3
there doesn't seem to be an issue (see posts at issue #543).

Regardless, this patch makes a cleaner separation between widgets values
([un]checked etc) and widgets states - lock(grayed-out)/unlocked.

The patch only modifies when widgets are grayed and should not affect the actual
values (therefore should not change the behavior other than visuals), but do
keep an eye for weird behavior since this is sensitive code.

Should fix #543
2015-05-16 22:32:53 +03:00
refraction 534fa65ecf Fix for VS2013 microVU debug logging 2015-05-15 20:22:03 +01:00
TheLastRar a0ec633c46 Provide a DEV9async and use it to call irq 2015-05-13 10:04:04 +01:00
Akash c4b96c3c53 console: use correct message for hw/sw rendering switch 2015-05-07 21:41:38 +05:30
Avi Halachmi (:avih) 2c3b3eafbe first time wizard "overwrite": obey default console sources
this is actually not a FTW issue but rather a console sources issue.

the console log sources are not c++ classes and therefore don't get initialized
other than when [attempting to] loading them from the ini file (where if the ini
doesn't exist then they get their default values). however, during first time
wizard, when choosing "overwrite", the console sources are saved without ever
getting loaded and so end up without the default values applied (so all sources
as disabled).

this patch makes sure that if we're saving the conlog sources before ever
attempting to load them, they'll get saved with the correct default values.
2015-04-16 13:19:03 +03:00
Unknown W. Brackets 7b1214849a Add disabled code to use a cache for cso reading.
It doesn't seem like the cache is worth it, unfortunately.
2015-04-15 10:27:59 -07:00
Unknown W. Brackets 427fa039ba Note why multiple blocks aren't optimized in CSO. 2015-04-15 09:47:20 -07:00
Unknown W. Brackets 49cfc3424b Keep around z_stream between decompression passes.
Slightly more efficient to avoid reallocating the state for each block.
2015-04-15 09:03:00 -07:00
Unknown W. Brackets 17a58103e2 Move shared file access to compressed utils. 2015-04-15 08:30:19 -07:00
Unknown W. Brackets 8e89418f45 Prefix some defines in GzippedFileReader. 2015-04-15 08:25:32 -07:00
Unknown W. Brackets 5bfd4c7bf8 Refactor ISO creation to avoid duplicate code. 2015-04-14 19:24:22 -07:00
Unknown W. Brackets 334f648eaa Separate compressed file types into separate files.
Cleaner this way.
2015-04-14 19:24:21 -07:00
Unknown W. Brackets 4ffbd3765b Add a link to a description of the CSO format. 2015-04-14 17:46:44 -07:00
Unknown W. Brackets 8edffd32c8 Add support for loading CSO-compressed ISOs. 2015-04-14 10:14:06 -07:00
Gregory Hainaut 06ee41957e Merge pull request #478 from PCSX2/linux-mtvu-crash-after-shutdown
MTVU: fix linux crash after a shutdown
2015-04-11 13:15:34 +02:00
Gregory Hainaut 781c1df5d0 Merge pull request #486 from PCSX2/c++11-vssappendf
C++11 vssappendf
2015-04-11 13:15:25 +02:00
Avi Halachmi (:avih) 9a7d83989b use tabs instead of few spaces at the previous screensaver commit 2015-04-05 20:02:15 +03:00
Avi Halachmi (:avih) 8a5c8ab91c fix: disable screen saver (pcsx2_ui.ini - DisableScreenSaver)
there was already code for this, but it was broken due to:
- the message is WM_SYSCOMMAND and wParam is SC_SCREENSAVE etc.
- GSPanel doesn't get WM_SYSCOMMAND - GSFrame does.
- also disabled screen saver while paused if not set to hide the GS window.
- it's an ugly hack where windows keeps trying to activate the screen saver
  every few seconds but such code prevents it (Lilypad has the same hack).

the new code uses windows API which was designed for this.

the screen saver is now disabled while the window is focused and the emulation
is running. it's on by defauly and without GUI - the same as with normal games.

this patch addresses Windows only, but adds a placeholder for future
implementations for other platforms.
2015-04-05 19:50:31 +03:00
Blyss Sarania 2ac30e7bde Fix a typo in manual gamefixes
Change "a FMV" to "an FMV"
2015-04-01 15:51:29 -05:00
Gregory Hainaut b2efa85a3f pcsx2: debugger: use standard sprintf function
ssprintf is nice but it doesn't worth it
2015-03-23 23:08:55 +01:00
Gregory Hainaut b20deb0752 MTVU: fix linux crash after a shutdown
* Lock during the reset
* Purge the ring before memory unallocation

Close issue #474
2015-03-17 09:33:20 +01:00
Sacha 4bb41bc267 pcsx2: More cleanup of iCore.
Greg: Drop Svu changes, Svu will be dropped in the future anyway
2015-02-27 21:20:11 +01:00
Sacha b2738fdd5b Remove 3dnow (unused, obsolete).
Greg: merge the removal of EMMS stuff
2015-02-27 21:12:34 +01:00
Avi Halachmi (:avih) 6b48784709 gzip iso: reduce seek time on fragmented files by OS prefetch on win32
ask the OS to asynchronously fetch the next chunk from disk before we actually
use it. We then cancel this request and ignore the data before the next extract
but it's very likely that when extract tries to read from disk the data will
already be cached by the OS.

This frequently allows to overcome HDD seek time (mostly due to fragmentation)
of the compressed file.
2015-02-22 16:53:51 +02:00
Avi Halachmi (:avih) 5e88afe978 patches: print the actual patch lines only in verbose mode 2015-02-22 16:53:49 +02:00
Avi Halachmi (:avih) 56b2c009cd patches: unify patch application verbosity
PCSX2 applies patches from several sources: GameIndex.dbf, cheats folder,
widescreen patches folder and widescreen patches zip (cheats_ws.zip).

all these patche sources are typically applied whenever any kind of
configuration changes (e.g. aspect ratio etc), depending on config.

typically we want to display all this info at the console/log only on boot,
unless we're in Devel mode or if the user enables the verbose console.

this patch unifies all the verbosity related prints to use PatchesCon, where
this object is controlled according to the conditions (devel mode, boot time,
console mode).

it replaces passing around a "verbose" and includes some more prints which did
not adhere to this policy earlier (e.g. the patches lines were only printed
if verbose console was enabled - now they also print on boot).

warnings and errors are unmodified and always print to the console.
2015-02-21 16:19:24 +02:00
Gregory Hainaut a9430bb25e cmake: use O2 instead of every compiler flags
It was done to avoid issue with specific compiler flags. I think it is safe to reenable it now.

There are some flags that are still disabled that potentially could be re-enabled:
-fno-guess-branch-probability
-fno-dse
-fno-tree-dse

But it will be for another PR
2015-02-20 19:47:54 +01:00
ramapcsx2 5c6b5374af Less verbose SPR stall control logging, avoids fps dives in ST:Voyager 2015-02-15 18:09:14 +01:00
Avi Halachmi (:avih) f2657ae450 gzip iso: 2nd attempt to fix non-english file names (windows only) 2015-02-10 22:49:29 +02:00
Avi Halachmi (:avih) f3bb434b27 CDVD: more descriptive browse dialog title 2015-02-05 04:15:49 +02:00
ramapcsx2 f88bea5caf PCSX2 will now default to using the preset system for new installs. That
looks far more friendly to new users when they go to configure the
emulator for the first time."
2015-02-01 19:49:10 +01:00
Avi Halachmi (:avih) dacadcdf2f dummy update to test the buildbot versioning 2015-01-29 15:14:00 +02:00
Avi Halachmi (:avih) 267ff7d196 tag v1.3.1: superficial - align the version for buildbot, pcsx2 and git
We should have tagged v1.3.0 at 1fb3d7dd17
but we didn't, and tagging v1.3.0 now (HEAD or retroactively) would only create
confusion.

Instead we're setting a new baseline version of 1.3.1 which will be displayed
at the buildbot lists, at pcsx2, and at the git tag.

This doesn't indicate any change to pcsx2 other than aligning the version
numbers of the various places which use it.
2015-01-29 14:43:31 +02:00
Avi Halachmi (:avih) 2da3e15aaa patches: move verbose from ELF-log to Dev-verbose
improvements from the previous commit stay (less noisy, better reboot verbose)
2015-01-19 10:12:12 +02:00
Avi Halachmi (:avih) 6305d8d61e patches: reduce console noise for patches/cheats, verbose with ELF-log
1. When changing settings, such as aspect ratio, patches message was spamming
the console, now they don't.

2. Added more verbose patches messages when ELF-log is enabled at the console.
These messages now show whenever patches/cheats are applied, including when
changing settings such as aspect ratio.

3. When rebooting the same game again, some of the cheats messages were not
displayed since it's the same CRC and the logic thought it should remain quiet,
now verbose gets reset on boot which will show all patches messages correctly.

4. Errors/warnings stay the same and not afected by this change.
2015-01-19 01:15:32 +02:00
Gregory Hainaut c5e6013d75 Merge pull request #419 from PCSX2/64-bit-crashes-fix
64 bit crashes fix
2015-01-17 12:08:24 +01:00
pgert 6c750b19b3 Update AppInit.cpp 2015-01-12 13:25:50 +01:00
Gregory Hainaut a5ff4aca80 mvu: add a comment on special 'register'
It explains why first 'register' isn't included in the loop.

Hardware note: it is called a register but in hardware they're just wire
stuck on 0/1, so not a real HW register
2015-01-11 15:37:46 +01:00
Avi Halachmi (:avih) 7b7a977d11 gzip ISO: fix broken handling of file names with non-english chars
this uses <wxString>.mbc_str() instead of .toUTF8() for all file related
stuff.

also normalizes all Console outputs to use WX_STR(str).

TODO: this was only tested on windows.

if someone could test on linux (wx 2.8 and 3.0) that english-only and not
english-only iso.gz file names work correctly (open the file, create the index,
read the index on next boot and that all console prints are good), please
post a comment.
2015-01-09 12:16:13 +02:00
Miguel A. Colón Vélez ed317360ef Fix issues with DOC_DIR_COMPILATION.
This fixes the remaining issues:
- wx2.8 => apparent utf issue.
- wx3.0 => opens the file twice.
.
Fixes #402
2015-01-06 22:02:22 -05:00
Gregory Hainaut b03162747c sVU: add an option to remove it
The goal is to reduce the burden for new architecture port.

Patch is mostly inspired from 3kinox initial patch. The diff are
*/ used ifdef instead of raw removal
*/ gui don't rely on UseMicroVU* option
*/ completely remove sVU_micro.* file
2015-01-06 23:45:43 +01:00
Gregory Hainaut e0add8003d mvu: mvu VI has only 16 registers
fix issue #417
2015-01-06 23:32:00 +01:00
Gregory Hainaut 3f521cc7a0 pcsx2: use %ls for unicode string
%s seems to work because the printed string is single char. Let's be
pedantic
2015-01-05 23:59:08 +01:00
Avi Halachmi (:avih) 5933db386a gzip ISO: fix compile issues on linux 2015-01-03 18:50:07 +02:00
Gregory Hainaut aea421cc8e partially revert #403
One define doesn't exists on linux
2015-01-03 15:52:43 +01:00
Gregory Hainaut a11286bbc5 Merge pull request #403 from pgert/master
Update i18n.cpp
2015-01-03 14:58:32 +01:00
Gregory Hainaut 806cefb0c6 64 bit: use uptr instead of int 2015-01-03 14:50:54 +01:00
Avi Halachmi (:avih) e525f95f22 gzip ISO: allow custom index file name/location via a template
At PCSX2_ui.ini: default:  GzipIsoIndexTemplate=$(f).pindex.tmp
The rules:
- must contain one and only one instance of '$(f)' (without the quotes)
- if starts with $(f) then it expands to the full path + file name.
- if doesn't start with $(f) then the path is ignored (name+ext only)
- if doesn't start with $(f) and ends up relative,
  then it's relative to pcsx2.exe (not to cwd)
- No checks are performed if the result file name can be created, so the dir
  should exist.
- PCSX2 will not try to rename/move older index files to the new name/location.
  If it's modified - the user should take care of rename/move before loading
  gzipped iso files or else it will create a new index according to the template

Examples:
$(f).pindex.tmp - the default - same dir as the iso, loads older index files.
$(f).pindex     - a popular request.
cache.gz/$(f)   - relative to pcsx2.exe (if the dir exists).
%appdata%/pcsx2/cache.gz/$(f) - should end up at the default install docs dir.
2015-01-02 03:27:06 +02:00
Avi Halachmi (:avih) 10040f82e0 UI: change language: more standard dialog and better Apply button
The Apply button was part of the language panel, now it's part of the dialog.
Also, The Apply button is now enabled/disabled correctly.
2014-12-31 12:32:29 +02:00
Avi Halachmi (:avih) 2b567e51ff nogui: don't zombie on suspend. --noguiprompt to prompt before exit
when running with --nogui, PCSX2 knows to exit when the GS window closes.
However, pressing esc (suspend) didn't close the window and instead hidden it.
As a result, PCSX2 didn't exit and remained a zombie process.

this patch closes the gs window on suspend in --nogui mode, which makes PCSX2
exit fully.

it's now also possibly to use --noguiprompt which prompts if esc will exit
PCSX2, and allows the user to abort the suspend and continue using PCSX2.

TODO: if PCSX2 was in full screen - then pressing esc exits full screen. it
would have been ideal to restore full screen, but for now it doesn't.
2014-12-31 03:37:24 +02:00
Avi Halachmi (:avih) 25382d471d kb shortcuts customization: improve messages, add sample PCSX2_keys.ini
- don't display a message if the replacement is the same as the default.
- display a message if the key combination is unknown
- (same as before) display a message when replacing a shortcut
- also added PCSX2_keys.ini.default sample file with some help
2014-12-30 22:15:01 +02:00
Avi Halachmi (:avih) c4bd50c04c UI: Change Language: use a dialog instead of forcing first-time-wizard
The method of forcing first-time-wizard wasn't very effective because
1. it's ugly, and 2. after selecting the language at the wizard it either
imports the previous settings (together with the previous language thus
overriding the new language) or resets all other settings - which is not fun.

This patch uses a small dialog instead to only change the language, and within
it reuses the language panel from the first time wizard.
2014-12-30 19:31:50 +02:00
Avi Halachmi (:avih) 1779ee42c2 log console: Sources menu - add Restore Default item 2014-12-30 05:29:39 +02:00
Avi Halachmi (:avih) 95e00e0edf cheats[_ws]: don't ignore custom folders for cheat files
The code was searching only at the default paths for cheats and cheats_ws.
Now it's possible to set UseDefaultCheats[WS] at PCSX2_ui.ini to 'disabled'
and set a custom value to Cheats and/or CheatsWS and PCSX2 will respect it.
2014-12-29 14:21:38 +02:00
Gregory Hainaut 0c17d67fa5 cmake: add a new option to select the doc path in package mode
DOC_DIR_COMPILATION=/usr/share/doc/pcsx2

close issue #402
2014-12-21 16:51:41 +01:00
pgert 93cbce82f9 Update i18n.cpp 2014-12-21 14:38:07 +01:00
Gregory Hainaut 2bc4686afa pcsx2:wx3: fix filter selection of iso
On linux, wxChar requires a %ls

It must be tested on windows:
1/ >CDVD>Iso selector>Browse...
2/ try the different filter
2014-12-21 12:34:05 +01:00
Gregory Hainaut 66d7aa75e2 cmake: move -DNDEBUG to global option 2014-12-20 13:43:25 +01:00
Gregory Hainaut b9297c6158 Merge pull request #377 from PCSX2/tlb_goemon_v2
goemon gamefix improvement
2014-12-14 11:47:37 +01:00
Gregory Hainaut 09ec6ebd8e pcsx2: fix a gcc warning 2014-12-13 12:28:37 +01:00
Gregory Hainaut 768362852e pscx2: s/wxTrap/pxTrap/
wxTrap is only enabled on wxDebug build. pxTrap is always available. It is much nicer for debug on linux
2014-12-13 12:28:37 +01:00
Gregory Hainaut 01b0556419 goemon: reset recompiler after tlb unmap
Let's avoid unvalid virtual address on recompiler block
2014-12-12 22:43:01 +01:00
Gregory Hainaut cb73ed4737 pcsx2:tlb:goemon: allocation can be called from 2 places
* game is working :)

Note1: I dissassemble the main exe to search all call of the allocation (unlikely to have more calls)
Note2: it is easier to use the return of the function so allocation is done in the tlb[array] cache
2014-12-12 22:25:56 +01:00
Gregory Hainaut e6de35f5ac pcsx2:tlb: enable GoemonUnloadTlb on recompiler 2014-12-12 22:14:08 +01:00
Gregory Hainaut a8ad598153 pcsx2:tlb: improve goemon gamefix log 2014-12-12 22:14:08 +01:00
Gregory Hainaut 2cfbc6e5ef pcsx2:tlb: extend goemon gamefix
Add GoemonUnloadTlb function that invalidate TLB cache.

Currently the function is only used on the interpreter. It fixes TLB error after a reload of data.

Next step: porting to the recompiler
2014-12-12 22:14:08 +01:00
Gregory Hainaut 8d8aa87457 pcsx2: interpreter: better use pc
cpuRegs.pc is the actual pc+4...
2014-12-12 22:14:08 +01:00
Gregory Hainaut bf9fc521cb disassembler: Allow to print register value
* Create a disBranch to factorize a bit the code

* Add PRINT_REG_CONTENT define that add a 32bits value of registers for
  standard opcode. (Far from perfect, but it very useful)
2014-12-12 22:14:08 +01:00
Gregory Hainaut 534b7041f4 Merge pull request #385 from PCSX2/gtk3_compilation_fix
Gtk3 port (require wx built against GTK3).
2014-12-11 09:54:45 +01:00
Gregory Hainaut feca2e3faf gtk3: GDK_WINDOW_XID was renamed
Well I guess. Not sure until I can test the behavior.
2014-12-10 22:09:21 +01:00
Gregory Hainaut d1389db2f4 gtk2: keyboard macro update 2014-12-10 22:09:21 +01:00
Gregory Hainaut 87f1e8f77d pcsx2: use PCSX2 uppercase for XDG_HOME_CONFIG default value
This way it will always be the same.

Fix issues #381

Note: potentially we might need to move your previous directory.
mv $HOME/.config/pcsx2 $HOME/.config/PCSX2
2014-12-08 23:51:02 +01:00
Gregory Hainaut 49d98a4429 pcsx2: move tlb info from warning to COP0_LOG
It will ease debug (pc is printed) and reduce noise for standard users.
2014-12-07 12:20:59 +01:00
Gregory Hainaut 070dce4c83 Merge pull request #356 from PCSX2/issue-fixes
various bug-tracker fixes
2014-12-06 19:48:13 +01:00
Gregory Hainaut 8afd2edd1d pcsx2:gui:wx3: wrong order of language in wizard
It seems wx3 remove all non alphanumeric character before the sorting
A 0 was added to force default to be the first choice as expected
2014-12-06 17:12:26 +01:00
Gregory Hainaut 7328e55ee9 pcsx2: disable tlb miss on the interpreter
Except on the debug build
2014-12-02 23:10:58 +01:00
Gregory Hainaut c9aa04c679 core: EE interpreter major speed boost
Disable the debugger and an useless debugI function

* x2 on dbg build :)
* x2.5 on dev build :)

Note: debugger doesn't work yet with the interpreter so no real drawback.
2014-12-02 21:38:39 +01:00
Gregory Hainaut 9c92a30dbb pcsx2: interpreter: add a typical example to disassemble R5900
Previous examples don't work anymore

v2: merge the cpu dump example
2014-12-02 21:38:39 +01:00
Gregory Hainaut 8a899c4c7b pcsx2: interpreter: increment pc before reading pc content
memRead32 could throw a TLB miss exception, however TLB handler expects pc counter to be incremented

Goemon is now really "playable" with the interpreter (disable automatic gamefix)
2014-12-02 21:38:39 +01:00
Gregory Hainaut a30bd86311 pcsx2: interpreter: add an exception for tlb miss
When a tlb miss is detected current instruction must be skipped. We need
to immediately switch to the handler

Typical instruction bug case:
 lw a0, 0x8(a0)

a0 mustn't be loaded if we have a miss

v2: create a dedicated exception for tlb miss

v3:
* rename exception to CancelInstruction
* add a basic state machine on the exec loop so we keep same behavior
  for eeloadReplaceOSDSYS and eeGameStarting

v4: remove assert
2014-12-02 21:38:29 +01:00
Gregory Hainaut 0f2f25845d core: use memcpy and reserve function
newMem is a new memory allocated by "new". There is no way that is
overlap with previous allocation. Therefore the faster memcpy can be used safely
2014-11-24 10:00:46 +01:00
Gregory Hainaut 5d89454d25 wx: properly overwrite trait creation
The fix move the Pcsx2AppTraits definition from core to common part.
It allows to use it in wxAppWithHelpers::CreateTraits

fix issue #352
2014-11-22 18:51:05 +01:00
ramapcsx2 fda48f3d55 Merge pull request #355 from Asmodean-/master
Add reg.chcr warning check.
2014-11-22 11:52:12 +01:00
Asmodean- 09c13777d8 Add reg.chcr warning check. 2014-11-21 21:55:35 +00:00
Gregory Hainaut 7964933507 wx: use wx_pizza on wx2.8
The new method creates a strange gray box for some users.

Unknown status on wx3.0 (which soon will be the default)
2014-11-16 13:54:07 +01:00
Gregory Hainaut fc480e9bea Merge pull request #335 from tadatada/fix_resizing_loop
Fix resizing loop when the Windows Classic theme with some large resolutions have been chosen.
2014-10-28 10:36:10 +01:00
Gregory Hainaut d6ba55eebf license:
* stack walk is coming from PPSSPP => GPL2+
* Remaining are from Kingcom => LGPL3+
2014-10-28 08:21:39 +01:00
tadatada d55aa66751 Fix resizing loop when the Windows Classic theme with some large resolutions have been chosen. 2014-10-28 12:44:12 +09:00
Gregory Hainaut f0d85d7dcc Merge pull request #329 from tadatada/mod_console_title
Inserted a game CRC in the title of the console log screen.
2014-10-26 21:53:58 +01:00
Gregory Hainaut a28d2878e0 Merge pull request #326 from tadatada/mod_cheats_logs
Cheats: Added a cheats related log, changed color of a few positive logs.
2014-10-26 15:49:25 +01:00
tadatada ea6e78ab0d Inserted a game CRC in the title of the console log screen. 2014-10-13 13:26:03 +09:00
tadatada 7e89477e6c Cheats: Added a cheats related log, changed color of a few positive logs.
If any cheats file is not found, the "Not found Cheats file" message will appear with its full path of the cheats file on the log screen.

Changed color of a few positive logs to green from grey.
2014-10-08 16:51:09 +09:00
tadatada 8b45caf611 Cheats: Fixed tab/space mixtures in pcsx2/Patch_Memory.cpp 2014-10-08 16:43:08 +09:00
Gregory Hainaut 20b9dbadda pcsx2: replace wxStrtoul by ToUlong method
Close issue #308
2014-09-27 11:50:31 +02:00
tadatada 728840b7c5 Code cleanup
Altered some variable names and comments. Removed some redundant parentheses.
2014-09-26 06:55:00 +09:00
Gregory Hainaut 5b3f031654 cmake: fix commit f3a50a01a7
* link common with c lib (required for gold linker)
* fix the macro to properly set the library variable
  => use the variable instead to hardcoded value
2014-09-24 09:02:56 +02:00
ramapcsx2 cee80eb5f4 Merge pull request #279 from Kingcom/StackFrames
Add stack trace and step out
2014-09-22 16:34:52 +02:00
Gregory Hainaut 9656fad0f5 Merge pull request #286 from jobermayr/master
Two patches from openSUSE / Packman
2014-09-21 17:34:14 +02:00
Gregory Hainaut fd7b692d00 Merge pull request #251 from xsacha/memzero_ptr
Remove redundant memzero_ptr. All compilers use SSE implementation
2014-09-21 17:15:54 +02:00
Gregory Hainaut 1b6188ee1d Merge pull request #281 from xsacha/memcmp
Remove usages of memcmp_mmx
2014-09-19 21:43:19 +02:00
ramapcsx2 9ee88ad070 Merge pull request #273 from Kingcom/Interpreter
R5900 interpreter breakpoints
2014-09-18 16:40:56 +02:00
Kingcom a95e55dc54 Add breakpoint support to R5900 interpreter 2014-09-18 16:31:44 +02:00
Johannes Obermayr 9fd2f3dd8a Don't use build date on openSUSE.
Fixes RPMLINT warning:
pcsx2.i586: W: file-contains-date-and-time /usr/bin/pcsx2
Your file uses  __DATE and __TIME__ this causes the package to rebuild when not needed
2014-09-17 22:37:34 +02:00
Johannes Obermayr 7b1d3ba7ea Do commits 2bc2047 and f287754 the right way ... 2014-09-16 19:11:11 +02:00
ramapcsx2 12e8f7d0b4 "Support all functions of type D and E codes" for cheat patches (pnach) by
tadatada
2014-09-16 11:03:10 +02:00
Sacha bf7c29e4cd Disable memcmp_mmx for non-msvc compilers and 64-bit. Remove MemcpyFast.S (Linux). 2014-09-16 17:53:54 +10:00
Johannes Obermayr 2bc2047770 cmake: Fix RPATH/RUNPATH issue with openSuse wxWidgets libdir.
Gregory: Add an if clause to only change the rpath on openSuse

For me it doesn't follow the FHS => http://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/fhs.html
2014-09-14 13:12:26 +02:00
ramapcsx2 98d22f8b2e Merge pull request #215 from xsacha/memcpy
Remove some slow, redundant memcpy implementations: memcpy_const/memcpy_...
2014-09-12 19:57:57 +02:00
Kingcom 8dba78abce Add step out feature 2014-09-11 14:17:43 +02:00
Kingcom d3ffd13c25 Add stack frames list to debugger 2014-09-11 14:17:43 +02:00
Kingcom 4768f293bf Port stack walker from PPSSPP 2014-09-11 14:15:07 +02:00
ramapcsx2 f7192b82b1 Merge pull request #274 from Kingcom/Scrollbars
Fix column width in debugger
2014-09-06 00:35:47 +02:00
ramapcsx2 08dc8b40e4 Merge pull request #272 from Kingcom/Scanning
Complete function scanning
2014-09-06 00:32:51 +02:00
uyjulian f3a50a01a7 cmake: Use previous macros in CMakeLists.txt files
Gregory: add a c lib for zzogl-pg-cg replayer
2014-09-05 20:16:23 +02:00
Kingcom b717691901 Fix duplicate f21/fcr21/vf21 2014-08-30 12:49:59 +02:00
Sacha 5287de930b Create a Math.h utility. Use it for count leading sign bits, used in MMI. 2014-08-28 00:42:53 +10:00
Sacha ad3b76c4d8 Remove all custom memcpy usage from core pcsx2 and remove memcpy_fast from plugins. 2014-08-27 13:45:23 +10:00
Sacha 3f7cb991e4 Remove some slow, redundant memcpy implementations: memcpy_const/memcpy_qwc/memcpy_aligned. 2014-08-27 13:13:48 +10:00
ramapcsx2 ec7fb80a5b Merge pull request #271 from Kingcom/Threads
Add threads list to debugger
2014-08-25 15:56:00 +02:00
ramapcsx2 d694a3a166 Merge pull request #263 from Kingcom/Recompiler
Fix recompiler breakpoint flushing logic (debugger related)
2014-08-25 15:33:39 +02:00
Kingcom d8f3e22f14 Fix column width in debugger lists when scrollbars are present 2014-08-23 15:03:57 +02:00
Pseudonym 3fa5816aab Merge pull request #265 from Sonicadvance1/x86_64-vtlb
Get the VTLB working on x86_64.
2014-08-22 22:40:45 +01:00
Pseudonym e5f7057539 Merge pull request #255 from Kingcom/Disasm
Add a couple of pseudo instructions to the R5900 disassembler
2014-08-22 22:35:52 +01:00
Kingcom 259a699613 Add shared source and dest register simplifications 2014-08-22 23:28:32 +02:00
Kingcom d1619af18c Simplify disassembly of memory access with zero offset 2014-08-22 23:28:28 +02:00
Ryan Houdek bddb2504b5 Get the VTLB working on x86_64.
VTLB does some nonsense with signed integers for the pointers.
We've got to make sure to set the signed bit in the correct bit on 64bit pointers so it works.
2014-08-22 15:31:40 -05:00
Kingcom 769cb6a369 Port the rest of the function scanning over from PPSSPP 2014-08-22 22:23:49 +02:00
Pseudonym 4512306207 Merge pull request #248 from Kingcom/OpcodeFlags
Add flags to R5900 opcodes, use them for the debugger
2014-08-22 20:55:08 +01:00
Kingcom 430c617a95 Use flags for breakpoints and memchecks in the recompiler 2014-08-22 21:50:09 +02:00
Kingcom 9fde236512 Update analyst to use new flags 2014-08-22 21:50:09 +02:00
Kingcom 72c2158b17 Add fcr registers to DebugInterface and rename others 2014-08-22 21:50:06 +02:00
Kingcom f7ac17b6be Fill in flags for most debugger relevant opcodes 2014-08-22 21:50:05 +02:00
Kingcom 1e3e5c92a8 Add thread list to debugger 2014-08-22 16:11:16 +02:00
Kingcom 5f7a3a8ca9 Read EE threads from bios (thanks @gregory38) 2014-08-22 16:11:13 +02:00
Kingcom 5b14f7de64 Add a list with bios version specific information 2014-08-22 16:11:10 +02:00
Sacha f484f35d85 Remove some unused code such as data moves and tags in iCore.
The code was sitting there only serving to confuse people. The tags were a way of setting an 'isXMMreg' inside a function and the values actually didn't mean anything.
2014-08-22 00:42:40 +10:00
Kingcom 9e6fac5faa Fix recompiler breakpoint flushing logic 2014-08-20 17:12:48 +02:00
Kingcom b72963ee5f Make simplifcations in the disassembler optional 2014-08-19 15:45:50 +02:00
Kingcom a696bf0d02 Add branch pseudo opcodes to R5900 disassembler 2014-08-19 14:58:00 +02:00
Kingcom b0cef1b143 Add a couple of pseudo instructions to the R5900 disassembler and display signed immediates as signed 2014-08-19 14:58:00 +02:00
Sacha 7a260c9885 Remove redundant memzero_ptr. All compilers use SSE implementation anyway. 2014-08-17 23:23:55 +10:00
Tobias Jakobi 6eb0ecbe7c debugger: fix static/extern issue which broke compilation
Previously (on gcc) compilation would fail with:
pcsx2/DebugTools/DisR5900asm.cpp:58:37: error: ‘R5900::GPR_REG’ was
declared ‘extern’ and later ‘static’ [-fpermissive]
2014-08-17 14:52:13 +02:00
Kingcom a8c5454724 Add flags field to R5900 opcodes 2014-08-16 20:33:45 +02:00
Pseudonym 05b33012b7 Merge pull request #241 from Kingcom/Debugger
Always enable debugger
2014-08-15 23:31:23 +01:00
Pseudonym 91fcad0a93 You know that commit where I removed the GTE? Apparently I didn't. 2014-08-15 23:22:25 +01:00
Kingcom f5fe75a73b Allow to share writing to the ISO through an ini option 2014-08-15 23:52:45 +02:00
Kingcom df0fb9551f Always enable debugger 2014-08-15 21:25:30 +02:00
Pseudonym 7e5b6dee9c Removed System.map symbol file support.
I'm not sure what this is actually to be honest, ancient release notes say it was ps2linux related but I don't think this is Linux System.map compatible... regardless ps2linux isn't exactly high on our priority list.
2014-08-15 18:56:42 +01:00
Pseudonym 174e121034 Load symbols from ELFs. (Thanks Kingcom for this one liner.) 2014-08-15 18:44:01 +01:00
Pseudonym 9ebd9c4447 Removed long disabled code for inserting command line parameters for ELFs into EE memory. We'd have to do this completely differently in the current system anyway. 2014-08-15 18:41:24 +01:00
Pseudonym 4400b56fb5 Removed actual ELF loading from the ELF parser as we leave this up to the BIOS now. 2014-08-15 18:39:24 +01:00
Pseudonym 4de63714ce Replaced some printf(string)s with printf("%s", string) in R5900 block dumping. 2014-08-15 17:37:07 +01:00
Pseudonym 0ca72a7d60 Merge pull request #240 from Kingcom/DisR5900Removal
Remove redundant Disr5900
2014-08-15 16:55:12 +01:00
Pseudonym 2aa34186e1 Scrapped abortive GTE (PSX GPU) support so that certain people can stop fiddling with untestable code. We don't know whether the PS2 even has a hardware GTE and thanks to the miracle that is source control we can revive this module if needed. 2014-08-15 16:47:42 +01:00
Pseudonym adc76243dc Merge pull request #239 from xsacha/stats_removal
Remove Stats.{cpp,h}, which was not being used by anything.
2014-08-15 16:35:33 +01:00
Pseudonym 565e72d9d7 Merge pull request #209 from xsacha/jASSUME
Remove deprecated jASSUME from pcsx2 core. It is still used in some plugins.

[I should note that this may change the performance of the devel target on msvc as jASSUME was compiling to __assume on devel and release while pxAssume only compiles to __assume on release]
2014-08-15 14:38:06 +01:00
Kingcom 2d7ef30e59 Remove redundant Disr5900 2014-08-15 15:23:45 +02:00
Pseudonym 9284a01346 Removed redundant initialisation code (covered in the resets), reverted a little pointless shuffling. 2014-08-15 14:09:18 +01:00
Pseudonym b574d06f5f Merge pull request #214 from xsacha/init_vars
Init vars directly instead of using dedicated functions
2014-08-15 14:04:06 +01:00
Pseudonym 1c29874541 Removed unused variables. 2014-08-15 13:55:19 +01:00
Pseudonym 08d8026fa3 Removed a couple of unhelpful comments from today and a bunch from 2003. 2014-08-15 13:55:16 +01:00
Pseudonym 2286ac1c49 Merge pull request #221 from xsacha/vuops-2
Improve readability in the VUops.
2014-08-15 13:55:14 +01:00
Sacha 8d616133d6 Remove Stats.{cpp,h}, which was not being used by anything. 2014-08-15 18:08:03 +10:00
Sacha 7568f6f2ec Remove deprecated jASSUME from pcsx2 core. It is still used in some plugins 2014-08-15 14:32:56 +10:00
Sacha 3271048ab6 Remove init procedures from Hw.cpp 2014-08-15 14:17:35 +10:00
Sacha 791bfc181b Use a function with u32 inputs and make sure all the casts match, because.. 2014-08-15 13:55:14 +10:00
archshift fb9c24b900 Removed `using std::min/max` from PCH 2014-08-14 14:55:52 -07:00
Pseudonym 05d5f06bb5 Merge pull request #224 from xsacha/sse2-force
Require SSE2 instead of SSE+MMX. SSE2 implies SSE+MMX is supported, so all checks of of 'SSE' and 'MMX' can be removed.
2014-08-14 22:43:06 +01:00
Pseudonym 9dd9448d02 Merge pull request #213 from xsacha:patch_obsolete
Remove cheat patches obsoleted by a change in the UI, more than 4 years ago
2014-08-14 21:23:20 +01:00
Pseudonym cb2593f2bb Merge pull request #210 from xsacha:plugin_cleanup
Some cleanup to improve readability.
2014-08-14 20:37:41 +01:00
archshift 466e6008ad SamplProf.cpp: Removed "using namespace std" 2014-08-14 11:23:50 -07:00
archshift 396e42e17c sVU_zerorec.cpp: Removed "using namespace std" 2014-08-14 11:23:50 -07:00
archshift f808593b2d DisR5900asm.cpp: Removed "using namespace std" 2014-08-14 11:23:50 -07:00
archshift 7de0065216 Elfheader.cpp: removed "using namespace std" 2014-08-14 11:23:50 -07:00
archshift 285e07be76 MicroVU: removed usage of "using namespace std" 2014-08-14 11:23:50 -07:00
Pseudonym 66765d827b Merged pull request #199 from xsacha/oldcode
Remove some horrible old code.
2014-08-14 19:12:19 +01:00
Pseudonym 19ea90aff5 Merge pull request #195 from Kingcom/DebuggerLists
Abstract list view behavior
2014-08-14 18:57:50 +01:00
Pseudonym ad58118df0 Merge pull request #183 from Kingcom/Assembler
Add integrated assembler
2014-08-14 18:47:38 +01:00
Kingcom 2a0be7e91e Abstract list view behavior 2014-08-14 18:32:21 +02:00
Lioncash 54798d4743 Core: Get rid of C void parameter carryovers 2014-08-14 03:21:09 -04:00
Sacha 6f5e0f96b4 Require SSE2 instead of SSE+MMX. SSE2 implies SSE+MMX is supported, so all checksOF of 'SSE' and 'MMX' can be removed.
SSE2 is supported on more than decade-old x86 CPUs. Almost(?) every x86 CPU since PS2 was released.
Certainly running the existing code on a non-SSE2 computer resulted in most of the code being disabled anyway and the emulator being incredibly slow.
This removal will hopefully allow the removal of MMX/3DNow code as it has been superceded.
2014-08-14 16:01:34 +10:00
Sacha 9dea86068a Remove giant min/max defines and make their usage more understandable. 2014-08-14 12:46:57 +10:00
Sacha af3482b7cd Improve readability in the VUops. 2014-08-14 10:58:31 +10:00
ramapcsx2 d247a79e48 Merge pull request #187 from lioncash/bool
Use bool constants instead of magic numbers in microVU
2014-08-13 13:17:24 +02:00
Sacha a3bc6a73a3 Remove some horrible old code.
Remove an assert define and instead use the static_assert that all compilers provide.
As an added bonus, assert messages\!
2014-08-13 13:55:32 +10:00
Sacha e1bf7daf59 Remove cheat patches that were obsoleted by a change in the UI, more than 4 years ago. 2014-08-13 13:27:01 +10:00
Sacha 9dcaaedf06 Some cleanup to improve readability.
Remove old compiler hacks that are no longer needed.
Fix up some spacing and comments that hid code.
Fix a critical bug in deprecated plugin peopsSPU.
2014-08-13 13:05:33 +10:00
ramapcsx2 9c58537078 PCSX2: Removed the "managed VSync" option. I don't think it saw much use
anyway.
2014-08-12 14:53:51 +02:00
ramapcsx2 c46749f236 Merge pull request #196 from archshift/using
Removed uses of `using std::string`
2014-08-12 10:40:49 +02:00
David Quintana c09469a71c Merge pull request #204 from archshift/auto-itr
Simplified loops by declaring iterators with 'auto'
2014-08-10 22:07:31 +02:00
archshift afbb5e2721 Simplified loops by declaring iterators with 'auto' 2014-08-10 01:48:57 -07:00
Gregory Hainaut b2df6152af Merge pull request #191 from Sonicadvance1/remove-stupid-define
Removes the usage of __LINUX__ define
2014-08-06 21:56:16 +02:00
ramapcsx2 98aad6ef76 Merge pull request #197 from archshift/no-comprende
PrecompiledHeader.h: Add a comment to clarify redefinition of BOOL
2014-08-06 13:19:24 +02:00
archshift 730d7ec528 Added comment explaining redefinition of BOOL 2014-08-06 04:15:23 -07:00
archshift c911ba4747 Revert "PrecompiledHeader.h: Removed WTF-redefines"
This reverts commit 9fdb318776.
2014-08-06 04:12:38 -07:00
archshift 9fdb318776 PrecompiledHeader.h: Removed WTF-redefines
Removed redefinition of TRUE and FALSE, and removed typedef of int to BOOL
2014-08-06 03:46:15 -07:00
archshift d92a621a70 DisR5900: removed `using std::string` 2014-08-06 03:14:11 -07:00
archshift 7734f2eed8 Gif.cpp: removed redundant `using std::min` 2014-08-06 03:06:58 -07:00
archshift 10dc0bcfa2 Removed `using std::string`
`using` classes from namespaces can lead to lack of clarity as to where
the class is coming form.
2014-08-06 03:01:48 -07:00
Ryan Houdek 3d37a6ce27 Removes the usage of __LINUX__ define
This is defined and set it a ton of different places.
It's checked in a whole lot more
Instead just use __linux__ like a real project should
2014-08-03 13:20:36 -05:00
Gregory Hainaut 82c7bcd761 wx3.0: compilation fix for arch linux
* Manually cast WxGetTranslation
* Accept string as format parameter of pxWindowTextWriter
* Manually convert wxString to wide string

Note: Wx setup.h is not the same between Debian and Arch. Unfortunately it
generated various compilations errors on wx code.

Close issue #172
2014-08-03 14:54:44 +02:00
Gregory Hainaut 3c9367825c wx3.0: partially revert 1fda2a611c
I wrongly removed code that set the language directory on Windows.
Linux uses another way (don't know which one)

close issue #189
2014-08-03 14:53:06 +02:00
Gregory Hainaut 61088b71c6 cmake: gcc warning management
* disable unused value warning (don't like the syntax 0&&)
* remove -Wno-ignored-attributes (c option). It replaces gcc warning
    by an unsupported option warning...
2014-08-03 14:43:08 +02:00
ramapcsx2 67f934a902 Fixed a missing word in gamefixes panel 2014-08-01 15:04:34 +02:00
Lioncash ed65172308 Use bool constants instead of magic numbers in microVU 2014-07-31 20:34:16 -04:00
Kingcom 7d49f75317 Replace square character with unicode value 2014-07-31 20:38:26 +02:00
Kingcom 3e883e4be4 Integrate assembler 2014-07-31 20:38:26 +02:00
Pseudonym de5a55c03e Merge pull request #176 from Sonicadvance1/x86_64-recompiler-casts
Fix a bunch of casts in the x86 recompiler core.
2014-07-31 15:03:26 +01:00
Pseudonym 4d06f982db Merge pull request #181 from lioncash/elif
Remove 'elif' define from Pcsx2Defs and microvu_misc.h
2014-07-31 14:21:47 +01:00
Pseudonym 1fb057462a Merge pull request #180 from lioncash/const
Apply const to some functions in Gif_Unit.h
2014-07-31 13:47:10 +01:00
Kingcom e862047142 Add write32 method to DebugInterface 2014-07-31 14:10:36 +02:00
Kingcom 90eb776310 Add assembler 2014-07-31 14:10:36 +02:00
Lioncash ac558afc8a Remove 'elif' define from Pcsx2Defs and microvu_misc.h 2014-07-30 23:44:04 -04:00
Lioncash 10fd86fd68 Apply const to some functions in Gif_Unit.h 2014-07-30 22:52:00 -04:00
Ryan Houdek 08a6ff6e6c Fix a bunch of casts in the x86 recompiler core.
There are a load of casts from pointers to 'int' and 'u32' in the JIT core.
This takes a better practices approach to the problem and casts to uptr instead.
Zero functionality change of course, just changes all of these terrible casts to going to uptr which makes the casting style consistant and work on
both x86_32 and x86_64.

This obviously doesn't work around the issue of the recompiler not running on x86_64, but we need compiling before we delve further.
2014-07-30 18:32:36 -05:00
Ryan Houdek 7d13f96e28 Fixes a few casts in the DisassemblyDialog and PluginSelectorPanel.
We are casting wxWidget's events userdata from void* to integers.
So use uptr instead since it'll work on both x86_32 and x86_64.
2014-07-30 18:25:13 -05:00
Pseudonym e726f82344 Merge pull request #161 from Kingcom/Debugger
Debugger enhancements
2014-07-30 18:24:38 +01:00
Gregory Hainaut 5c054fb486 pcsx2: compilation issue (miss a L for wstring) 2014-07-30 19:19:42 +02:00
Kingcom c79fe9a1e7 Fix linux issues 2014-07-30 19:02:39 +02:00
Kingcom 15943eddb1 Fix string handling in breakpoint list 2014-07-30 19:01:50 +02:00
Kingcom 8d1e294b32 Also highlight registers accessed by memory opcodes 2014-07-30 19:01:49 +02:00
Kingcom c4e89bea32 Add function list 2014-07-30 19:01:49 +02:00
Kingcom b37f6e9df1 Fix display of memory breakpoint enable status and add context menu to breakpoint list 2014-07-30 19:01:49 +02:00
Kingcom 30a5e31b66 Show the cycles passed in the debugger 2014-07-30 19:01:48 +02:00
Gregory Hainaut 41d2ea4306 i10n: refresh all languages
Remove the --previous option of po generation. It broke some translations.

Remove the translation of PCSX2 version, no point to translate C format symbol.
2014-07-30 09:21:49 +02:00
Gregory Hainaut 6485bd89d9 common: drop remaining of HashMap
Ryan Houdek removes all use of this code.

Let's remove the left-overs too, beside it will removes the sparsehash depencency
2014-07-29 21:06:31 +02:00
Gregory Hainaut 38f617233d pcsx2: don't rely on 3rdpary to bring back include dependency 2014-07-29 21:06:30 +02:00
Gregory Hainaut 9e774eb41c pcsx2: use int instead of uint on file reader
Fix a crash when offset was negative. Offet becomes bigger than my input file.
2014-07-29 20:52:18 +02:00
Kingcom 6f101c0a0c Add small lines between four byte groups in the memory view and fix status bar text not being displayed 2014-07-29 20:50:58 +02:00
Gregory Hainaut 1d5b250b58 pcsx2/cdvd: kill a small memory leak 2014-07-29 20:49:46 +02:00
Gregory Hainaut e7d0a0345e pcsx2/: remove ^M eol on 3 files 2014-07-29 20:49:46 +02:00
Gregory Hainaut 50868f14f6 pcsx2: don't access member data directly 2014-07-29 20:45:46 +02:00
Gregory Hainaut 79701aa613 gui:debugger: clean string management
Let's use the FastFormatUnicode infrastructure
2014-07-29 20:45:46 +02:00
Gregory Hainaut ac41ba1f73 wx3.0: rename some deprecated API call
Avoid various gcc warning

Note: Compatible with recent wx2.8 version
2014-07-29 20:45:45 +02:00
Gregory Hainaut 76237955c7 wx3.0: fix various string printing on linux
wide-char must use %ls format on linux. Don't rely on non standard %s/%S
2014-07-29 20:45:44 +02:00
Gregory Hainaut cfa8e94e95 wx3.0: disable an useless symbol on linux
Not used and print an error message for each plugins.
2014-07-29 20:45:44 +02:00
Gregory Hainaut 01de778831 wx3.0: various buggy code (wx assertion)
v3: reenable dc.GetSize, I didn't manage to reproduce the assertion failure
2014-07-29 20:45:44 +02:00
Gregory Hainaut 1fda2a611c wx3.0: various interface update
v3: partially revert previous version

* Keep old behavior for translation on wx2.8
* Revert wxDataObjectSimple parameter change
+ feature is MSW only
+ devs are welcome to improve it
* restore standard path, only update the reference type
2014-07-29 20:45:44 +02:00
Gregory Hainaut d5d19acb3f wx3.0: lots of cast...
Various string as still wrong but at least it can be compiled now.

I think the remaining issue are w_char with %s format (at least on linux)
2014-07-29 20:45:44 +02:00
Gregory Hainaut 91afc2079c wx3.0: force wide char as expected
Note: on linux it would be better to force everythings to use UTF8
2014-07-29 20:45:43 +02:00
refraction fb5b7a34e3 VIF: Modification to illegal IRQ's on NOP's Fixes #162 . Some games like Looney Tunes Back In Action use the lower 16 bits for special codes, so we only check the command info area (not the command itself of course, that would be silly). 2014-07-24 18:22:00 +01:00
Kingcom b23062c54a Check for alignment when accessing memory with the debugger 2014-07-19 01:05:41 +02:00
Pseudonym 455a20d852 Removed unnecessary #include after pull request #154. 2014-07-18 21:54:46 +01:00
Pseudonym a3498c506f Merge pull request #154 from from Kingcom/Debugger
Revert part of #140
2014-07-18 21:50:59 +01:00
Kingcom 2505291065 Revert part of #140 2014-07-18 22:17:41 +02:00
Forrest McDonald 81458912f9 pcsx2: remove template and pointer on overload function from wxGuiTools
Fixed clang build.

Note from Gregory:
C++ requests that at least 1 parameters is a class, an enumeration, or a
reference to those objects. Probably to avoid to screw basic type operation.
For example: *p += 4;

The realy buggy code was this one because T could be an int!
template T
f(*ptr, T)

To avoid any issue in the future the Team decide to drop all overload that use pointers.
2014-07-18 19:20:53 +02:00
Forrest McDonald da93a960af clang fix for narrowing 2014-07-18 19:14:41 +02:00
sudonim1 85bb789ffa Merge pull request #148 from Sonicadvance1/remove-dictionary
Remove most of HashTools.
2014-07-16 18:10:56 +01:00
Ryan Houdek ba7b0612dc Use the iterator to get the value from maps to avoid two look ups. 2014-07-16 12:00:50 -05:00
Kingcom 3db06d7426 Highlight arguments from disassembler selection 2014-07-16 16:20:03 +02:00
ramapcsx2 d6b042f9fe Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-16 12:32:51 +02:00
Ryan Houdek 391cf379ae Remove usages of HashTools::Dictionary/HashMap
Replace these usages with unordered_map since they are just as quick
2014-07-15 22:02:14 -05:00
Ryan Houdek 2c6188b73f Switch the GameDatabase from using a pxDictionary to a std::unordered_map.
Both implementations are about the same, which is hard to measure since we are limited in speed due to the hashing function.

Both implementations averaged ~220ms to load the full game database on my workstation.
2014-07-15 20:55:52 -05:00
sudonim1 80b22ca2be Merge pull request #140 from Kingcom/Debugger
Various debugger fixes and enhancements
2014-07-15 23:59:07 +01:00
Kingcom 53159a81cf -Add lq/sq preview
-fix potential memory access exceptions
-prevent the disassembly from changing positions when a breakpoint is toggled
-only use the status bar text from the current cpu
2014-07-16 00:51:53 +02:00
sudonim1 c21dd828d5 Merge pull request #137 from Sonicadvance1/vtlb-64bit
Fix vtlb compiling for x86_64.
2014-07-15 23:13:08 +01:00
Ryan Houdek 97bed8e710 Fix vtlb compiling for x86_64.
This has no functional change on x86_32, it's mostly just changing a few pointer to u32 conversions to uptr and sptr.

I can not yet confirm if this runs on x86_64, but compiling is enough of an issue currently.
2014-07-15 16:42:59 -05:00
sudonim1 aaf70d652b Merge pull request #138 from Sonicadvance1/yuv2rgb-64bit
Let non-x86_32 use the reference yuv2rgb conversion function.
2014-07-15 22:34:38 +01:00
sudonim1 91f23938b5 Merge pull request #136 from Sonicadvance1/gui-pointers
Fix two conversions of pointers to integer in the GUI.
2014-07-15 22:20:37 +01:00
Ryan Houdek 0af0db6593 Fix two conversions of pointers to integer in the GUI.
Use uptr instead of 32bit integers fixes the issue of compiling.
2014-07-15 16:18:24 -05:00
Ryan Houdek a143a8b1f6 Let non-x86_32 use the reference yuv2rgb conversion function.
The yuv2rgb_sse2 implementation is x86_32 only, so x86_64 can't take advantage of this optimized code path.

This requires the architecture defines to be working fully, so this can't be merged until it is fixed on the Windows side of things.
2014-07-15 15:31:07 -05:00
Ryan Houdek a1d6ca2298 Fix microVU converting pointers to u32.
Convert them to uptr instead to make it architecture independent.
2014-07-15 15:04:08 -05:00
David Quintana 69f57351b2 Merge pull request #109 from Sonicadvance1/windows_arch_defines
Support _ARCH_32/64 defines on Windows
2014-07-15 17:04:21 +02:00
Ryan Houdek 6b1ee680a2 Support _ARCH_32/64 _M_X86[_32/_64] defines on Windows
This defines the correct define depending on architecture build target.
Currently Windows doesn't support a x86_64 build target, but once it does the define will be in place.
2014-07-15 09:16:37 -05:00
sudonim1 86a0d3faff Merge pull request #124 from lioncash/array-bounds
sVU_zerorec.cpp: Correctly guard against invalid indexes in SuperVUDestroy
2014-07-15 11:27:53 +01:00
ramapcsx2 3daff15f34 Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-15 11:56:55 +02:00
Lioncash a1080f4853 sVU_zerorec.cpp: Correctly guard against invalid VU indexes
recVUHeaders and recVUBlocks are both arrays of size 2. Prior to this, it would allow an index of 2, which is out of range.
2014-07-14 22:44:31 -04:00
Lioncash 673bac12a6 COP0: Fix indentation for function TLBR 2014-07-14 22:07:02 -04:00
Forrest McDonald b24d4cce8d Clang doesn't support some flags that GCC does, so conditionally check the compiler and add them if we are doing a GCC build 2014-07-14 13:54:31 +02:00
ramapcsx2 0121366f65 Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-12 20:23:01 +02:00
Gregory Hainaut 7318814474 pcsx2: remove/disable brace warning 2014-07-12 16:04:07 +02:00
Gregory Hainaut afc4f3386a pcsx2: be sure that variables are initialized 2014-07-12 16:03:06 +02:00
Gregory Hainaut c6c6171841 pcsx2: don't hide base function
As far as I understand you can't mix virtual (select at runtime) and
overloading (select at compile time).
2014-07-12 16:01:21 +02:00
ramapcsx2 58b63cb58c Merge branch 'master' of https://github.com/PCSX2/pcsx2 2014-07-12 14:41:50 +02:00
Gregory Hainaut 4fdfd04d3c partially revert c5d2343f51
Parameter name can help to understand the code so let's keep them.
Clang warning was disabled in previous commit
2014-07-12 13:30:34 +02:00
Gregory Hainaut c73ce3d02d pcsx2: don't use 0&& to remove code
It works but compiler is not happy because it is still parsing the full line.
2014-07-12 12:59:23 +02:00
Gregory Hainaut f3d03b025a pcsx2: reorder init of member in constructor
Init must be done in the order of declaration
2014-07-12 12:59:23 +02:00
Gregory Hainaut a1ac59a48a pcsx2: add various default case statement
Note: add a note on some case note handled properly not sure how to fix them.
Actually there are potentially invalid case.
2014-07-12 12:59:23 +02:00
Gregory Hainaut f401f817ed cmake: sdl opt typo + clean warning management
Add back a lots of warning in the core!
2014-07-12 12:59:23 +02:00