Commit Graph

61 Commits

Author SHA1 Message Date
Jonathan Li 93d5b52df3 pcsx2|utilities: Remove ambiguous wxString-related overloads
Avoid some function overloads that can accept char*, wxChar* and
wxString as a parameter. wxString can be constructed with either of
those parameters, so the function overloads may actually result in
ambiguity errors. Keep the wxString parameter versions and remove the
rest.

Fixes some compile errors on FreeBSD.
2018-09-03 01:56:35 +01:00
Jonathan Li 890d7ab953 utilities: Restrict pxWindowAndFlag templates to wxObject derived classes
Fixes a compile error (C2666) on VS2017 15.8 caused by ambiguity issues.
The sstream header uses

constexpr auto _both = ios_base::in | ios_base::out;

Without the extra type restrictions the compiler cannot tell whether to
use the template or the built-in | operator (the const wxSizerFlags &
parameter will accept ints).
2018-08-17 22:37:39 +01:00
Gregory Hainaut 1a9a65d4d0 common: use = default instead of trivial destructor
Strangely clang-tidy didn't report them.

Commit was done with a sed to it need careful review.
2017-05-13 10:38:35 +02:00
Gregory Hainaut b951e24024 common: remove throw specifier on destructor
By default in C++11 destructors are noexcept.
Besides throw is deprecated
2017-05-13 10:38:35 +02:00
Gregory Hainaut 9e101c9ef0 common: use = default instead of trivial constructor/destructor
reported by clang-tidy

Note: drop throw() specifier as it is the 'default' in C++11 for
destructor
2017-05-13 10:38:35 +02:00
Gregory Hainaut 0e2ec9c2cb pcsx2 gui: reduce the padding to 2 for low cost display 2016-11-19 11:27:20 +01:00
Gregory Hainaut 4ee942aba2 pcsx2 gui: use pxGetFixedFont helper instead of wxFont constructor 2016-11-19 11:19:24 +01:00
Clang Format 1fba5cb580 reformat main common directory
Disable some reformat around emitter registers declaration and a massive cases.
2016-11-12 16:52:49 +01:00
Jonathan Li c10728319b utilities: Use Bind compatible event declarations/definitions 2016-06-16 23:49:34 +01:00
Jonathan Li f78d1a4018 utilities: Remove wx2.8 code and uses of wxMAJOR_VERSION 2016-04-29 00:09:47 +01:00
Jonathan Li dda44519c1 pcsx2|utilities: Use non-deprecated wxFont stuff 2016-04-23 13:57:42 +01:00
Jonathan Li a74677acf7 utilities: Convert ScopedPtr to unique_ptr 2016-02-08 22:31:45 +00:00
Jonathan Li e2f1bafeef gui:windows: Fix tooltip wrapping
wxWidgets 3.0 now wraps tooltips automatically on Windows, so the custom
tooltip wrapping functionality is no longer necessary.
2015-09-04 22:54:11 +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
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
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
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 c5d2343f51 pcsx2/common: fix tons of warning spamming on clang
* Don't use parameter name to avoid unused parameter
* Set a default for various case
2014-07-05 00:08:48 +02:00
gregory.hainaut ba2ec6fe59 all: gcc warning clean round 4
* remove unused variable
* move static function from h into cpp
* Initialized hw_by_page to 0xFFFFFFFF instead of -1 (number must be a positive integer)
* Use a s32 fore m_current_lsn instead of u32 (use -1 as error code)
Bonus: a couple of fix for clang compiler (doesn't mean that it fully compile with clang)
* remove useless __debugbreak on linux
* use short for 16bits atomic function


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5695 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-03 18:42:05 +00:00
Jake.Stine 21c022542f Minor i18n-related bugfixes.
* "Browse" option in recent iso menu should translate now.
 * Dialogs and config panels remember their positions more reliably (when using X or alt-F4 to close PCSX2, for example).
 * Preliminary language selector dialog (available in debug builds only).  Will finish it up later.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4088 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-12 07:43:21 +00:00
Jake.Stine 8375b0a989 Refactoring:
* Added __fi and __ri, which are abbreviations for __forceinline and __releaseinline.
 * Added some static qualifiers to functions in mVU, MMI ops, and others where appropriate.
 * Removed some unnecessary __fastcall qualifiers (since GCC gets funny sometimes when you combine __fastcall and inlining).
 * Made _1mb, _16mb, _1gb values common to all emulation code (moved from newVif/mvu to Common.h) -- they're useful! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
Jake.Stine 9fae2cc4f3 UI: Replace a lot of PCSX2's with pxGetAppName().
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3254 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 10:25:06 +00:00
Jake.Stine 7461f83414 UI / Cmdline:
* Fullscreen mode should be remembered/applied properly now.
 * implemented --fullscreen and --windowed options
 * Made the --help popup a lot prettier

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3249 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 04:04:32 +00:00
Jake.Stine 2300f972e4 Commandline, UI, and Game Database Work:
* Improved console window behavior during startup and shutdown (also fixes minor threading issues)
 * Added better failsafes for avoiding "rouge" pcsx2 processes left behind when wxWidgets would fail to "notice" window closures properly.
 * Database loader is now thread-safe and cleans itself up properly on exit.
 * Added some handy enumeration tools for the gamefixes (prep work for making them commandline controllable).
 * ... and more prelim commandline work!  (actual functional implementations coming very soon)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3212 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-15 14:13:23 +00:00
Jake.Stine ff1db14f9d Converted the GameDB to use wxWidgets classes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3188 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-09 17:37:11 +00:00
Jake.Stine 91454bfb12 * UI: Many small fixes for badly sized popups and confirmations.
* Includes possible fix for Issue 743 (AMD cpu core counts).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3184 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-08 12:09:28 +00:00
Jake.Stine e86d1d1bd4 UI:
* Various configuration dialogs remember their positions now. :)
 * AboutBox is fixed, and is now resizable.
 * Fix for Issue 739 : usermode.ini hashes are now case-insensitive on Win32.
 * Likely Fix for Issue 740 : missing text on Linux/GTK.  (need confirmation)

