Commit graph

177 commits

Author SHA1 Message Date
Daniel Lundqvist ba4ca041f4 Allow focus only when in popout mode
Only allow manually setting focus to the rendering widget when in Single Window mode. Apply this behavior to when changing the mode while an app is running.
2014-12-26 19:42:27 +01:00
Daniel Lundqvist 9d90b26020 Allow focus on the Qt render widget
By default widgets are set to the focus policy Qt::NoFocus which disallows manually focusing it. Changing the policy to allow clicking the widget to set focus to it allows for keyboard input when not rendering to a popout window. This commit also sets focus to the widget when showing it.

Fixes issue #158.
2014-12-26 02:37:52 +01:00
bunnei 949d95659e Merge pull request #275 from yuriks/cmake-clean
Clean up CMake library specification
2014-12-22 11:11:37 -05:00
bunnei 0de6a08d75 Merge pull request #291 from purpasmart96/license
License change
2014-12-21 16:05:44 -05:00
purpasmart96 ebfd831ccb License change 2014-12-20 21:20:24 -08:00
Tony Wasserka 79c29243ed Pica/DebugUtils: Add an event triggered after loading a vertex. 2014-12-20 18:06:55 +01:00
Tony Wasserka 1c972ef3b9 Add support for a ridiculous number of texture formats. 2014-12-20 18:06:54 +01:00
Tony Wasserka 40f123b7c0 Pica: Unify ugly address translation hacks. 2014-12-20 18:06:53 +01:00
Tony Wasserka 3df88d59b0 Pica: Merge texture lookup logic for DebugUtils and Rasterizer.
This effectively adds support for a lot texture formats in the rasterizer.
2014-12-20 18:05:53 +01:00
Tony Wasserka 782592e6d3 citra-qt: Fix invalid memory read upon program startup.
This was caused by the framebuffer display widget not checking whether we are actually in a valid emulation state or not.
2014-12-20 18:05:53 +01:00
Tony Wasserka fd2539121c Pica: Initial support for multitexturing. 2014-12-20 18:05:53 +01:00
Tony Wasserka 8cd0d9c000 citra-qt: static-constify a map. 2014-12-20 18:05:52 +01:00
Chin e795692614 Clean up some warnings 2014-12-20 10:03:36 -05:00
Yuri Kunde Schlesner ca67bb7945 HLE: Rename namespaces to match move & fix initialization order 2014-12-16 01:08:38 -02:00
Yuri Kunde Schlesner 06f31e8b47 Clean up CMake library specification
The X11 libraries don't need to be specified when doing dynamic linking
2014-12-15 19:34:17 -02:00
Yuri Kunde Schlesner 4d2a6f8b9b Remove old logging system 2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner 0e0a007a25 Add configurable per-class log filtering 2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner 0600e2d8b5 Convert old logging calls to new logging macros 2014-12-13 02:08:02 -02:00
Yuri Kunde Schlesner 616d874443 New logging system 2014-12-13 01:59:52 -02:00
Tony Wasserka 8b8131baec More cleanups. 2014-12-09 16:37:34 +01:00
Tony Wasserka ac4d7462cb citra-qt: Rename "Stop Tracing" to "Finish Tracing".
This better reflects that no commands are supposed to show up until you hit the button a second time.
2014-12-09 16:37:34 +01:00
Tony Wasserka 79bb403089 More coding style fixes. 2014-12-09 16:37:34 +01:00
Tony Wasserka 0cd27a511e Some code cleanup. 2014-12-09 16:37:34 +01:00
Tony Wasserka 55ce9aca71 citra-qt: Add pica framebuffer widget. 2014-12-09 16:37:34 +01:00
Tony Wasserka 2793619dce citra_qt: Add enhanced texture debugging widgets.
Double-clicking a texture parameter command in the pica command lists will spawn these as a new tab in the pica command list dock area.
2014-12-09 16:37:34 +01:00
Tony Wasserka fd194d95b0 citra-qt: Add texture viewer to Pica command list.
The texture viewer is enabled when selecting a write command to one of the texture config registers.
2014-12-09 16:37:34 +01:00
Tony Wasserka c63a495de6 Add GUI widget for controlling pica breakpoints. 2014-12-09 16:37:34 +01:00
Tony Wasserka 2c71ec7052 Pica/DebugUtils: Add breakpoint functionality. 2014-12-09 16:37:34 +01:00
Tony Wasserka 706f9c5574 citra-qt: Polish the pica tracing widget.
Changed start/stop button to reflect current tracing status.
Properly labeled column headers.
2014-12-09 16:37:34 +01:00
Tony Wasserka bf6b23f4a0 citra-qt: Add a utility spinbox class called CSpinBox.
This class has a few advantages over the regular QSpinBox:
- QSpinBox stores its as signed 32 bit integers, which for instance is unsuitable for representing memory addresses. CSpinBox uses 64 bit integers instead.
- QSpinBox does not provide an easy way to handle number input from bases different than 10.
- QSpinBox is quite inflexible in general and almost any sort of customization requires reimplementing it anyway.
2014-12-09 16:37:34 +01:00
ichfly 1aa969741d Loader: Add 3DSX support 2014-12-08 18:06:43 +01:00
Rohit Nirmal 8a62423970 Change NULLs to nullptrs. 2014-12-03 12:57:57 -06:00
bunnei 1827bb1fcc Merge pull request #196 from archshift/settings
Merge Config::ReadXYZs
2014-11-30 23:17:45 -05:00
Emmanuel Gil Peyrot 739bb58c3a Remove tabs in all files except in skyeye imports and in generated GL code 2014-11-19 09:04:03 +00:00
Emmanuel Gil Peyrot f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 2014-11-19 09:03:07 +00:00
archshift 06c9712bc7 Merge Config::ReadXYZs 2014-11-18 15:12:49 -08:00
Tony Wasserka 688a5c033e citra-qt: Small cleanup. 2014-11-18 13:16:02 +01:00
Tony Wasserka 182476c96a EmuWindow: Remove window title getters/setters.
The window title is none of the emulation core's business. The GUI code is free to put whatever it wants there.
Providing properly thread-safe window title getters and setters is a mess anyway.
2014-11-18 13:09:01 +01:00
Tony Wasserka 722ce22589 EmuWindow: Add support for specifying minimal client area sizes. 2014-11-18 13:09:01 +01:00
Tony Wasserka bd8f491e4c Fixup EmuWindow interface and implementations thereof. 2014-11-18 13:09:01 +01:00
Kevin Hartman 221a9b023d Viewport scaling and display density independence
The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window.
On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly.
2014-11-18 13:06:05 +01:00
Tony Wasserka 80e9c02bd6 Merge pull request #159 from SeannyM/enable_log
Add support for disabling log from settings
2014-11-15 12:42:08 +01:00
bunnei 0fab380801 Citra-Qt: Use Core::RunLoop when not single stepping. 2014-11-11 19:53:47 -05:00
archshift 1efb83bf53 Qt: Auto-start game when selected, play game that's passed via argv[1].
Also moves system initialization to when the game is booted.
2014-11-04 21:44:03 -08:00
Sean 371b61f3ea Add support for disabling log from settings 2014-11-03 17:00:32 -05:00
Gareth Poole 1c074ced94 Fixed capitalization issues 2014-11-01 23:08:06 -04:00
bunnei 48f80bb79e Merge pull request #151 from archshift/dyncom-enabled
Use configuration files to enable or disable the new dyncom interpreter.
2014-10-27 22:51:10 -04:00
archshift 09e19f9f1e Added gpu_refresh_rate config setting for the new interpreter speed hack. 2014-10-27 19:42:01 -07:00
archshift 0783498f57 Use configuration files to enable or disable the new dyncom interpreter. 2014-10-27 18:35:21 -07:00
Yuri Kunde Schlesner d72708c1f5 Add override keyword through the code.
This was automated using `clang-modernize`.
2014-10-26 16:18:05 -02:00
bunnei b5e6524594 ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
2014-10-25 14:11:39 -04:00
archshift a59f57d504 Use config files to store whether SDMC is enabled or not
Before, it used to use whether the directory actually existed. As a result, .citra-emu/sdmc was never auto-created (something quite confusing to me until I read through the logs).
2014-10-22 15:24:25 -07:00
Yuri Kunde Schlesner ac54cd13db OpenGL renderer: Request a forward compatible context in citra-qt
This should fix context creation on OS X. Also requests a core context on all platforms in Citra-GLFW, for consistency.
2014-10-12 14:39:02 +02:00
archshift e6594f9f53 Added configuration file system.
Uses QSettings on citra-qt, and inih on citra-cli.
2014-10-07 15:09:37 -07:00
bunnei 5481115e71 Merge pull request #97 from archshift/cleanup
Small, general code cleanup
2014-09-13 22:58:58 -04:00
Kevin Hartman 02fd19b2f6 Added support for multiple input device types for KeyMap and connected Qt. 2014-09-12 01:15:14 -07:00
archshift 9c0efdb75b bootmanager::EmuThread: fixed initialization order 2014-09-07 12:09:02 -07:00
Lioncash 403c84cdab core: Make the ARM disassembler use std::string internally 2014-09-06 14:45:56 -04:00
Yuri Kunde Schlesner c57de3e404 Remove hand-crafted Visual Studio solution. 2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner 45976da975 CMake cleanup
Several cleanups to the buildsystem:
 - Do better factoring of common libs between platforms.
 - Add support to building on Windows.
 - Remove Qt4 support.
 - Re-sort file lists and add missing headers.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner 478289140d Replace GLEW with a glLoadGen loader.
