Commit Graph

241 Commits

Author SHA1 Message Date
Joel Linn 6267c73c4c [SDL] Add global helper to setup the library.
Call to SDLHelper::Prepare() is needed before first SDL_InitSubSystem().
- Sets hints (SDL configuration vars).
- Configures logging.
2020-04-23 15:44:58 -05:00
gibbed fdfc55c8fd [App] Support a relative content path. 2020-04-13 12:57:14 -05:00
Sandy Carter 69bcf59c79 filesystem: use std for CreateFolder
Remove custom platform implementation of `CreateFolder` and replace uses
with `std::filesystem::create_directories` which creates paths
recursively.
2020-04-09 09:44:48 -05:00
Sandy Carter c8e64da4eb filesystem: use std for PathExists
Remove custom platform implementation of `PathExists` and replace uses
with `std::filesystem::exists`.
2020-04-09 09:44:48 -05:00
Joel Linn 804384c19c [SDL2] On Win, build and link statically.
Keep using system lib dynamically on Unix.
2020-04-08 21:55:56 -05:00
gibbed a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed 5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Triang3l cde092ece1 [D3D12] Persistent shader and PSO storage 2020-03-21 19:22:19 +03:00
Triang3l b1d3fd2ad3 [App/Config] Add storage_root cvar and make content_root inside it by default, move game configs from content 2020-03-13 09:42:29 +03:00
Rick Gibbed 4ca0d0a656
[App] Remove inadvertent constexpr. 2020-02-22 13:50:17 -06:00
gibbed a6e6f0f7bf Lint cleanup. 2020-02-22 13:29:07 -06:00
Joel Linn 160f218210 [APU/Linux] Implement cross platform audio using SDL2 library. 2020-02-10 14:01:47 -06:00
Joel Linn 64f3925c7d [HID/Linux] Implement cross platform controller input using SDL2 library. 2020-02-10 13:41:19 -06:00
Joel Linn 498b73612f Link against SDL2.
- Use MSVC delayed loading on Windows.
- Rely on system libraries for Linux.
- Add libsdl2-dev to Travis.
2020-02-10 13:41:19 -06:00
Prism Tutaj fc37f3e93a [App] Fix discord cvar 2020-02-09 16:21:51 -06:00
Silent d3a73022fd [UI] Remove MAX_PATH limit from WM_DROPFILES
Also required const-ifying a file drop message.
2020-02-09 14:02:22 -06:00
illusion98 c3f3bd8701 [UI] Add F2 Hotkey to open current git commit in browser 2020-02-05 09:46:30 -06:00
Margen67 09e1028154 Remove (hopefully) last OpenGL leftovers & crunch
Crunch is unused.
2019-11-08 09:10:51 -08:00
gibbed 3e6c2bb47c Fix up handling of positional options in cvar handling.
- Fix up handling of positional options in cvar handling so that executables
  other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
2019-08-24 07:41:55 -05:00
Triang3l 2334e475de [Vulkan v2] Physical device, [D3D12] Small cleanup 2019-08-08 00:08:20 +03:00
gibbed a1c9d57afc [App] Make target into a transient cvar. 2019-08-04 02:18:03 -05:00
gibbed b2f62b1982 Clean up cvars (rename, recategorize). 2019-08-03 23:46:03 -05:00
gibbed 0ac83f99dc [App] Add winkey input driver last. 2019-08-03 20:47:39 -05:00
gibbed f2dac86b3f [App] Use make_unique when creating a derived type instance. 2019-08-03 20:46:03 -05:00
gibbed 02ea74becd [App] Only create input nop driver when explicitly requested. 2019-08-03 20:07:19 -05:00
gibbed e5eb59df71 [App] Remove unnecessary type aliasing (which also broke Travis). 2019-08-03 18:10:49 -05:00
gibbed f5cddbbf3f [App] Simplify and improve factory template.
[App] Rework audio and input system creation.
2019-08-03 17:36:50 -05:00
gibbed 848e2a4088 [App] Rework graphics system creation. 2019-08-03 16:42:38 -05:00
Triang3l 890a32bd98 [App] Only start D3D12 if DLL exists 2019-08-03 22:33:09 +03:00
Triang3l a0c92e30ce [Main] Add --gpu=d3d12 hint 2019-08-03 17:16:52 +03:00
Triang3l e04dfe8833 Merge branch 'master' into d3d12 2019-08-03 16:53:37 +03:00
Triang3l 352f12f92e [D3D12] Switch from gflags to cvars 2019-08-03 16:53:23 +03:00
gibbed 5593773a07 [Discord] Better image keys and avoid setting a small image for now. 2019-08-03 08:16:08 -05:00
gibbed c16ef67ff9 [App/Discord] Rework how rich presence is managed.
Updating rich presence state every time the window title changes
is a bad idea(tm).
2019-08-03 08:16:04 -05:00
Jonathan Goyvaerts 81fe22f1c8 Get rid of gflags alltogether 2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts d12871b8b4 [App] Initialize config on emulator startup 2019-08-03 02:34:08 +02:00
Jonathan Goyvaerts c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
gibbed e05f3288e4 Merge remote-tracking branch 'origin/master' into d3d12 2019-08-02 10:00:36 -05:00
Wes Taylor ce38e7b0b1 [App] Add support for Discord rich presence. 2019-08-02 09:06:02 -05:00
gibbed f54dddee90 Merge branch 'master' into d3d12 2019-05-04 13:09:08 -05:00
Rick Gibbed 00e061c4e4
Merge pull request #1316 from chris-hawley/master
[Base] Remove hacky fix for missing codecvt on linux.
2019-05-04 11:40:33 -05:00
gibbed fac37e7c50 Merge branch 'master' into d3d12 2019-05-01 21:00:21 -05:00
gibbed 179883dc0a [App] Fix "Open" menu item text. 2019-04-30 16:44:45 -05:00
gibbed cfa0a40343 [App] Add "Show content directory..." menu item. 2019-04-30 16:30:49 -05:00
gibbed c965751911 Merge remote-tracking branch 'origin/master' into d3d12 2019-04-20 02:40:46 -05:00
gibbed 4f44bc3362 [App] Fix AVX check. For good this time. Hopefully. 2019-04-20 02:32:45 -05:00
gibbed 1145d57007 Undo main/wWinMain changes in preparation for new method
of doing a startup AVX check.

