Commit Graph

6033 Commits (48733744bb38d3a18af9713096f6e9b729944bb2)

Author SHA1 Message Date
bunnei 38b35e752b
Merge pull request #712 from lioncash/fsp
fsp_srv: Misc individual changes
7 years ago
Lioncash c945226973 gdbstub: Get rid of a few signed/unsigned comparisons
Ensures both operands in comparisons are the same signedness.
7 years ago
Lioncash a37a47448d hid: Use a ranged-for loops in UpdatePadCallback
Modernizes the loops themselves while also getting rid of a signed/unsigned
comparison in a loop condition.
7 years ago
Lioncash 95103a1b7b hid: Use HID_NUM_LAYOUTS constant for indicating size of the layouts array
Gets rid of the use of a magic constant
7 years ago
bunnei 427fc4ac6b
Merge pull request #713 from lioncash/filesys
filesystem: Minor changes
7 years ago
bunnei e91ba6c057
Merge pull request #711 from lioncash/swap
common/swap: Minor changes
7 years ago
bunnei d6c7a05239
Merge pull request #710 from lioncash/unused
common/common_funcs: Remove unused rotation functions
7 years ago
bunnei 1034bcc742
Merge pull request #694 from lioncash/warn
loader/{nro, nso}: Resolve compilation warnings
7 years ago
Subv e5c916a27c Filesystem: Return EntryType::Directory for the root directory.
It is unknown if this is correct behavior, but it makes sense and fixes a regression with Stardew Valley.
7 years ago
Lioncash 50d08beed2 loader: Amend Doxygen comments
These weren't adjusted when VFS was introduced
7 years ago
bunnei bbc31ba6af
Merge pull request #709 from lioncash/thread-local
common/misc: Deduplicate code in GetLastErrorMsg()
7 years ago
Lioncash 9b22f856c2 loader/nso: Check if read succeeded in IdentifyFile() before checking magic value
We should always assume the filesystem is volatile and check each IO
operation. While we're at it reorganize checks so that early-out errors
are near one another.
7 years ago
Lioncash c061c2bf3c hle/service: Make constructors explicit where applicable
Prevents implicit construction and makes these lingering non-explicit
constructors consistent with the rest of the other classes in services.
7 years ago
Lioncash f3daecafeb nvflinger: Emplace Display instances directly
We can use emplace_back to construct the Display instances directly,
instead of constructing them separately and copying them, avoiding the
need to copy std::string and std::vector instances that are part of the
Display struct.
7 years ago
bunnei 04f7a7036a
Merge pull request #705 from lioncash/string-ref
file_util: return string by const reference for GetExeDirectory()
7 years ago
bunnei cbf43225a9
Merge pull request #704 from lioncash/string
string_util: Remove AsciiToHex()
7 years ago
bunnei f1d7486eac
Merge pull request #703 from lioncash/const
savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function
7 years ago
bunnei b0334af05b
Merge pull request #702 from lioncash/initialize
partition_filesystem: Ensure all class members of PartitionFilesystem are initialized
7 years ago
bunnei 1bf7ae79c8
Merge pull request #701 from lioncash/moving
content_archive: Minor changes
7 years ago
Lioncash dc35c3f9d7 nvdrv: Take std::string by const reference in GetDevice()
This is only ever used as a lookup into the device map, so we don't need to
take the std::string instance by value here.
7 years ago
Lioncash af2698dcea hle_ipc: Amend usage of buffer_index within one of HLERequestContext's WriteBuffer() overloads
Previously, the buffer_index parameter was unused, causing all writes to
use the buffer index of zero, which is not necessarily what is wanted
all the time.

Thankfully, all current usages don't use a buffer index other than zero,
so this just prevents a bug before it has a chance to spring.
7 years ago
Lioncash 6c1ba02e0c fsp_srv: Remove unnecessary vector construction in IFile's Write() function
We can avoid constructing a std::vector here by simply passing a pointer
to the original data and the size of the copy we wish to perform to the
backend's Write() function instead, avoiding copying the data where it's
otherwise not needed.
7 years ago
Lioncash 3e9b79e088 fsp_srv: Remove unnecessary std::vector construction in IDirectory's Read() function
We were using a second std::vector as a buffer to convert another
std::vector's data into a byte sequence, however we can just use
pointers to the original data and use them directly with WriteBuffer,
which avoids copying the data at all into a separate std::vector.