DevNotes:
 * Moved IniInterface.cpp/h to the Utilities lib.  Linux makefiles will need to be updated. >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3178 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-06 23:26:07 +00:00
Jake.Stine f219b79ad4 UI: Fixed a few minor layout bugs in the logging options, and introduced pxDialogCreationFlags to get rid of some Constructor Parameter Hell(tm) on dialog creation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3155 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 19:50:31 +00:00
cottonvibes 149d3290db Added Game Database Editor to gui.
The panel is currently under "Emulation Settings", feel free to move it where-ever is appropriate.

If you have a game loaded the editor will automatically load the game's info, if not you can search for the game by typing the serial manually.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3152 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 16:41:51 +00:00
Jake.Stine 8f92cdf265 UI: Switched from the old 'native' text labels to a new custom draw text label that should (hopefully!) be a lot better about positioning and wrapping text, and fitting to windows and what-not. Also gets rid of my nasty "ideal width" hack I originally used to fix-size some of the dialogs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3150 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 08:00:19 +00:00
Jake.Stine dd021b1ea1 Working on a new replacement for pxStaticText, which should hopefully have more reliable centering and wrapping behavior. Will finish it up later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3143 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-02 15:58:34 +00:00
Jake.Stine d8ba646de2 Even more memorycard work! Dialog box is mostly functional now (still missing a couple options and refinements) -- WARNING: settings/ini storage has changed. If you're using non-default memorycard settings, you'll need to go and edit your ini again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3066 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-23 15:20:52 +00:00
Jake.Stine c4e2bfefb7 More UI Progress.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3052 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 22:29:30 +00:00
Jake.Stine f7a30c3291 More work on memorycards, and general UI adjustments. Some things with the dialogs might be a bit broken-ish. Will finish this up properly soon. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3047 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 12:23:13 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
Jake.Stine 1507d72cad UI Bugfixes:
* Fixed several obscure deadlock issues.
 * Savestate actions block; such that only one load or save is permitted at a time.
 * Savestates now work through temp files, so that the existing file is not corrupted in case errors occur.
 * Exiting the emu while a savestate is saving will still save the state before completely quitting.
 * Plugin init errors are handled more gracefully.