This reverts commit 4030cff3ec.
2019-04-20 02:32:45 -05:00
Triang3l 40ffba97d9 Merge branch 'master' into d3d12 2019-04-19 15:32:10 +03:00
gibbed 4030cff3ec - Move main, wWinMain entrypoints to their own file.
- Fix startup AVX checks.
2019-04-18 16:57:42 -05:00
gibbed a296e17f06 [App] Don't redirect stdout/stderr as the default debug arguments. 2019-04-18 15:00:25 -05:00
Triang3l ec92d46480 Merge branch 'master' into d3d12 2019-04-18 17:54:57 +03:00
gibbed ffbc99926b - Update premake build script for VS2017+ build support.
- Update premake (for VS2019 support).
- Update Xenia build script to detect VS2017+ version.
- Update Xenia premake scripts due to updated premake.
- Fix cc override in Xenia build script.
2019-04-18 09:28:31 -05:00
Triang3l 35061880d9 Merge branch 'master' into d3d12 2019-04-17 16:41:03 +03:00
Triang3l 63e135590c [UI] Host breakpoint shortcut (pauses WinDbg) 2019-04-17 16:40:35 +03:00
Triang3l 4eae7d9d65 Merge branch 'master' into d3d12 2019-04-14 19:20:39 +03:00
Triang3l ab4d344fb0 [Kernel] Add forgotten aes_128 library reference 2019-04-14 19:20:06 +03:00
chris-hawley fed4cb63a7 implement linux filesystem support 2019-04-08 01:06:06 -04:00
Triang3l 03f440582d Merge branch 'master' into d3d12 2018-12-16 12:49:09 +03:00
gibbed eee4d91621 [App] Hopefully fix CPU support check for AVX so it will function on CPUs without AVX. 2018-12-15 23:36:07 -06:00
Triang3l b56f8f9c7c Merge branch 'master' into d3d12 2018-11-26 20:45:52 +03:00
gibbed da8f094bf8 [App] Fix Travis whining. 2018-11-26 11:21:37 -06:00
gibbed e7d77f4780 Clarify AVX requirement error message. 2018-11-26 10:33:22 -06:00
gibbed 08be8af5c0 [App] Abort out early with an error message if CPU does not support AVX. 2018-11-26 10:24:17 -06:00
Triang3l 5c1efe7b9a Merge branch 'master' into d3d12 2018-11-24 16:26:27 +03:00
gibbed d68c27d78b [CI] Fix mspack linking. 2018-11-23 15:57:21 -06:00
Triang3l ff363d85be Merge branch 'master' into d3d12 2018-11-23 19:08:43 +03:00
gibbed d04c748773 [App] Log content root. 2018-11-22 17:40:38 -06:00
gibbed 00261b9ca0 [App] Get absolute path of content root in all cases. 2018-11-22 17:40:22 -06:00
Triang3l da280347c4 Merge branch 'master' into d3d12 2018-11-22 21:01:05 +03:00
gibbed 086d7e9da7 [Input] Dynamically link to XInput. 2018-11-22 10:46:48 -06:00
Margen67 896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed 1ba5dd5eb1 Use platform-specific user directory to store content. Create a file named portable.txt next to xenia.exe to restore previous behavior. 2018-11-21 18:07:45 -06:00
Triang3l 8ced574c6f [D3D12] Add DXBC tokens and checksum 2018-08-27 15:18:30 +03:00
Triang3l cd1cf3a857 [D3D12] Make something buildable 2018-07-20 15:18:02 +03:00
Triang3l e9083dbc2f [D3D12] Create xenia-ui-d3d12 project 2018-07-18 15:02:37 +03:00
Triang3l fde3c1f0e8 [D3D12] Copy the null graphics system as D3D12 2018-07-18 12:02:00 +03:00
Triang3l c2b2a9f376 [D3D12] Create the project and link D3D libraries 2018-07-18 11:42:51 +03:00
gibbed 926464cb90 [App] Put DEBUG/CHECKED into the window title when appropriate. 2018-05-26 06:29:08 -05:00
gibbed 9e153c0db1 [App] Add optional scratch/cache mounts. 2018-05-23 04:55:18 -05:00
Dr. Chat 61e47167c0 [Vulkan] Replace vulkan-loader with volk 2018-05-04 16:49:46 -05:00
Dr. Chat 040d8d1ade [GL4] Farewell, GL4 backend 2018-05-04 11:54:33 -05:00
DrChat 14abe1a407 Fixup 360 support 2018-04-03 19:02:49 -05:00
DrChat a976056afb [UI] Shut down the profiler before the graphics context 2018-02-28 15:05:10 -06:00
DrChat c64916be94 Display a dialog if the emulator failed to launch a title specified on the command line. 2017-12-28 16:20:35 -06:00
DrChat 9395b73217 [Travis] Enable full Xenia build on linux 2017-12-20 16:27:01 -06:00
DrChat 7ae5795cb8 Quick hack to prevent Xenia from crashing on exit. 2017-12-18 18:15:19 -06:00
DrChat 76b577148d [UI] Add game title ID to titlebar 2017-12-17 22:16:00 -06:00
DrChat 81cd532ff8 [UI] Profiler shutdown goes before window shutdown 2017-12-17 14:43:52 -06:00
DrChat 12e796bc0a Formatting. 2017-12-17 13:26:58 -06:00
DrChat 8ec8d9778f [UI] Shuffle some exit handling code around 2017-12-17 12:37:58 -06:00
DrChat aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
DrChat 02e37be4e5 Merge branch 'linux' of git://github.com/dougvj/xenia into linux
# Conflicts:
#	.travis.yml
2017-12-14 19:20:02 -06:00
gibbed 082c767fba Add the currently active graphics system to the window title. 2017-08-09 00:40:44 -05:00
sephiroth99 03091d1b71 Add missing libraries when linking xenia-app on Linux
Currently, each module in Xenia is built as a static library (also
called archive). On Linux, an archive only contains the object files
for that module. So any depedency that module has must be specified by
adding those other modules when linking the program, as the dependencies
are resolved at that time.
2017-07-11 11:47:25 -06:00
Doug Johnson 69e818555d Filter resource file from non-windows platforms 2017-07-09 19:21:32 -06:00
Parker Lamb fc27b34304 UI: Prevent race condition during emulator startup. 2017-07-02 11:57:54 -05:00
IndieDriver 8e1c0201ad KeyEvent: Support modifiers / UI: Open file chooser on ctrl-O (#707)
* file chooser on ctrl-o

* typo fix
2017-06-07 13:25:38 -05:00
PikminGuts92 9a8005e6fd Added flag for fullscreen toggle. 2016-12-06 14:35:49 -05:00
PikminGuts92 682357519c Made ToggleFullscreen function public. 2016-12-06 12:31:36 -05:00
Dr. Chat 222a9721aa Add a File->Close option 2016-11-23 11:00:10 -06:00
Leighton Hancock 524ba0c88c Add file drop functionality
Adds the ability to drag and drop files from windows in order to attempt
to execute them
2016-11-14 16:50:58 +13:00
Dr. Chat 1de47e0d17 UI: Hide the cursor after 3 seconds in fullscreen-mode. 2016-08-06 17:00:12 -05:00
Dr. Chat 1a5d4b99fc Add a dependency on xenia-gpu-null in xenia-app 2016-08-04 15:17:04 -05:00
Dr. Chat 40f782a83b Add a null graphics system (enable with --gpu=null)
Still uses vulkan to drive xenia UI, may look into decoupling later.
2016-08-04 09:50:13 -05:00
Dr. Chat 69bb6aacef Swap to using the Vulkan renderer by default
This will break a lot of games and fix others, but it makes more sense to use a backend being actively worked on.
2016-07-28 19:33:05 -05:00
Dr. Chat 0c69e05eb1 Handle load requests made by the guest 2016-06-18 21:00:01 -05:00
Dr. Chat b82f6a990a Core: Add a file open dialog and refactor logic around loading new games 2016-06-18 20:42:28 -05:00
Dr. Chat 323b993bbc Revert the default graphics backend to GL4 (in preparation of merge to master) 2016-06-11 19:13:45 -05:00
Dr. Chat b9a40d1a00 Use Vulkan as the default graphics backend. 2016-05-15 12:08:29 -05:00
Dr. Chat 3130d4b38e Add the vulkan backend as a choice in xenia-app 2016-02-20 21:02:28 -06:00
Ben Vanik 6777ce6668 Reconcile debugger and save state stuff into a single implementation.
Fixes #497 and fixes #496.
Still rough edges, but at least less duplication.
2016-01-18 11:48:21 -08:00
Ben Vanik 9c93fa5187 Cleaning up xdbf stuff.
- moving next to xex utils
- fixing error cases around icon setting (and allowing reset)
- making C++11
- abstracting a bit so future additions will be easier
- fixing non-xex uses
2016-01-10 11:04:55 -08:00
x1nixmzeng 6530b9dc49 Added callback when new module is launched
This avoids having to guess the display window title format
Also manually fixed the linting errors picked out by travis which do not
get picked up using xb format locally
2016-01-09 17:36:46 +00:00
x1nixmzeng 5fa9499a12 Community feedback
Updated naming convention
Exposed the game name to Emulator for other uses
Fixed bug with XDBF parsing
2016-01-08 22:55:37 +00:00
x1nixmzeng 729a1af0d5 Added XDBF utility library
Utility library to support the XDBF file format for XEX module resources
2016-01-07 00:51:27 +00:00
Ben Vanik 952d35911c Folding build_tools back into the main repo for simplicity. 2015-12-30 16:53:14 -08:00
Dr. Chat 49ed0915d4 Add (temporary) shortcuts to save(F7)/restore(F8) to a file called "test.sav" 2015-12-29 13:09:39 -08:00
Ben Vanik 5de82887fa Adding build version information to main window/log. 2015-12-27 11:53:37 -08:00
Ben Vanik 5f61c6ad07 Adding icon. 2015-12-27 11:09:19 -08:00
Ben Vanik 6b92c1a01e Moving GPU flags to graphics_system.cc so all graphical exes get them. 2015-12-27 10:21:11 -08:00
Ben Vanik 629a75c162 Merge pull request #493 from parkerlamb/nv_optimus
Nvidia Optimus support
2015-12-27 10:15:40 -08:00
Ben Vanik 0e58208add Dropping elemental-forms and swapping out with imgui.
Too much code for such little use. This should simplify porting.
2015-12-26 20:25:24 -08:00
Parker Lamb b59ee24f5d NvOptimusEnablement and AmdPowerXpressRequestHighPerformance symbols are
now exported for laptops with dual graphics
2015-12-26 22:14:13 -06:00
Ben Vanik 5834a42ef3 Dependency injection for apu/gpu/hid. 2015-11-08 15:02:24 -08:00
Ben Vanik 4af6c41740 Moving profiling.h to base - UI could be separated for cleanliness. 2015-11-07 12:31:07 -08:00
Ben Vanik 5d033f9cb3 A new debugger.
Lots of bugs/rough edges/etc - issues will be filed.
Old-style debugging still works (just use --emit_source_annotations to get
the helpful movs back and --break_on_instruction will still fire).
2015-09-20 21:31:05 -07:00
Ben Vanik e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik 669f5b061f Moving DPC list into KernelState and removing unused file. 2015-09-06 09:36:39 -07:00
Dr. Chat 3d684ac304 Fixup the premake files 2015-08-29 22:04:12 -05:00
Dr. Chat f2b2a22687 Add gflags to projects that need it only 2015-08-29 21:16:57 -05:00
Ben Vanik b7203c2989 Logging to with a ringbuffer. Much faster. 2015-08-29 18:06:30 -07:00
Ben Vanik 8b0d4fb51c Linux tweaks. 2015-08-18 14:18:00 -07:00
Ben Vanik a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik 5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik ec326119cf Replacing beaengine in mmio handler with custom decoder.
Fixes #358.
2015-08-04 08:25:42 -07:00
Ben Vanik 226b7ae83f Only generate .user if it doesn't exist. 2015-07-27 20:12:14 -07:00
Ben Vanik abf50b477e Making shutdown clean. 2015-07-25 12:56:37 -07:00
Ben Vanik ea4ec28acc Adding --show_profiler to show profiler by default, changing hotkey to F3. 2015-07-25 12:34:15 -07:00
Ben Vanik baa86fcd1b Migrating xam UI to elemental-forms.
Fixes #345.
2015-07-19 14:43:27 -07:00
Ben Vanik e0eb85bbbc Switching to premake. Probably with disasterous consequences. 2015-07-18 16:00:01 -07:00
Ben Vanik fd893f730b Shuffling files around. 2015-07-17 01:15:12 -07:00