We simply cast the pointers to u8* (which is allowed by the standard,
given std::uint8_t is an alias for unsigned char on platforms that we
support).
7 years ago
bunnei 758c357868
Merge pull request #699 from lioncash/vfs
vfs: Deduplicate accumulation code in VfsDirectory's GetSize()
7 years ago
bunnei 87053fb3b8
Merge pull request #697 from bunnei/disable-depth-cull
gl_state: Temporarily disable culling and depth test.
7 years ago
Lioncash 5da4c78c6a filesystem: std::move VirtualDir instance in VfsDirectoryServiceWrapper's constructor
Avoids unnecessary atomic reference count incrementing and decrementing
7 years ago
Lioncash abbf038191 filesystem: Use std::string's empty() function instead of comparing against a literal
This is simply a basic value check as opposed to potentially doing
string based operations (unlikely, but still, avoiding it is free).
7 years ago
Lioncash 2cc0ef83cf filesystem: Remove pragma disabling global optimizations
This was just an artifact missed during PR review.
7 years ago
Lioncash f317080f40 fsp_srv: Make IStorage constructor explicit
Prevents implicit conversions.
7 years ago
Lioncash 910ad2e110 fsp_srv: Add missing includes
Gets rid of relying on indirect inclusions.
7 years ago
Lioncash 6be342118a fsp_srv: Resolve sign-mismatch warnings in assertion comparisons 7 years ago
Lioncash d6e9b96e2f fsp_srv: Respect write length in Write()
Previously we were just copying the data whole-sale, even if the length
was less than the total data size. This effectively makes the
actual_data vector useless, which is likely not intended.

Instead, amend this to only copy the given length amount of data.

At the same time, we can avoid zeroing out the data before using it by
passing iterators to the constructor instead of a size.
7 years ago
Lioncash 5c47ea1a4e common/swap: Remove unnecessary const on return value of swap() 7 years ago
Lioncash 0a868641fa common/swap: Use static_cast where applicable 7 years ago
Lioncash 1edf4dd7ef common/swap: Use using aliases where applicable 7 years ago
Lioncash 9128271292 common/common_funcs: Remove unused rotation functions
These are unused and essentially don't provide much benefit either. If
we ever need rotation functions, these can be introduced in a way that
they don't sit in a common_* header and require a bunch of ifdefing to
simply be available
7 years ago
Lioncash e0b8a35937 common/misc: Deduplicate code in GetLastErrorMsg()
Android and macOS have supported thread_local for quite a while, but
most importantly is that we don't even really need it. Instead of using
a thread-local buffer, we can just return a non-static buffer as a
std::string, avoiding the need for that quality entirely.
7 years ago
Lioncash 63e64f0131 file_util: return string by const reference for GetExeDirectory()
This disallows modifying the internal string buffer (which shouldn't be
modified anyhow).
7 years ago
Lioncash 33fbcb45a7 string_util: Remove AsciiToHex()
Easy TODO
7 years ago
bunnei 368e1d25be
Merge pull request #692 from lioncash/assign
address_arbiter: Correct assignment within an assertion statement in WakeThreads()
7 years ago
bunnei 85421f3406
Merge pull request #690 from lioncash/move
core/memory, core/hle/kernel: Use std::move where applicable
7 years ago
Lioncash 88ba94e8a2 savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function
This function doesn't alter class state.
7 years ago
Lioncash 9abc5763b6 partition_filesystem: Ensure all class members of PartitionFilesystem are initialized
Previously is_hfs and pfs_header members wouldn't be initialized in the
constructor, as they were stored in locals instead. This would result in
things like GetName() and PrintDebugInfo() behaving incorrectly.

