Lioncash and fearlessTobi
6c3737a786
bit_field: Convert ToBool() into explicit operator bool
...
Gets rid of a TODO that is long overdue.
2018-09-01 15:44:09 +02:00
Lioncash and fearlessTobi
664e92d6ae
common: Remove unused old breakpoint source files
...
These currently aren't used and contain commented out source code that
corresponds to Dolphin's JIT. Given our CPU code is organized quite
differently, we shouldn't be keeping this around (at the moment it just
adds to compile times marginally).
2018-09-01 00:04:25 +02:00
Lioncash and fearlessTobi
893f6e9766
telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
...
Given these functions aren't intended to be used frequently, there's no
need to keep the std::string instances allocated for the whole lifetime
of the program. It's just a waste of memory.
2018-08-31 01:51:32 +02:00
Lioncash and fearlessTobi
6d280cb49a
gl_stream_buffer: Add missing header guard
...
Prevents potential compilation errors from occuring due to multiple
inclusions
2018-08-31 01:45:44 +02:00
Lioncash and fearlessTobi
d82ecb67f7
emu_window: Ensure WindowConfig members are always initialized
...
Previously we weren't always initializing all members of the struct.
Prevents potentially wonky behavior from occurring.
2018-08-31 00:55:04 +02:00
Lioncash and fearlessTobi
8fa861c2c6
memory: Make prototype parameter names match their definitions
...
Keeps the code consistent.
2018-08-31 00:33:20 +02:00
Lioncash and fearlessTobi
379b8c65b9
memory: Remove unnecessary const qualifiers in prototypes
...
These aren't necessary, as value-wise const only matters in the
definition.
2018-08-31 00:22:55 +02:00
Lioncash and fearlessTobi
8fbfd0f7fa
logging/backend: Use const reference to refer to log filter
...
The filter is returned via const reference, so this was making a
pointless copy of the entire filter every time a message was being
pushed into the logger instance.
2018-08-31 00:13:15 +02:00
Lioncash and fearlessTobi
0fbae792cf
common/xbyak_abi: Mark defined functions in header as inline
...
Avoids potential One Definition Rule violations when these are used in
the future.
2018-08-31 00:08:42 +02:00
Lioncash and fearlessTobi
d6bf1b31c8
common/xbyak: Use nested namespace specifiers where applicable
2018-08-31 00:08:34 +02:00
Lioncash and fearlessTobi
ce472144ff
CMakeLists: Add architecture detection for AArch64
...
We already have an equivalent in place for the 32-bit ARM architecture, so we
should also have one for the newer 64-bit ARM architecture as well.
2018-08-31 00:07:01 +02:00
Lioncash and fearlessTobi
ff1f7555de
vector_math: Use variable template version of is_signed in Vec classes
...
Same behavior, less code
2018-08-30 23:38:32 +02:00
Lioncash and fearlessTobi
91559bfdfe
gdbstub: Use type alias for breakpoint maps
...
Rather than having to type out the full std::map type signature, we can
just use a straightforward alias. While we're at it, rename
GetBreakpointList to GetBreakpointMap, which makes the name more
accurate. We can also get rid of unnecessary u64 static_casts, since
VAddr is an alias for a u64.
2018-08-25 15:34:21 +02:00
Lioncash and fearlessTobi
8a109333b7
gdbstub: Move all file-static variables into the GDBStub namespace
...
Keeps everything under the same namespace. While we're at it, enclose
them all within an inner anonymous namespace
2018-08-25 15:27:46 +02:00
Lioncash and fearlessTobi
db8ec37066
gdbstub: Replace PAddr alias with VAddr
...
In all cases, a virtual address is being passed in, not a physical one.
2018-08-25 15:25:12 +02:00
Lioncash and fearlessTobi
cb1825a769
qt/hotkey: Get rid of global hotkey map instance
...
Instead, we make a proper registry class and house it within the main
window, then pass it to whatever needs access to the loaded hotkeys.
This way, we avoid a global variable, and don't need to initialize a
std::map instance before the program can do anything.
2018-08-25 13:43:11 +02:00
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 fearlessTobi
79434d3d4c
citra-qt: Use Qt 5 signal/slots where applicable
...
Makes the signal/slot connections type-safe instead of string-based.
2018-08-23 18:34:25 +02:00
Lioncash and fearlessTobi
c786df3e4b
kernel/process: Use std::array where applicable
2018-08-23 18:08:20 +02:00
Lioncash and fearlessTobi
37e78de206
kernel/process: Use accessors instead of class members for referencing segment array
...
Using member variables for referencing the segments array increases the
size of the class in memory for little benefit. The same behavior can be
achieved through the use of accessors that just return the relevant
segment.
2018-08-23 18:08:03 +02:00
Lioncash and fearlessTobi
469ed4a09f
kernel/vm_manager: Convert loop into std::any_of()
2018-08-23 17:53:37 +02:00
Lioncash and fearlessTobi
c7e1dab45b
kernel/vm_manager: Use const where applicable
...
Makes our immutable state explicit.
2018-08-23 17:53:20 +02:00
Lioncash and fearlessTobi
bb88c3b7b5
kernel/vm_manager: Use the VAddr type alias in CarveVMA()
...
These two variables correspond to address ranges.
2018-08-23 17:39:18 +02:00
Lioncash and fearlessTobi
63c7b44ba8
kernel: Move object class to its own source files
...
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
2018-08-23 17:31:59 +02:00
Lioncash and fearlessTobi
29e5dec986
sink_details: Deduplicate long std::function repetition
...
We can just use type aliases to avoid needing to write the same long
type twice
2018-08-23 17:03:09 +02:00
Lioncash and fearlessTobi
50b58da56c
sink_details: std::move std::function instances
...
Given std::function is allowed to potentially allocate, these should be
std::move'd to prevent potential reallocation (should that ever happen).
2018-08-23 17:03:00 +02:00
Lioncash and fearlessTobi
d944d1120f
video_core: Remove unimplemented Start() function prototype
...
Given this has no definition, we can just remove it entirely.
2018-08-23 16:58:30 +02:00
Lioncash and zhupengfei
f5ddcef340
CMakeLists: lowercase find_library usage
...
The rest of the CMake script uses lowercase for commands (which is the
general CMake style), making it more consistent with surrounding code.
2018-08-12 13:39:22 +08:00
Lioncash and zhupengfei
b399186f18
CMakeLists: Change MSVC14 variable to MSVC_VERSION
...
Use of the MSVC14 variable is discouraged in the CMake documentation
(which makes sense, since MSVC_VERSION is the more general appliable
variable).
2018-08-12 13:38:42 +08: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