Commit Graph

1751 Commits

Author SHA1 Message Date
Jake.Stine 1ea29b0e62 Lilypad: Implemented full support for child-window GS viewports (fixes windows messaging being broken from the prev rev).
DevNotes: The main change here was to turn WndProcEater into a class and create multiple instances of it, so that it could manage the WndProcs for multiple windows concurrently.  The "frame" (top-level window) gets a WndProc that sets title and handles screensaver/alt-enter hacks.  The "viewport" (provided by PCSX2) gets the usual keyboard input handler WndProc.  Config buttons also have their own WndProc that avoid fuzzy logic conflicts with the other two.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2277 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-30 20:52:09 +00:00
Jake.Stine ee4d5075db project file fix for devel and release mode targets
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2276 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-30 03:03:04 +00:00
Jake.Stine 64c12f5a7a Video/GS Window and Panel Options (partly!) implemented:
* Aspect ratio and mouse cursor hiding features should be mostly functional.
 * Mouse cursor by default hides after 1.75 seconds of inactivity, when in the area of the GS window.  Can be forced to always hidden in the control panel.  Unlike the liilypad hack, this one won't hide the mouse in the main window or title bars.  (and it should work for Linux too!!)
 * GS window position and size should be remembered between sessions.

Console Logger window z-order is now "bound" to the main window.  When clicking either window to bring it to focus, the other window follows (implemented for Win32 only, since wxWidgets doesn't have a cross-platform implementation of the necessary SetWindowPos call).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2275 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-29 22:50:55 +00:00
Jake.Stine 45ca512437 wxWidgets/Win32: Re-introduce wxWidgets resources for blank mouse cursor (actually never existed in our packaged copy as originally borrowed from Dolphin).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2274 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-29 22:46:45 +00:00
arcum42 867bc0fb17 Simplified transfers. Removed some extraneous code, and moved some enums to Dmac.h.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2273 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-29 14:06:38 +00:00
arcum42 80f99f09d6 Let's not override WriteText in Linux for the moment.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2272 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-29 03:49:12 +00:00
Jake.Stine 740777ec1e Maybe better console log behavior when dragging scrollbars; move some code out of ConsoleLogger.cpp into new files to reduce clutter and mammoth file size.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2271 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-28 17:16:10 +00:00
ramapcsx2 97332663c2 GSdx:
- Let's try that pixel cropping again. Hope it doesn't blur ffx this time.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2270 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-28 15:46:51 +00:00
Jake.Stine 295d751f4a Using the Console Log scrollbars to read back history will automatically throttle emulation temporarily, until the scrollbar is released.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2269 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-28 15:44:33 +00:00
arcum42 b0db54ae35 Merging LSNtoMSF and lsn_to_msf reversed the order of the results in one spot. Change the order back.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2268 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-28 10:51:17 +00:00
arcum42 fd141f08e7 Fixed the return result of FStype_ToString, added some missing GPL statements in a few files, merged a few redundant functions, and such...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2267 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-28 08:13:49 +00:00
Jake.Stine c2368da81c Layer break search works on an inside->out path now (should be a good bit faster for most images).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2266 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 23:20:13 +00:00
Jake.Stine fedbb42a96 * Cdvd Layer break cache uses hashed strings instead of the literal filename.
* Minor fix to cdvd layer break console log.

(and yes it's confirmed, this fixes GoW and Rogue Galaxy layer break freezes!)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2265 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 22:39:39 +00:00
Jake.Stine f1f5b985ca Layer break detection improved -- might fix GoW and Rogue Galaxy layer break problems; and added a layer break cache so that layer breaks need only be searched for once. Layer break info is saved to LayerBreakCache.ini.
The old layer break detection method assumed layer1 was never longer than layer0, but layer1 is in fact the longer layer on aforementioned games.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2264 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 22:14:32 +00:00
Jake.Stine ded0aabaa5 Signed/Unsigned bug introduced from r2217 squashed (fixes Issue 483: Extreme G3 crash); also added some more complete filesystem partition detection and logging to IsoFS.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2263 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 19:23:21 +00:00
arcum42 b78944866b Fix a if statement I missed in the last commit, and add in a couple functions for printing structs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2262 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 15:25:26 +00:00
arcum42 f11a138ce9 Change the return values on some Vif functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2261 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 13:49:37 +00:00
arcum42 82a506cd04 I'm not trying that again anytime soon...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2260 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 07:54:40 +00:00
Jake.Stine 434bb37d63 Expand the system.map symbol table string length from 32 to 64 chars (fixes debug assertion in Silent Scope 3); and other minor code comments added.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2259 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 06:47:32 +00:00
arcum42 2b1a9277ee Various tag stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2258 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 05:31:32 +00:00
Jake.Stine 7e2ff95a97 Remove Windows Vista/7 SDK requirement for compiling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2257 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 00:06:56 +00:00
Jake.Stine ab010e1bc9 * Fix Issue 488 - FPU Full mode was being ignored.
* Slightly smaller and brighter camera icon.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2256 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 13:09:23 +00:00
arcum42 bedb21f3d6 Fix up Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2255 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 10:51:41 +00:00
Jake.Stine 474a404dfd Turn an ugly snapshot button into a pretty one!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2254 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 07:01:24 +00:00
Jake.Stine 03449cf682 * Improve GUI responsiveness while doing things like enumerating/loading plugins.
* ConsoleLogger Optimization: Improved performance considerably for when the log gets spammed by EEcore or MTGS threads.

DevNotes:
 * Added a new pxYieldToMain() method (currently implemented in Win32 only).  It provides a smart way to allow passive-task worker threads to yield time to the Main Thread when important messages are pending (keyboard or mouse clicks, primarily).  It also replaces the wxGetApp().Ping() stuff, which never worked anyway due to wxCommandEvents having a higher priority than native system messages.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2253 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 03:37:10 +00:00
Jake.Stine 35c78ae660 Added a "Screenshot" button to the Settings window; it saves a screenshot of the settings to png file. :) It's just preliminary for now. I'll replace it with an artsy icon later, hopefully. :)
Cleaned up the operator overloads some more, and added operator,  (yes, comma) to solve some ambiguity problems when trying to apply multiple attributes to a single window.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2252 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-25 15:38:24 +00:00
Jake.Stine cf05172691 User Interfacing:
* Added bold text to indicate default options on CPU settings panels.
 * Hitting 'Restore Defaults' activates the Apply button.
 * Fixed some missing confirmation dialog text.
 * More conversions of interface code to use the new += and | operators.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2251 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-25 03:54:57 +00:00