Developer Notes:
 * Added some event diagnostic trace logging stuff.
 * More preliminary work on memorycards -- moved them to their own dialog box and started implementing things, but still a lot of work to do before it's ready for use.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2936 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 13:51:46 +00:00
Jake.Stine 5d37925617 Major UI renovations!
* Added versioning info to savestates! (along with some other bugfixes)
 * Simplified the Boot and System menus -- removed the old Skip BIOS hack and replaced it with the new BOOT2 injection method (which is considered hack-free at this time).
 * Removed lots of UI deadlock gotchas.
 * Some new confirmation dialogs and better error handling.
 * Implemented an exclusive SysExecutor thread, which serves the purpose of executing system/VM commands and events in uninterrupted order (including suspend, resume, savestates, etc.)



 * ... and probably broke linux!

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2911 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-27 13:12:03 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
Jake.Stine 08f3e4955b Major Savestate fix: Added version info, which never got added (oops) after I redid the savestate system for 0.9.7. Breaks all old savestates, but should be the last backward compat breakage for quite a while.
Also
 * Tons of small UI bugfixes and cosmetic improvements, mostly to startup, first-time running, and resetting options.
 * Added a third startup option for specifying a custom "default location" for PCSX2 files, in addition to user docs and CWD.

Devs:
 * Implemented some more += operators for adding wxWidgets objects to sizers (pxStretchSpacer mainly).
 * Preliminary re-implementation of memory cards panels -- still non-functional, so it's disabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2671 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-05 14:24:44 +00:00
Jake.Stine 42064218ec Committing some messed up partial memorycard options panel implementation... planning to redo it but I want this on record as a backup, just in case. (all disabled, so not much to look at and nothing changed in the emu itself yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2543 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-31 02:21:58 +00:00
Jake.Stine 6b899c9bbd More UI bugfixes and tweaks:
* Hopeful fix for GSwindow getting stuck maximized when pcsx2 crashes when fullcreen.
 * Altered RestoreDefaults behaior for EE/IOP and VU CPU panels.
 * CDVD Verbose Reads toggle takes effect immediately now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2506 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 02:26:53 +00:00
Jake.Stine 1298a35481 Should fix linux...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2410 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-04 20:55:47 +00:00
Jake.Stine f293c2983b A couple dozen user interface refinements; notables:
* Implemented GS window hiding on suspend (option was there, but not tied in)
 * Added Frameskipping options
 * Added option for disabling all GS output, for benchmarking EEcore stuffs.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2409 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-04 11:51:09 +00:00
arcum42 9a972ccc02 The usual Linux stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2341 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 13:31:50 +00:00
Jake.Stine c17455c702 User Interface code cleanups and bugfixes. some highlights:
* Configuration panels are all modal-less now, so that you can open the config panel and leave it open while running games.
 * Handful of thread sync improvements.
 * Fixed on-the-fly interpreter/recompiler configuration.
 * Fixed plugin hotswapping (mostly works, but still a little funny at times)
 * All new assertion dialogs and popup message handlers.
 * RecentIsoList defaults to 12 instead of 6

Dev Notes:
 * I had to create a new set of assertion functions called pxAssume*.  Originally I hoped to avoid that complexity, and just use a single one-assert-fits-all case, but turned out blanketly using __assume() for all assertion cases wasn't reliable.
 * wxGuiTools: Replaced the operator, with operator& -- the latter has proper order of precedence, the former required () to scope correctly. >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2339 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 12:18:55 +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 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
Jake.Stine d6f9462ffa Added some more convenience operators for wx interface construction. These are intended as a substitute for wxSizerFlags(), like so:
*target += control | wxSizerFlags().Expand().Centre()
// becomes:
*target += control | pxExpand | pxCentre;

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2227 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-20 03:26:10 +00:00