This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.
2014-09-01 17:41:56 -03:00
bunnei 6966fdf025 Loader: Added support for loading raw BIN executables.
- Useful for debugging homebrew

Qt: Updated GUI to support loading .bin files.
2014-08-28 17:51:49 -04:00
Tony Wasserka c4691b784b Pica: Add support for dumping textures. 2014-08-25 22:03:18 +02:00
Tony Wasserka 26ade98411 Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated. 2014-08-25 22:03:18 +02:00
Sacha 1b1205cf73 Pass format to the QGLWidget and use atomic instead of mutex. 2014-08-25 03:42:52 +10:00
Sacha b044510fa9 Fix EmuThread loop by ensuring it exits properly.
Note: There is a pre-existing issue with booting a new game in that it keeps the old EmuThread.
The GL code now supports this but the Core still doesn't.
2014-08-25 01:49:34 +10:00
Sacha a3a70e56ac Fix the threading for GL Context in Qt5.
Connect the emu_thread start/finish to a moveContext slot.
2014-08-25 00:47:00 +10:00
archshift d93dc81953 Revert "Removed redundant loop in EmuThread::run()" 2014-08-20 10:15:12 -07:00
Sacha 90f23020f5 Add Qt5 option. Use Qt5 by default. 2014-08-19 21:34:00 +10:00
Sacha b7ecc9543a CMake Cleanup 2014-08-18 14:35:44 +10:00
archshift 9a4e58c370 Removed redundant loop in EmuThread::run() 2014-08-16 23:31:25 -07:00
archshift 6096b289b7 Bootmanager: changed filename to std::string 2014-08-14 23:59:31 -07:00
bunnei 0ccd026a6d Merge pull request #41 from archshift/itr
Changed iterators to use auto, many of which using range-based loops
2014-08-12 10:12:39 -04:00
Tony Wasserka 76a586de49 Pica: Add command processor. 2014-08-12 13:47:30 +02:00
archshift 5a7c3ad194 Changed iterators to use auto, some of which using range-based loops 2014-08-11 17:53:23 -07:00
Tony Wasserka 9c781a6c76 Remove the fancy RegisterSet class introduced in 4c2bff61e.
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures.
Instead, we now use a more conventional approach which is a lot more clean to use.
2014-08-12 02:17:21 +02:00
bunnei 4e9f305ed2 GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.
- Various other cleanups.
2014-08-05 23:58:00 -04:00
bunnei 2003ccf09d Qt: Removed unnecessary HW::Update. 2014-08-05 20:14:49 -04:00
bunnei 866d2a62e9 Merge pull request #27 from neobrain/disassembly_view_rewrite
citra-qt: Rewrite disassembly view.
2014-07-23 10:43:46 -04:00
Tony Wasserka c131fb2c27 citra-qt: Show function names in disassembler based on bunnei's suggestion. 2014-07-23 00:58:52 +02:00
Tony Wasserka 456b9feb25 Disassembler: Chose slightly lower value for chunk size. 2014-07-23 00:50:28 +02:00
Tony Wasserka 9b0d0c81a0 GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32.
Anonymous structs are not standard C++, hence don't use them.
2014-07-23 00:44:31 +02:00
bunnei 1ccdb6a769 Qt: Updated open dialog to include NCCH formats. 2014-07-04 20:37:48 -04:00
Tony Wasserka fd78786828 citra-qt: Rewrite disassembly view. 2014-07-02 21:16:36 +02:00
bunnei 469fe42fad Merge pull request #22 from bunnei/loader-improvements
Refactor loader code and add preliminary NCCH support
2014-06-25 09:46:14 -04:00
bunnei 7889cafc76 Loader: Implemented AppLoader interface for abstracting application loading.
- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.

