Commit graph

122 commits

Author SHA1 Message Date
Megamouse 8f1dc7a2d4 Fix VFS regression
Implements cfg_mode
2021-09-25 19:21:59 +03:00
Megamouse ebde86b967 CLI: add "high-res-timer" argument (defaults to 1) 2021-09-18 00:58:05 +02:00
Eladash 1cbcf7e1ad Reimplement config selection for game startup
* Implement manual selection of config file.
* Implement default config option.
* Fix bug which led to 'force global config' to not work in some games. (any game using process relaunch such most game collections, RDR, MGS4 etc)
* Relax CLI config purpose - instead the emulator forever ignoring any other config except for the one provided in arg, use it only for the CLI-booted game.
2021-09-09 21:56:50 +02:00
Eladash bd66dfedc9 Do not allow to unpause after fatal error occured in emulation
* Plus fix #10590
2021-09-09 19:30:54 +02:00
Nekotekina 8db02dcf40 Fixup get-commit-db utility 2021-08-30 14:42:16 +03:00
Megamouse 2431fcc2a1 windows: fix get-commit-db 2021-08-28 18:29:46 +02:00
Megamouse 1060e93783 curl: log errors 2021-08-28 17:37:52 +02:00
Nekotekina 696be6aacd Implement fmt::ensure (assert-like with formatted message) + fmt::tie
Arguments should be provided via fmt::tie() due to some limitations.
Allow to specify simple message (non-formatting) for plain ::ensure().
Remove redundant function for narrow error.
2021-06-10 21:16:57 +03:00
Nekotekina 2491aad6f2 types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina 04cac6cd33 logs.hpp: refactoring (logs::message)
Make .error/.warning/... callable objects which can be pointed to.
Make .always() more hard to access.
Memory layout optimizations.
2021-05-20 01:08:32 +03:00
Megamouse 1caf81811a Move unspecific Emulator code out of System.cpp 2021-04-24 11:21:22 +03:00
Megamouse 332eb5fbd6 Log firmware after Emu was initialized 2021-04-10 15:18:16 +02:00
Megamouse 03b76b4606 Emu: some cleanup 2021-04-09 21:03:49 +02:00
Nekotekina 1ddeef71c6 Fix some typos 2021-04-03 21:54:15 +03:00
Eladash 73320d4180 Output all fatal log messages to Console/debugger as well 2021-04-03 08:47:58 +02:00
Megamouse 9c7230e79f cli: set user-id per command line 2021-04-02 11:50:28 +02:00
Megamouse 98687d474b Move system info to extra line 2021-04-02 07:14:23 +02:00
Megamouse a982280400 Qt: Drop int for QT_SCALE_FACTOR_ROUNDING_POLICY 2021-03-29 20:37:33 +02:00
Megamouse d62983e1a2 Qt: Properly set QT_SCALE_FACTOR_ROUNDING_POLICY 2021-03-29 20:37:33 +02:00
Megamouse 9f80a55652 Qt: don't show updater if booted with cli arg 2021-03-25 23:39:42 +01:00
Megamouse 554ba9d6a6 Qt: Allow package installation through cli
Adds --installpkg cli option
2021-03-21 18:44:11 +01:00
Megamouse 70c98fff19 Make cli fw installation more foolproof 2021-03-20 11:57:04 +01:00
Romain TISSERAND b5698ee101 Add command-line option to install firmware 2021-03-20 11:57:04 +01:00
Nekotekina 379138af27 Fix NtSetTimerResolution in no-gui mode (Win32)
Add dummy persistent timer with 10ms period.
Replace QTimer invocation with Emu.CallAfter().
This way, headless and no-gui modes should be affected by it.
2021-03-19 22:26:48 +03:00
Eladash cd6ef2958b Add information about unnamed/main threads in logs and fatal dialog
* If thread is unnamed, keep log name empty for main thread, otherwise print thread id. In fatal dialog, main thread can be handled differently (with special remark that it's main thread).
* Always print thread id in fatal dialog, regardless of thread type.

Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-11 22:55:06 +03:00
Megamouse 9da7910fc9 Fix auto updates. Don't pass exe as arg0 to execl 2021-03-07 01:56:25 +03:00
Nekotekina 3609eb25c9 Implement thread_ctrl::is_main() 2021-03-06 23:10:31 +03:00
Megamouse 7205a93751 add some log messages for debugging 2021-03-06 18:06:21 +03:00
Nekotekina 3aaa0172d5 named_thread: implement "default" event loop
Fixup "sleepy" thread at startup on Windows.
Permit threads which lack operator()() overload.
2021-02-28 20:16:13 +03:00
Eladash 4c1026436f Log "Missing Firmware" if firmware is missing 2021-02-15 09:50:52 +01:00
Nekotekina c32fec774f Create mini-cache for commits
Located in bin/git/commits.lst;
Created with GitHub API with --get-commit-db key.
Can be lazily appended with the same key.
2021-02-06 00:37:53 +03:00
Megamouse 2865865382 Don't use std::exit during Qt initialization 2021-02-05 17:32:48 +01:00
Eladash 7ce835e878
Support logger stopping at std::exit (#9722) 2021-02-05 17:07:17 +03:00
Megamouse 2c32a721fc Allow BootGame with indirect paths 2021-02-02 13:21:26 +01:00
Megamouse 8c6aa9db31 Print report_fatal_error to cmd
useful if used like:
start /w ./rpsc3 --headless <path>
2021-02-01 21:44:23 +01:00
Megamouse 3359458175 Handle missing cases of Emu.BootGame failure 2021-01-28 20:54:27 +01:00
Nekotekina db8e6fe7a7 Enable -Wunused-variable 2021-01-12 14:34:14 +03:00
Nekotekina b7bf316c1a Don't randomly include "stdafx.h"
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Nekotekina bd269bccaf types.hpp: remove intrinsic includes
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
Nekotekina db9b7db531 Cleanup and move sysinfo.h -> util/sysinfo.hpp 2020-12-18 12:55:54 +03:00
Nekotekina fb29933d3d Add usz alias for std::size_t 2020-12-18 12:23:53 +03:00
Nekotekina 6b3f722ff0 Hotfix: useless error 2020-12-16 11:57:29 +03:00
Nekotekina 24c246a9f6 Fix potential thread_pool crash on exit
Minor issue.
2020-12-15 20:01:26 +03:00
Nekotekina e321765c54 Split BEType.h to util/v128.hpp and util/to_endian.hpp 2020-12-13 16:34:45 +03:00
RipleyTom af8c661a64 Remove BOM markers 2020-12-06 15:30:12 +03:00
Nekotekina 2bee096246 Try to set 2-3 GiB working space and show error if it's failed (Windows) 2020-11-27 14:49:07 +03:00
Nekotekina d1ee7c651f Make memory locking optional (mlock, VirtualLock).
Fix desired locking operation (to fix "sudo" memory).
It was discovered that some systems have outdated configuration.
With too tight limit, it's almost impossible to lock anything in memory.
2020-11-10 06:05:37 +03:00
Nekotekina bd5253047b Improve DYNAMIC_IMPORT
Don't call get_proc_address every time if if failed.
Also rename Utilities/dynamic_library.h to util/dyn_lib.hpp
2020-11-10 01:44:31 +03:00
Nekotekina 083397a555 vm: lock memory under "sudo" addr
Remove memory touching from transactions.
2020-11-09 23:54:36 +03:00
Megamouse 91b8e7504e Set some things to log level always 2020-11-04 12:13:56 +01:00