While we're at it, initialize the members to deterministic values as
well, in case loading ever fails.
7 years ago
bunnei cf30c4be22 gl_state: Temporarily disable culling and depth test. 7 years ago
Lioncash 4790bb907d content_archive: Make IsDirectoryExeFS() take a shared_ptr as a const reference
There's no need to take this by value when it's possible to avoid
unnecessary copies entirely like this.
7 years ago
Lioncash 87a9bb392b content_archive: Add missing standard includes 7 years ago
Lioncash 0b566f43a1 content_archive: std::move VirtualFile in NCA's constructor
Gets rid of unnecessary atomic reference count incrementing and
decrementing.
7 years ago
Lioncash 5e626c774f vfs: Deduplicate accumulation code in VfsDirectory's GetSize()
We can just use a generic lambda to avoid writing the same thing twice.
7 years ago
bunnei 1371e2fb6a
Merge pull request #691 from lioncash/guard
service/prepo: Add missing header guard
7 years ago
bunnei b10905c8ae
Merge pull request #686 from lioncash/fmt
externals: update fmt to version 5.1.0
7 years ago
Lioncash 55ab369043
loader/nro: Resolve sign mismatch warnings 7 years ago
Lioncash 1831b5ef62
loader/nso: Remove unnecessary vector resizes
We can just initialize these vectors directly via their constructor.
7 years ago
Lioncash e3a30ccc7c
loader/nso: Resolve sign mismatch warnings 7 years ago
bunnei 90ce935f3d
Merge pull request #688 from lioncash/comma
vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()
7 years ago
bunnei 3f93279047
Merge pull request #693 from lioncash/unused
core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock()
7 years ago
bunnei 49b0966003
Merge pull request #687 from lioncash/instance
core: Don't construct instance of Core::System, just to access its live instance
7 years ago
bunnei 89f0acfd36
Merge pull request #680 from bunnei/fix-swizz
decoders: Fix calc of swizzle image_width_in_gobs.
7 years ago
bunnei 2975f7820e
Merge pull request #684 from lioncash/nonmember
game_list: Make ContainsAllWords an internally linked non-member function
7 years ago
bunnei b496a9eefe decoders: Fix calc of swizzle image_width_in_gobs. 7 years ago
Zach Hilman 29aff8d5ab Virtual Filesystem 2: Electric Boogaloo (#676)
* Virtual Filesystem

* Fix delete bug and documentate

* Review fixes + other stuff

* Fix puyo regression
7 years ago
Lioncash 72207577b2 core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock() 7 years ago
Lioncash 2cd3141c30 address_arbiter: Correct assignment within an assertion statement in WakeThreads()
This was introduced within 4f81bc4e1b, and
considering there's no comment indicating that this is intentional, this
is very likely a bug.
7 years ago
Lioncash 296e68fd43 service/prepo: Add missing header guard 7 years ago
Lioncash 93cba6f699 vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()
Without these, this would perform concatenation, which is definitely not
what we want here.
7 years ago
Lioncash 46458e7284 core/memory, core/hle/kernel: Use std::move where applicable
Avoids pointless copies
7 years ago
Lioncash 10d2ab8098 core: Make System's default constructor private
This makes it a compilation error to construct additional instances of
the System class directly, preventing accidental wasteful constructions
over and over.
7 years ago
Lioncash 3a4841e403 core: Don't construct instance of Core::System, just to access its live instance
This would result in a lot of allocations and related object
construction, just to toss it all away immediately after the call.

These are definitely not intentional, and it was intended that all of
these should have been accessing the static function GetInstance()
through the name itself, not constructed instances.
7 years ago
Lioncash f5d7706ca1 externals: update fmt to version 5.1.0
Previously, we were on 4.1.0, which was a major version behind.
7 years ago
Lioncash d17e172d92 game_list: Make ContainsAllWords an internally linked non-member function
This function actually depends on no internal class state, so it doesn't
even need to be a part of the class interface.
7 years ago
Zach Hilman c337272ca9 Fill in more fields in TouchScreenEntryTouch 7 years ago
Zach Hilman f2f368014e Single touch support 7 years ago
bunnei 3d1e8f750c
Merge pull request #681 from lioncash/const
game_list: Make containsAllWords a const member function
7 years ago
bunnei e3da9fc367
Merge pull request #682 from lioncash/telemetry
Telemetry: Minor changes
7 years ago
bunnei 24a55bba42
Merge pull request #679 from lioncash/ctor
game_list: Remove unnecessary QString initialization in KeyReleaseEater
7 years ago
bunnei b87a71b3fe
Merge pull request #678 from lioncash/astc
astc: Minor changes
7 years ago
Lioncash c65a8fafa0 telemetry: Remove unnecessary Field constructor
We can just take the value parameter by value which allows both moving
into it, and copies at the same time, depending on the calling code.
7 years ago
Lioncash 0aebe6b3d5 telemetry: Make operator== and operator!= const member functions of Field
These operators don't modify internal class state, so they can be made
const member functions. While we're at it, drop the unnecessary inline
keywords. Member functions that are defined in the class declaration are
already inline by default.
7 years ago
Lioncash 3575d367a4 telemetry: Default copy/move constructors and assignment operators
This provides the equivalent behavior, but without as much boilerplate.
While we're at it, explicitly default the move constructor, since we
have a move-assignment operator defined.
7 years ago
Lioncash f4b98a857b game_list: Upper-case containsAllWords to ContainsAllWords()
This makes it consistent with most of the other private utility
functions.
7 years ago
Lioncash c8f3fc9a4b game_list: Make containsAllWords a const member function
This doesn't actually modify the internal class state, so it can be a
const member function. While we're at it, amend the function to take
its arguments by const reference.
7 years ago
Lioncash f4c69149f9 game_list: Remove unnecessary QString initialization in KeyReleaseEater
QString initializes to an empty string by default, so this does nothing
meaningful. While we're at it, use a constructor initializer list for
initializing the gamelist member variable.
7 years ago
Lioncash 6a03badcbc astc: Initialize vector size directly in Decompress
There's no need to perform a separate resize.
7 years ago
Lioncash 0f148548f3 astc: Mark functions as internally linked where applicable 7 years ago
Lioncash c5803e30d3 astc: const-correctness changes where applicable
A few member functions didn't actually modify class state, so these can
be amended as necessary.
7 years ago
Lioncash e3fadb9616 astc: Delete Bits' copy contstructor and assignment operator
This also potentially avoids warnings, considering the copy assignment
operator is supposed to have a return value.
7 years ago
Lioncash 4cd52a34b9 astc: In-class initialize member variables where appropriate 7 years ago
bunnei 03c2d049d4 settings: Turn docked mode off by default. 7 years ago
bunnei 49e5de9f03 vi: Change TransactionId::CancelBuffer to LOG_CRITICAL. 7 years ago
bunnei 0d1a99edf6 vi: Fix size for ListDisplays default display. 7 years ago
bunnei c3dd456d51 vi: Partially implement buffer crop parameters. 7 years ago
bunnei 8e28af6f89
Merge pull request #675 from Subv/stencil
GPU: Added register definitions for the stencil parameters.
7 years ago
Subv 3d3b10adc7 GPU: Added register definitions for the stencil parameters. 7 years ago
Zach Hilman 69bfe075b5 General Filesystem and Save Data Fixes (#670) 7 years ago
bunnei 88a3140c9b
Merge pull request #671 from MerryMage/clear-exclusive-state
scheduler: Clear exclusive state when switching contexts
7 years ago
bunnei 519035db3d
Merge pull request #672 from SciresM/to_address_fix
svc:: Fix bug in svcWaitForAddress
7 years ago
bunnei 170e19d4ea nvflinger: Fix for BufferQueue event handling. 7 years ago
Michael Scire 3b885691a1 Kernel/Arbiter: Fix bug in WaitIfLessThan 7 years ago
MerryMage 56cc1c11ec scheduler: Clear exclusive state when switching contexts 7 years ago
bunnei 068668780c
Merge pull request #668 from jroweboy/controller-lag
HID: Update controllers less often
7 years ago
bunnei 04b9cde4f5
Merge pull request #664 from jroweboy/logging-stuff
Minor logging improvements
7 years ago