NCCH: Removed extra qualification typos.

Loader: Removed unnecessary #include's.

NCCH: Improved readability of memcmp statements.

NCCH: Added missing space.

Elf: Removed unnecessary usage of unique_ptr.

Loader: Removed unnecessary usage of unique_ptr.
2014-06-24 19:29:58 -04:00
bunnei 4e4a028ecd citra_qt: Removed autogenerated files from repo and fixed build issues. 2014-06-22 16:37:07 -04:00
bunnei 0aca202ae9 Loader: Moved elf and loader modules to a "loader" subdirectory. 2014-06-16 18:03:13 -04:00
bunnei 004df76795 Merge branch 'threading' of https://github.com/bunnei/citra
Conflicts:
	src/core/hle/function_wrappers.h
	src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
Tony Wasserka f82410e633 Further refine GPU command list debugging. 2014-06-12 06:10:53 -04:00
Tony Wasserka b0051b2203 Refine command list debugging functionality and its qt interface. 2014-06-12 06:10:52 -04:00
Tony Wasserka 6893732348 citra-qt: Add command list view. 2014-06-12 06:10:52 -04:00
Tony Wasserka 87e98ff97b citra-qt: Add GX command history viewer. 2014-06-12 06:10:49 -04:00
bunnei a002abf171 qt: updated disassembler to show 2X as many instructions 2014-06-05 01:08:54 -04:00
bunnei 32c314c992 Merge branch 'threading' 2014-05-22 22:57:45 -04:00
bunnei 204c6bfeca Merge pull request #2 from archshift/issue-7-fix
Fixes issues with building Citra on OSX
2014-05-19 21:46:57 -04:00
archshift 034e3aabc8 Improved clarity and whitespace
Changed QGL version to 3,2 in order to be less restrictive, yet it should still change up to 4,1 on OSX on Qt5.
2014-05-19 15:21:55 -07:00
archshift 403e4bf837 CMakeLists: rename HEADS, improved comments
Changes for clarity of comments, removed redundant compiler flags.
2014-05-19 15:19:36 -07:00
bunnei 3fac6dc39e Merge branch 'master' into threading 2014-05-17 13:35:20 -04:00
bunnei 265c770a9d updated how we call ARM core to make things much faster 2014-05-17 11:59:18 -04:00