Lioncash and fearlessTobi
c5d0a0ac65
vector_math: Remove unimplemented function prototypes
2018-08-24 18:46:24 +02:00
Lioncash and fearlessTobi
d10e579292
vector_math: Make functions constexpr where applicable
2018-08-24 18:46:01 +02:00
Lioncash and fearlessTobi
6b1ec838aa
vector_math: Convert typedefs to type aliases
2018-08-24 18:37:18 +02:00
Lioncash and zhupengfei
39d5ada4e1
kernel/thread: Remove unimplemented function prototype
...
Given there's no implementation, we may as well remove the code
entirely.
2018-08-10 17:05:01 +08:00
Lioncash and zhupengfei
596caf70b7
kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_t
...
Avoids using a u32 to compare against a range of size_t, which can be a
source of warnings. While we're at it, compress a std::tie into a
structured binding.
2018-08-10 10:13:50 +08:00
Lioncash and zhupengfei
893d9c5ff3
kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const reference
...
This function only reads the data being referenced, it doesn't modify
it, so we can turn the reference into a const reference.
2018-08-10 10:13:49 +08:00
Lioncash and zhupengfei
c71c9e63ec
kernel/thread: Make GetFreeThreadLocalSlot() internally linked
...
This function isn't used outside of this translation unit, so we can
make it internally linked.
2018-08-10 10:13:48 +08:00
Lioncash and zhupengfei
384c9e5382
input_common: Use std::move where applicable
...
Avoids unnecessary atomic reference count increments and decrements
2018-08-10 10:12:30 +08:00
Lioncash and zhupengfei
8ce104f0a0
input_common: Add missing override specifiers
2018-08-10 10:12:29 +08:00
Lioncash and zhupengfei
23e8dd66c4
math_util: Always initialize members of Rectangle
...
Prevents potentially using the members uninitialized.
2018-08-10 10:11:25 +08:00
Lioncash and zhupengfei
a431c85b6b
core_timing: Convert typedef into a type alias
...
Makes the alias a little more readable from left-to-right.
2018-08-10 10:00:36 +08:00
Lioncash and zhupengfei
196ab8be89
core_timing: Use transparent functors where applicable
...
Gets rid of the need to hardcode the type in multiple places. This will
now be deduced automatically, based off the elements in the container
being provided to the algorithm.
2018-08-10 09:59:17 +08:00
Lioncash and zhupengfei
660be9499d
core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds
...
Enforces the time unit being returned and also allows using the standard
time utilities to manipulate it.
2018-08-10 09:56:17 +08:00
Lioncash and zhupengfei
265e875e5b
qt/main: Better file-existence checking within OnMenuRecentFile() and UpdateUITheme()
2018-08-10 09:45:48 +08:00
Lioncash and zhupengfei
319d685b13
common/color: Remove unnecessary const qualifiers on return types
...
These are just superfluous and not necessesary
2018-08-10 09:35:28 +08:00
Lioncash and zhupengfei
b956a2be1c
common/color: Get rid of undefined behavior
...
Gets rid of type punning via reinterpret_cast within functions. Instead,
we use memcpy to transfer the contents across types.
2018-08-10 09:35:27 +08:00
Lioncash and zhupengfei
ae64175522
externals: Update glad to 0.1.26
...
Updates the library from 0.1.25. Mainly fixes issues related to macOS,
but we may as well update the library.
2018-08-08 15:53:05 +08:00
Lioncash and zhupengfei
0495ba5d91
file_util: Avoid sign-conversions in WriteArray() and ReadArray()
...
Prevents compiler warnings.
2018-08-08 15:45:31 +08:00
Lioncash and zhupengfei
8e103d0675
kernel/timer: Make data members private where applicable
...
Instead, we can just expose functions that return the queryable state
instead of letting anything modify it.
2018-08-01 17:49:52 +08:00
Lioncash and zhupengfei
b92af5a858
param_package: Take std::string by value in string-based Set() function
...
Allows avoiding string copies by letting the strings be moved into the
function calls.
2018-08-01 17:21:11 +08:00
Lioncash and zhupengfei
b4cdbf3ee8
gdbstub: Get rid of a few signed/unsigned comparisons
...
Ensures both operands in comparisons are the same signedness.
2018-07-30 22:40:43 +08:00
Lioncash and zhupengfei
1a0529a064
common/swap: Remove unnecessary const on return value of swap()
2018-07-30 21:30:15 +08:00
Lioncash and zhupengfei
a2203e1566
common/swap: Use static_cast where applicable
2018-07-30 21:30:14 +08:00
Lioncash and zhupengfei
5a66820c20
common/swap: Use using aliases where applicable
2018-07-30 21:30:13 +08:00
Lioncash and zhupengfei
b539745153
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
2018-07-30 20:08:59 +08:00
Lioncash and zhupengfei
995d1cd785
string_util: Get rid of separate resize() in CPToUTF16(), UTF16ToUTF8(), CodeToUTF8() and UTF8ToUTF16()
...
There's no need to perform the resize separately here, since the
constructor allows presizing the buffer.
Also move the empty string check before the construction of the string
to make the early out more straightforward.
2018-07-30 18:18:15 +08:00
Lioncash and zhupengfei
f34dde32d1
string_util: Use emplace_back() in SplitString() instead of push_back()
...
This is equivalent to doing:
push_back(std::string(""));
which is likely not to cause issues, assuming a decent std::string
implementation with small-string optimizations implemented in its
design, however it's still a little unnecessary to copy that buffer
regardless. Instead, we can use emplace_back() to directly construct the
empty string within the std::vector instance, eliminating any possible
overhead from the copy.
2018-07-30 18:18:14 +08:00
Lioncash and zhupengfei
841bb4e5bd
string_util: Remove unnecessary std::string instance in TabsToSpaces()
...
We can just use the variant of std::string's replace() function that can
replace an occurrence with N copies of the same character, eliminating
the need to allocate a std::string containing a buffer of spaces.
2018-07-30 18:18:12 +08:00
Lioncash and zhupengfei
99b2a871a7
file_util: return string by const reference for GetExeDirectory()
...
This disallows modifying the internal string buffer (which shouldn't be
modified anyhow).
2018-07-30 16:55:55 +08:00
Lioncash and zhupengfei
bf5b5d25ed
wait_tree: Silence warning about all code paths not returning a value
...
If code execution hits this spot, something has gone very wrong, so mark
the path as unreachable. This silences a warning on MSVC.
2018-07-30 16:32:09 +08:00
Lioncash and zhupengfei
df5069f8c0
file_util: Use a u64 to represent number of entries
...
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
2018-07-30 16:19:03 +08:00
Lioncash and zhupengfei
cc6cb45536
file_util: std::move FST entries in ScanDirectoryTree()
...
Avoids unnecessary copies when building up the FST entries.
2018-07-30 16:16:58 +08:00
Lioncash and zhupengfei
1eb3d0c634
common: Remove synchronized_wrapper.h
...
This is entirely unused in the codebase.
2018-07-30 15:12:04 +08:00
Lioncash and zhupengfei
1affca05c7
logging/filter: Use std::string_view in ParseFilterString()
...
Allows avoiding constructing std::string instances, since this only
reads an arbitrary sequence of characters.
We can also make ParseFilterRule() internal, since it doesn't depend on
any private instance state of Filter
2018-07-30 14:56:53 +08:00
Lioncash and zhupengfei
798ebda049
logging/backend: Add missing standard includes
...
A few inclusions were being satisfied indirectly. To prevent breakages
in the future, include these directly.
2018-07-30 14:56:52 +08:00
Lioncash and zhupengfei
765c7e711a
logging/backend: Use std::string_view in RemoveBackend() and GetBackend()
...
These can just use a view to a string since its only comparing against
two names in both cases for matches. This avoids constructing
std::string instances where they aren't necessary.
2018-07-30 14:56:51 +08:00
Lioncash and zhupengfei
8068f506c5
string_util: Remove AsciiToHex()
...
Easy TODO
2018-07-30 09:06:14 +08:00
Lioncash and zhupengfei
d3a52e45e3
file_util: Remove goto usages from Copy()
...
We can just leverage std::unique_ptr to automatically close these for us
in error cases instead of jumping to the end of the function to call
fclose on them.
2018-07-30 08:48:58 +08:00
Lioncash and zhupengfei
5b691d3fe0
param_package: Use std::unordered_map's insert_or_assign instead of map indexing
...
This avoids a redundant std::string construction if a key doesn't exist
in the map already.
e.g.
data[key] requires constructing a new default instance of the value in
the map (but this is wasteful, since we're already setting something
into the map over top of it).
2018-07-30 08:22:42 +08:00
Lioncash and zhupengfei
290bfa1804
param_package: Get rid of file-static std::string construction
...
Avoids potential dynamic allocation occuring during program launch
2018-07-30 08:22:41 +08:00
Lioncash and zhupengfei
661f7bbcfd
core: Make converting constructors explicit where applicable
...
Avoids unwanted implicit conversions. Thankfully, given the large amount
of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-30 08:21:13 +08:00
Lioncash and fearlessTobi
3ad1ee65ad
Port #709 from yuzu: "common/misc: Deduplicate code in GetLastErrorMsg()"
2018-07-29 16:28:58 +02:00
Lioncash
6614450da3
game_list: Make containsAllWords() a non-member function
...
This doesn't depend on class state at all, so this can be made internal.
While we're at it, amend the function to take its arguments by const reference.
2018-07-18 16:55:13 -04:00
Lioncash
033e889645
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.
2018-07-18 16:44:21 -04:00
Lioncash
0a8563fb79
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.
2018-07-18 16:18:34 -04:00
Lioncash
3244042c4c
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.
2018-07-18 16:17:40 -04:00
Lioncash
faa62b0d1e
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.
2018-07-18 16:15:58 -04:00
Mat M and GitHub
a50cd37aa6
Merge pull request #3842 from NarcolepticK/cecd-migrate-logging
...
service/cecd: Migrate logging macros
2018-06-19 15:30:07 -04:00
Mat M and GitHub
8e02c70e82
Merge pull request #3809 from spbennett/master
...
externals: Update Catch to v2.2.2
2018-06-03 16:30:52 -04:00
Mat M and GitHub
a5f906b8ab
Merge pull request #3708 from FearlessTobi/add-region-column
...
citra_qt: Add a game region column to the Game List
2018-05-02 00:22:38 -04:00
Mat M and GitHub
c250cbd5b3
Merge pull request #3660 from baka0815/translation
...
Don't translate function keys in Qt GUI
2018-04-16 08:12:29 -04:00
Lioncash
a78920e60b
sm: Relocate the service manager to the System class
...
Rather than have it live as a global variable, place it into the System class and make it instance-based.
2018-04-13 07:15:34 -04:00
Lioncash
5309b51c12
cam: Correct forward declaration type for Core::EventType
...
This is actually a struct, not a class.
2018-04-12 23:15:16 -04:00
Mat M and GitHub
bdf7b46fbb
Merge pull request #3641 from valentinvanelslande/default_ini
...
default_ini: remove space in custom_layout
2018-04-09 02:00:20 -04:00
Mat M and GitHub
5b9253d710
Merge pull request #3600 from lioncash/array
...
pica_to_gl: Use std::array where applicable
2018-03-31 02:57:47 -04:00
Lioncash
7d331a469f
pica_to_gl: Use std::array where applicable
...
Removes the need to use the ARRAY_SIZE macro
2018-03-31 00:58:49 -04:00
Lioncash
0e7ca706dc
disk_archive: Make DiskDirectory's constructor explicit
...
Prevents implicit conversions/construction.
2018-03-31 00:54:17 -04:00
Lioncash
07855c48d1
disk_archive: Remove unnecessary const in DiskDirectory's Read() declaration
...
This only applies in the definition of the function, not the
declaration.
2018-03-31 00:54:17 -04:00
Lioncash
ed64d15060
disk_archive: Remove unused total_entries_in_directory member from DiskDirectory
...
Also converts initializer list assignments to in-class initializers
where relevant.
2018-03-31 00:52:47 -04:00
Lioncash
26b1aec3c1
archive_systemsavedata: Remove pointer cast from GetSystemSaveDataPath()
...
These kinds of casts invoke undefined behavior due to alignment rules.
Use memcpy instead which always does the right thing.
2018-03-28 22:17:26 -04:00
Lioncash
8366f6cb5e
citra-room: Fix always false case in main() related to port range
...
If the variable we're checking is a u16, then there can never be values
outside of the 0-65535 range. This is bad because an arbitrary larger
value can be truncated down into a valid value, making an otherwise
malformed argument well-formed.
Change it to use u32 to allow the check to function properly.
2018-03-28 21:53:05 -04:00
Lioncash
38b9d1780f
verify_login: Make VerifyLogin exceptionless
...
This function can be simplified by attempting to find the username
within the JSON object and then only accessing it if it does. There's no
need to blindly access the data itself.
This also eliminates the need to copy the string to a local as well,
since we already have the element itself, we can just compare against
it. For the failure case, it's the same if we were checking that the
provided username string is empty.
2018-03-28 21:34:21 -04:00
Lioncash
27a3d44b16
gl_rasterizer: Fix incorrect comparison against src_surface in AccelerateTextureCopy()
...
This should actually be comparing the validity of the destination
surface.
2018-03-28 21:13:57 -04:00
Lioncash
5ec576ff78
err_f: Add missing break in ThrowFatalError()
...
Introduced by 691f069743
If we hit a prefetch abort, the DFSR and DFAR contents aren't really going to be
that useful.
2018-03-28 20:33:25 -04:00
Lioncash
31100c582a
boss: Correct ReceiveProperty()'s response data payload
...
This was previously overwriting data in the same index.
2018-03-28 20:26:33 -04:00
Lioncash
3af976e41e
ncch_container: Get rid of pointer casts in LZSS_GetDecompressedSize() and LZSS_Decompress()
...
These kinds of casts invoke undefined behavior, due to both the aliasing
rule, and from an alignment point-of-view. Use the way that's guaranteed
to always work instead.
2018-03-28 19:55:49 -04:00
Mat M and GitHub
79d1bcf5ba
Merge pull request #3506 from MerryMage/mov-gl_resource_manager
...
gl_resource_manager: Use std::exchange in move assignment operators and constructors
2018-03-17 16:30:58 -04:00
Mat M and GitHub
5dd8ac99e3
Merge pull request #3466 from daniellimws/edit-contributing
...
Add link to Discord
2018-03-09 21:14:17 -05:00
Mat M and GitHub
2085c9d7df
Merge pull request #3487 from wwylele/no-cached-io
...
Memory: remove RasterizerCachedSpecial page type
2018-03-09 21:13:20 -05:00
Lioncash
e4b38fdb80
externals: Update catch to v2.1.1
2018-01-27 15:45:29 -05:00
Lioncash
f2fb830859
externals: Update catch to 2.1.0
...
Keeps the unit testing library up to date.
2018-01-17 20:52:47 -05:00
Mat M and GitHub
c143a5a3a6
Merge pull request #3318 from MerryMage/gdb_stub_
...
gdbstub: Correct typo
2017-12-20 15:05:37 -05:00
Lioncash
a73f135868
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
...
This is more type-safe than the string-based signal/slot syntax that was
being used. It also makes the connections throughout the UI code consistent.
2017-12-17 18:44:48 -05:00
Lioncash
9ec0609ae5
citra_qt: Drop Qt 5 version checks in code
...
We don't support Qt 4.x anymore.
2017-12-16 13:26:14 -05:00
Lioncash
8e53599deb
game_list: Use forward declarations where applicable
...
Reduces the number of header dependencies propagated by the header file.
2017-12-16 13:14:23 -05:00
Mat M and GitHub
d3112aedba
Merge pull request #3295 from lioncash/qt4
...
citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
2017-12-15 19:49:22 -05:00
Lioncash
d613c6f74f
mic_u: Migrate to the new service framework
2017-12-15 19:22:58 -05:00
Lioncash
c681090d06
citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
...
We don't support Qt 4 anymore.
2017-12-15 19:01:21 -05:00
Lioncash
761101f64c
input_common: Remove redundant target_sources in CMakeLists
2017-12-14 19:21:02 -05:00
Lioncash
ab021d163e
CMakeLists: Derive the source directory grouping from targets themselves
...
Removes the need to store to separate SRC and HEADER variables,
and then construct the target in most cases.
2017-12-11 21:11:52 -05:00
Lioncash
eb58dbda32
ncch: Add missing return statement in ReadUpdateRomFs
2017-12-11 01:33:08 -05:00
Lioncash
91a804707b
ipc_helpers: Add member functions for pushing and popping strongly typed enums
...
Alleviates the need to static_cast to an enum type at the call sites of the Push and Pop calls.
We only allow strongly typed enums, as they have a defined type of int
by default if an underlying type isn't explicitly specified, whereas
with regular enums, if an underlying type isn't specified, an
implementation-defined type is used that can fit all the enumeration
values.
2017-12-10 23:10:00 -05:00
Lioncash
e439725271
bootmanager: Make EmuThread's IsRunning() member function const
2017-12-10 20:12:47 -05:00
Lioncash
c06f7978ac
bootmanager: In-class initialize EmuThread's boolean member variables
...
Trims down the initializer list a little.
2017-12-10 20:11:35 -05:00
Lioncash
1f186be030
input_common/sdl: Silence a -Wpessimizing-move warning
...
Moving when returning by value can inhibit copy elision.
2017-12-10 19:53:57 -05:00
Lioncash
c31f932afe
common/core: Silence initialization order warnings
2017-12-10 19:50:45 -05:00
Lioncash
bca58546b1
ac: Correct constructor initialization order
...
The parent class constructor will always run before the
class' initializers for member variables.
2017-12-09 23:48:40 -05:00
Lioncash
11705857cd
file_sys: std::move the vector in NCCHFile's constructor
...
Avoids making unnecessary copies of the source vector's data.
2017-12-09 14:33:09 -05:00
Lioncash
370d77f13a
file_sys: std::move std::shared_ptr instances in constructors where applicable
...
By default, a regular copy requires an atomic increment and decrement. A
move avoids this from occurring, which makes sense when the constructor
is taking the shared_ptr by value.
2017-12-09 14:33:04 -05:00
Lioncash
ff96c5dba0
svc: Provide names for svc 0x59 and 0x5A
...
Updated according to 3dbrew.
2017-12-07 22:14:55 -05:00
Lioncash
088c8521bf
dyncom: Remove unnecessary includes
2017-12-07 00:02:55 -05:00
Lioncash
ab857f5e45
arm_dyncom_dec: Hide the decoding table from external view
...
This isn't used externally anywhere (and really shouldn't be).
2017-12-06 20:55:52 -05:00
Lioncash
982039be95
arm_dynarmic_cp15: Add missing header guard
2017-12-06 19:51:46 -05:00
Lioncash
e960628a14
arm: Make CPU backend constructors explicit
...
Avoids implicit conversions
2017-12-06 19:37:56 -05:00
Lioncash
8599b1e7cc
dyncom: Convert the SPSR checking define to a function
...
Same thing, with less indirection hiding
2017-12-05 20:07:45 -05:00
Lioncash
cc2ff226ae
vector_math: Return by const reference for const operator[]
...
Makes behavior between both overloads consistent.
2017-12-03 19:35:54 -05:00
Lioncash
f51fa38a1b
externals: Update catch to v2.0.1
2017-11-29 19:19:33 -05:00
Lioncash
89f67ad90f
services: Silence warnings related to logging
2017-11-29 18:59:54 -05:00
Lioncash
94999bde5b
room/room_member: Silence -Wswitch warnings
2017-11-28 21:09:53 -05:00
Lioncash
0a988e07cb
packet: Simplify operator bool overload
...
Previously this would cause a -Wnull-conversion warning
2017-11-28 21:00:24 -05:00