Weiyi Wang
77f4859059
Merge pull request #4026 from zhaowenlan1779/port-yuzu-765
...
Port "file_util: Remove goto usages from Copy()" from yuzu
2018-07-30 11:44:32 +03:00
Lioncash
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
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
1eb3d0c634
common: Remove synchronized_wrapper.h
...
This is entirely unused in the codebase.
2018-07-30 15:12:04 +08:00
Lioncash
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
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
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
8068f506c5
string_util: Remove AsciiToHex()
...
Easy TODO
2018-07-30 09:06:14 +08:00
Lioncash
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
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
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
3ad1ee65ad
Port #709 from yuzu: "common/misc: Deduplicate code in GetLastErrorMsg()"
2018-07-29 16:28:58 +02:00
James Rowe
d79cb6373d
Merge pull request #3972 from zhaowenlan1779/common-timer
...
common/timer: use std::chrono, avoid platform-dependent code
2018-07-25 10:00:04 -06:00
zhupengfei
cc1f44f7bd
common/string_utils: replace boost::transform with std counterpart
...
Note: according to cppreference it is necessary to convert char to unsigned char when using std::tolower and std::toupper, otherwise the behaviour would be undefined.
2018-07-25 08:04:00 +08:00
fearlessTobi
7a3e126a4f
Replace MathUtil::Clamp with its std counterpart
2018-07-24 19:08:17 +02:00
Weiyi Wang
87872aa369
Merge pull request #3976 from MerryMage/rm-code_block
...
common: CodeBlock is unused
2018-07-23 09:21:37 +03:00
MerryMage
eae523ae17
common: CodeBlock is unused
2018-07-22 21:04:29 +01:00
Weiyi Wang
29ddbe4e7b
Merge pull request #3973 from B3n30/MPSCQueue
...
remove polymorphism issue
2018-07-22 22:22:22 +03:00
zhupengfei
872e505cc6
common/timer: use std::chrono, avoid platform-dependent code
...
* core/timer: use even more std::chrono
* common/timer: convert GetLocalTimeSinceJan1970
2018-07-22 15:40:07 +08:00
B3n30
8480899d8b
remove polymorphism issue
2018-07-21 16:16:21 +02: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
zhupengfei
18664c719e
frontend/applets: misc fixes
...
* Renamed applet to applets
* Added log classes Applet and Applet.SWKBD
* Fixes to get it compile
2018-06-30 08:01:49 +08:00
wwylele
0eab948728
reformat all files with clang-format
2018-06-29 16:56:12 +03:00
wwylele
7c5a76e58b
log: replace all NGLOG with LOG
2018-06-29 14:18:07 +03:00
wwylele
fde415968e
log: remove deprecated log macros
2018-06-29 14:02:29 +03:00
NarcolepticK
f831a08224
logging: Added NGLOG_GENERIC (needed for vm_manager)
2018-06-22 18:48:25 -04:00
zhupengfei
ddc97b15f4
common: Parse Nightly/Canary build version
2018-06-20 09:30:26 +08:00
Weiyi Wang
09982c3386
Merge pull request #3732 from ccawley2011/fix-arm
...
Fix compilation on ARM
2018-05-26 20:14:55 +03:00
James
29551c187a
Add missing std::string import in text_formatter
2018-05-19 21:31:09 +10:00
Cameron Cawley
101d8964f1
common: Fix compilation on ARM
2018-05-13 11:34:45 +01:00
Daniel Lim Wee Soong
51398e0301
Logging: Add customizable logging backends and fmtlib based macros
...
* Change the logging backend to support multiple sinks through the
Backend Interface
* Add a new set of logging macros to use fmtlib instead.
* Qt: Compile as GUI application on windows to make the console hidden by
default. Add filter configuration and a button to open log location.
* SDL: Migrate to the new logging macros
2018-04-23 21:32:56 -06:00
wwylele
39fce60145
[quick-fix]file-util: fmtlib errors on FILE* type parameter. Explicitly cast it to void*
2018-04-06 13:35:37 +03:00
Weiyi Wang
a9544ca015
Merge pull request #3580 from daniellimws/common-fmt
...
common: Migrate logging macros
2018-04-06 12:38:08 +03:00
James Rowe
501717e9db
Update fmtlib to fix msvc warnings
...
Additionally, when updating fmtlib, there was a change in fmtlib broke
how the old logging macro was overloaded, so this works around that by
just naming the fmtlib macro impl something different
2018-04-05 22:33:12 -06:00
Weiyi Wang
acb02d300c
Merge pull request #3518 from wwylele/hashable-struct
...
Common/Hash: abstract HashableStruct from GLShader::PicaShaderConfig
2018-04-05 14:39:12 +03:00
Merry
fff7227f86
Merge pull request #3579 from ccawley2011/architecture-defines
...
common: Clean up architecture-specific defines
2018-03-31 10:41:15 +01:00
Daniel Lim Wee Soong
0f4c9c9f47
file_util: Remove long long casting on buf.st_size in NGLOG statement
2018-03-27 23:31:08 +08:00
Daniel Lim Wee Soong
968569aa61
Replace format specifiers for all usages of ASSERT_MSG
2018-03-27 23:28:42 +08:00
Daniel Lim Wee Soong
59b8a1dbc2
assert: Undo removal of newline for string with __VA_ARGS__
2018-03-27 10:01:10 +08:00
Daniel Lim Wee Soong
111da6db06
common: Migrate logging macros
...
Follow-up of #3533
Replace logging to use NGLOG instead of LOG
This is significantly larger than the previous ones.
2018-03-25 18:42:50 +08:00
James
9283053701
Move WebServices to use LibreSSL + cpp-httplib ( #3501 )
...
Move WebServices to use LibreSSL + cpp-httplib
Remove curl + openssl build dependencies
2018-03-24 13:19:35 -06:00
Merry
174e7e268a
Merge pull request #3533 from daniellimws/fmtlib-macros
...
Logging: Add fmtlib-based macros
2018-03-24 08:04:20 +00:00
Daniel Lim Wee Soong
11ce0f91ab
Remove dependency chrono
...
Was included last time due to adding Entry into log.h
Now it is no longer needed but I forgot to remove it last time
2018-03-22 21:42:02 +08:00
Cameron Cawley
2520ad57a5
common: Use ARCHITECTURE_x86_64 instead of ARCHITECTURE_X64
2018-03-21 22:19:59 +00:00
Cameron Cawley
1afcaed1ff
common: Use ARCHITECTURE_ARM instead of _M_ARM
2018-03-21 22:17:42 +00:00
Daniel Lim Wee Soong
4adbf29b0c
Fix clang-format
...
Oops forgot to check...
2018-03-22 00:45:01 +08:00
Daniel Lim Wee Soong
e6ee1020e1
Replace ##__VA_ARGS__ with __VA_ARGS__
2018-03-22 00:40:01 +08:00
Daniel Lim Wee Soong
c892cea029
Place FmtLogMessage's definition in backend.cpp
...
I decided to overload LogMessage because I don't see a reason to come up with a new function name just for this, but if you guys want me to overload FmtLogMessage instead I'm fine with that.
2018-03-21 23:36:45 +08:00
Daniel Lim Wee Soong
ceeb2810fe
Add nullptr check to LogEntry
...
Also remove explicit comparison with nullptr to make code shorter.
2018-03-20 14:15:48 +08:00
Daniel Lim Wee Soong
2b4998a122
Add check if filter is not a nullptr
...
Fix segfault and pass tests
2018-03-17 22:55:57 +08:00
Cameron Cawley
8d1cab4892
CMake: Set EMU_ARCH_BITS in CMakeLists.txt
2018-03-16 13:29:36 +00:00
Daniel Lim Wee Soong
c4f98c1a2e
Logging: Fix clang-format
2018-03-16 21:18:45 +08:00
Daniel Lim Wee Soong
b5532babab
Merge remote-tracking branch 'citra/master' into fmtlib-macros
2018-03-16 20:50:52 +08:00
Daniel Lim Wee Soong
98e669cf00
Remove all edits not in the scope of this PR
2018-03-16 12:17:14 +08:00
Daniel Lim Wee Soong
373efd3158
Logging: Remove customizable logging backends
...
Separate code for customizing logging backends from this branch
2018-03-16 11:56:40 +08:00
Daniel Lim Wee Soong
eee388588e
Logging: Fix fmt errors after rebasing with master
...
fmt was updated during the clang-format update, which breaks the previous implementation of FmtLogMessage
Changes were:
* Move definition of FmtLogMessage into log.h to use variadic templates as FMT_VARIADIC was removed
To supplement the change above:
* Move Entry and CreateEntry into log.h
* Add LogEntry in backend.cpp
2018-03-16 11:48:33 +08:00
James Rowe
ab4ba71f3e
fixup! Prevent crashes on closing by waiting for the impl thread
2018-03-16 11:18:06 +08:00
James Rowe
87bc5266ef
Logging: Various logging improvements
...
* Uses PopWait to reduce the amount of busy waiting if there aren't many
new logs
* Opens the log file as shared on windows, letting other programs read
the logs, but not write to them while citra is running
* Flushes the logs to disk if a log >= error arrives
2018-03-16 11:18:06 +08:00
James Rowe
9fdc89a456
SPSCQueue: Add PopWait
...
Adds a condition var to SPSCQueue so when a new log is pushed it will
wake the consumer thread that is calling PopWait. This only applies to
to queues with NeedSize=true
2018-03-16 11:18:06 +08:00
James Rowe
47f0185bcd
fixup! move message
2018-03-16 11:18:06 +08:00
James Rowe
7b78425d6b
Address review comments
2018-03-16 11:18:06 +08:00
James Rowe
0daac3020e
Logging: Add customizable logging backends and fmtlib based macros
...
* Change the logging backend to support multiple sinks through the
Backend Interface
* Add a new set of logging macros to use fmtlib instead.
* Qt: Compile as GUI application on windows to make the console hidden by
default. Add filter configuration and a button to open log location.
* SDL: Migrate to the new logging macros
2018-03-16 11:18:06 +08:00
wwylele
9c785814e7
Common/Hash: static_assert on the type passed to HashableStruct
2018-03-15 02:27:21 +02:00
wwylele
30cc8c10cd
Common/Hash: abstract HashableStruct from GLShader::PicaShaderConfig
2018-03-14 00:12:40 +02:00
James Rowe
f61141e86a
Update the entire application to use the new clang format style
2018-03-09 10:54:43 -07:00
wwylele
e004e9505e
assert: do not crash on unimplemented code in debug build
2018-03-05 14:53:19 +02:00
Weiyi Wang
4befbddc34
Merge pull request #3281 from jroweboy/texcache-pt2
...
Texture Cache Rework
2018-03-05 11:57:25 +02:00
hubslave
13a6e091b7
Common: fix swap functions on Bitrig and OpenBSD
...
swap{16,32,64} are defined as macros on the two, but client code
tries to invoke them as Common::swap{16,32,64}, which naturally
doesn't work. This hack redefines the macros as inline functions
in the Common namespace: the bodies of the functions are the
same as the original macros, but relying on OS-specific
implementation details like this is of course brittle.
2018-02-22 23:29:43 +02:00
Weiyi Wang
3c03da12c8
Merge pull request #3069 from B3n30/announce_room_webservice
...
Announce room webservice
2018-02-08 18:46:10 +02:00
James Rowe
44d07574b1
Merge pull request #2882 from danzel/movie-squash
...
Movie (Game Inputs) recording and playback
2018-01-23 01:03:37 -07:00
Tobias
4247826358
Minor spelling fix
2018-01-21 14:08:13 +01:00
Yuri Kunde Schlesner
3a001c41bb
Common: Use common swap.h macros in CityHash
2018-01-15 13:43:38 -08:00
Yuri Kunde Schlesner
3e456cd3fe
Common: Fix 2 implicit conversion warnings in CityHash
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
712e6ee960
Common: Remove CityHash32 and CityHashCrc128 variants
...
In 64-bit systems, CityHash64 is always strictly better than CityHash32.
CityHashCrc128 requires SSE 4.2.
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
f081388afe
Common: Adapt CityHash code to match our codebase better
...
- Use #pragma once instead of guards
- Move header typedefs to implementation file
- Enclose in Common namespace
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
d93ee65164
Common: Add convenience function for hashing a struct
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
7f77820460
Common: Replace MurmurHash3 with CityHash64
...
CityHash64 is faster than Murmur3 at all sizes, but especially for short
keys.
2018-01-15 01:11:11 -08:00
James Rowe
c821c14908
Settings: Change resolution scaling to an integer instead of a float
2017-12-23 16:10:25 -07:00
danzel
04541150b1
Movie (recorded inputs) playback and recording. SDL has command lines to control it.
2017-12-17 16:43:09 +13:00
B3n30
423df498d9
fixup! Announce-Service: Add conditional variable for the wait in the announce thread
2017-12-14 12:36:37 +01:00
B3n30
eba2351f9e
Announce-Service: Add conditional variable for the wait in the announce thread
2017-12-14 12:36:37 +01:00
B3n30
93742f17b3
fixup! fixup! Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
B3n30
0432fc17eb
Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
bunnei
4695f12a08
Merge pull request #3264 from lioncash/cmake-target
...
CMakeLists: Derive the source directory grouping from targets themselves
2017-12-12 14:34:51 -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
c31f932afe
common/core: Silence initialization order warnings
2017-12-10 19:50:45 -05:00
Yuri Kunde Schlesner
a5aa5e2b2d
Common: Simplify and optimize BitSet iterator
...
Instead of doing complex machinations to keep track of the current bit
index, just unset the lowest bit on each iteration, greatly simplifying
the code.
2017-12-09 20:31:23 -08: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
Weiyi Wang
2664042325
Merge pull request #3086 from Subv/swkbd_launch
...
HLE/APT: Allow launching native applets instead of HLE ones.
2017-12-03 11:38:29 +02:00
B3n30
e9a95b2e7d
CoreTiming: Reworked CoreTiming ( #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2017-11-25 14:56:57 +01:00
Subv
ccd0710e5b
Logging: Add a Service_NS log class for the NS service.
2017-11-06 14:51:57 -05:00
Huw Pascoe
a13ab958cb
Fixed type conversion ambiguity
2017-09-30 09:34:35 +01:00
Subv
a321bce378
Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.
...
It is unlikely we will ever use this without first doing a Cast to a signed type.
Fixes 9 "unary minus operator applied to unsigned type, result still unsigned" warnings on MSVC2017.3
2017-09-27 09:06:41 -05:00
Weiyi Wang
792dee47a7
Merge pull request #2822 from wwylele/sw_lighting-2
...
Implement fragment lighting in the sw renderer (take 2)
2017-08-09 18:54:29 +03:00
bunnei
f44a1e0291
common: Add build timestamp to scm_rev.
2017-08-03 20:10:37 -04:00
wwylele
fe44e843fe
vector_math: remove dead template parameter
2017-07-11 20:08:56 +03:00
wwylele
f3660ba9dd
vector_math: remove broken SFINAE stuff
...
this was originally added to eliminate warnings on MSVC, but it doesn't work for custom types.
2017-07-11 19:51:29 +03:00
Subv
73566ff7a9
SwRasterizer: Flip the vertex quaternions before clipping (if necessary).
2017-07-11 19:39:15 +03:00