Jake.Stine ae42481315 More MTGS optimizations.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2250 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 22:49:05 +00:00
ramapcsx2 d95b317082 GSdx: Turn of the spam :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2249 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 22:25:50 +00:00
ramapcsx2 651a73a16c GSdx:
- Removed the outer pixel cropping, it causes blur in some games. (I knew I should've done it elsewhere :p )

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2248 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 21:41:26 +00:00
Jake.Stine b288e82b95 Couple more MTGS sync fixes, and some final optimizations.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2247 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 20:11:43 +00:00
Jake.Stine 2beae92272 MTGS sync fixes (thanks XS2, for being such an MTGS bitch)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2246 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 17:13:07 +00:00
Jake.Stine 2b47122b44 MTGS sync bugfix, and remove some console spam caused by a last sectond addition to my prev commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2245 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 16:08:59 +00:00
arcum42 e68d6048f9 Change an assert not to be fatal, to prevent a few games from dying if skipping the bios in dev mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2244 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 13:45:36 +00:00
Jake.Stine 2f99d8c514 MTGS Optimization! Implemented EEcore thread sleeping and signaling. [as always: MTGS changes are experimental, and need testing to isolate potential thread sync bugs, which are usually quite random in nature]
Important Notes: I designed the new MTGS to largely favor speed on GS intensive scenes, at the possible cost of some speed loss on scenes that do very little GS work (simple boring menus, mostly).  The idea is that losing 5-10% on a menu screen that already runs *really* fast is a valid trade off for possibly gaining a few FPS for in-game scenes (especially slow ones that need it most).  So don't benchmark this thing on game menus and expect it to be faster.

The new MTGS also has several other benefits that do not currently reflect well in benchmarking:
 * It renders only two frames ahead instead of 8.  This is great for fixing laggy input problems, but bad for benchmarking.  If the new MTGS manages the same speed while having lost the queued frames count, it's a sizable achievement.

 * It works a lot nicer with the GSdx software rasterizer in general.
 * It's new design will work nicer with future DX11 multithreaded features, when supported.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2243 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 08:43:36 +00:00
Jake.Stine 48ca426be4 Added AtomicBitTestAndReset() to thread tools and added a Normalize helper to 'Path' namespace.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2242 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 08:32:39 +00:00
ramapcsx2 856bcef278 GSdx:
- Remove the silly upscale hacks from an earlier commit
- Replace them with a less silly version in CreateSource() :p
- Remove a few of the outer pixels from the visible area, as they often contain glitches

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2241 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 23:58:25 +00:00
ramapcsx2 0548bfb85b And another SIF timing fix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2240 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 14:54:37 +00:00
arcum42 13e71c413a Remove wxHelpers.h from the codeblocks project. Add a define determining if pcsx2 tries to load PS1 games or not.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2239 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 13:15:48 +00:00
Jake.Stine 4828beb3c3 * Added toggles for game log output: EE StdOut, EE Deci2, and IOP StdOut. Toggles are provided via a menu in the Console Log.
Dev notes:
 * Renamed MtgsthreadObject to SysMtgsThread (matches naming pattern of other thread classes).
 * Added accessors for GetMtgs() and GetCoreThread() [rationale for them documented in source comments]
 * Removed wxHelpers namespace since we're using px name prefix instead for most stuff.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2238 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 06:54:24 +00:00
Jake.Stine 03909ce78c Hacked in a working synchronized MTGS option in the Video panel (it's the only option that actually works at the moment). For debugging purposes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2237 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 10:50:27 +00:00
arcum42 bb64ecfcf2 Attack of the non-POD type objects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2236 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 10:31:36 +00:00
Jake.Stine 4116c7d379 Let's fix some major instabilities in the new MTGS design, shall we. :)
If this rev is nice and stable then I'll go ahead and break things again by implementing the planned synchronization speedups. ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2235 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 09:51:00 +00:00
Jake.Stine 87b443a873 Some preliminary work for improving multithread recoverability and deadlock handling. (not really doing much useful yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2234 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 09:47:52 +00:00
arcum42 ef2c64a28b Catch it if someone hands us a PS1 disc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2233 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 05:16:56 +00:00
gigaherz 7aae31db39 Stop the crash in cdvd detection when system.cnf is too big. Probably not the best way to implement it but it should work.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2232 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 17:24:16 +00:00
arcum42 27c493ec9d Remove the old cpuid gcc hack. Work on IsoFileFormats a bit more.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2231 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 16:44:46 +00:00
Jake.Stine 0433a3872e (experimental) Partial implementation of a new model MTGS. Current features:
* Optimized switch() for dispatching ringbuffer commands (slight speedup maybe, in very GPU intensive apps)
  * Removed 8-frame queue (fixes lag when using vsync + fullscreen).  New queue is 2 frames max.
  * Restart the ring buffer on every other vsync, regardless of ringbuffer fill status (re-uses front portion of the ringbuffer more often, which should improve L2 cache performance nicely).

Planned features:
  * A few m_WritePos threshold checks: Need to implement smart logic for putting the EE thread to sleep when the MTGS ring buffer is lagging (readpos is way behind writepos), and should restart ringbuffer every frame if frames have large amounts of data.
  * Add periodic EE wakeup commands, or an EE wakeup threshold point to the Ringbuffer; to signal a sleeping EE that the ringbuffer is nearing completion and is ready for more data.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2230 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 07:56:29 +00:00
Jake.Stine ae1dcb7ac6 * Fixed some bugs in the SYSTEM.CNF loader (most notably it will not crash on files over 512 bytes -- some PS2 images pad their system.cnf to 32k)
* Botting NoDisc with "Skip BIOS" enabled should work now (untested).
 * Renamed StaticText / StaticHeading helpers to simply Text and Heading.
 * Made the iR5900 recompiler's stack alignment check a dynamic toggle instead of a dev/debug build preprocessor.
 * Fix annoying linux linker errors.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2229 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 07:44:11 +00:00
Jake.Stine 799b89ab65 Fix broken dialog box labels from last night's commit.
Add a note to the Video Panel that it DOES NOT WORK YET. ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2228 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-20 11:25:48 +00:00