Commit graph

240 commits

Author SHA1 Message Date
Hamish Milne
5035e68dad Added derived kernel objects 2020-02-13 17:38:15 +08:00
Hamish Milne
f79c9668a3 Added shader state; WIP kernel objects 2020-02-13 17:38:10 +08:00
Hamish Milne
dc04774ece Added POD serialization 2020-02-13 17:27:51 +08:00
Hamish Milne
6940c99ed6 Added boost serialization 2020-02-13 17:27:50 +08:00
James Rowe
6945b6539f Address review and update zstd 2020-01-15 19:58:34 -07:00
James Rowe
8f67d6a444 Add ZSTD compression for precompiled cache 2020-01-15 19:58:33 -07:00
Khangaroo
df99d98240 specify size of buffer and use openglstate in getteximageoes 2019-11-09 12:58:17 -07:00
Khangaroo
391e552927 qimageinterface fixes, remove old lodepng, address more comments 2019-11-09 12:56:24 -07:00
khang06
e0d63bd21b add texture dumping as a config entry 2019-11-09 12:53:12 -07:00
khang06
2b92065d2a add lodepng as an external, have video_core depend on it 2019-11-09 12:48:23 -07:00
MysticExile
acf1fe5ee1 externals: Update fmt to master (#4955) 2019-09-27 19:26:36 +02:00
Ethan
56091241ff externals: update fmt to 6.0.0 2019-09-05 02:39:13 +02:00
Weiyi Wang
36ae10f555 archive_ncch: add open source mii archive 2019-03-09 08:19:32 -05:00
Weiyi Wang
f409342ab5
Merge pull request #4613 from BreadFish64/gles5
video_core: add GLES support
2019-02-17 15:44:39 -05:00
B3N30
c521f3b7d6 CoreAudio::HLE: Add FFmpeg aac decoder 2019-02-09 11:52:31 +01:00
Weiyi Wang
6347b5cbb4 Remove libzmq submodule 2019-02-02 15:25:23 -05:00
BreadFish64
9af8d61ba2 externals/glad: add GLES loader 2019-01-30 14:08:28 -06:00
Ben
4f23d5d69e
Merge pull request #4490 from wwylele/teakra-new
audio: implement DSP LLE
2019-01-11 16:45:00 +01:00
Lioncash
3949c17e20 externals: Update fmt to 5.3.0
Updates fmt from 5.2.1 to 5.3.0
2019-01-01 21:57:31 +01:00
Weiyi Wang
a7a24367d4 update teakra 2018-12-21 21:34:36 -05:00
Weiyi Wang
443f4b964d DSP/LLE: add multithread mode 2018-12-21 20:49:24 -05:00
Weiyi Wang
969dc3b46f Update teakra and address more comments 2018-12-21 20:49:23 -05:00
Weiyi Wang
05c372bf6c Update teakra to fix macos issue; address comment feedbacks 2018-12-21 20:49:23 -05:00
Weiyi Wang
e3ac248487 update teakra: implement idle skipping 2018-12-21 20:49:23 -05:00
Weiyi Wang
6d51d95d44 audio_core: add teakra and lle interface 2018-12-21 20:49:18 -05:00
zhupengfei
1a8841f96e
network, web_service: Add Verification backend and use new lobby API
Added verify_backend to load user_data for members. and removed method to generate UID as this is now done server-side.

Added GetUsername function and a "token" param to room_member.
Also added a username to ChatEntry, so that the username can be shown (along with nicknames) in the chat dialog.
2018-12-15 11:02:51 +08:00
zhupengfei
c396e3c6e5 network: check Console ID conflicts
As Console ID can be sensitive data sometimes, this implementation sent a SHA256 hash of it instead.
2018-12-15 11:02:47 +08:00
Michał Janiszewski
ace46a93d4 Handle missing git info when building 2018-11-23 15:45:32 +01:00
SachinVin
cee7c0baa5 Externals: Find and build cpu-features for cryptopp on android 2018-11-20 14:24:19 -05:00
fearlessTobi
57d68bb541 Address review comments 2018-10-20 10:35:55 -04:00
fearlessTobi
08793a6dae Review comments - part 3 2018-10-20 10:35:55 -04:00
fearlessTobi
8a87a6a72f Address more review comments 2018-10-20 10:35:55 -04:00
zhupengfei
b459164c2a
citra: fix cemuhook module crash
fixes #4144. Updated inih to use the newly added GetString function which returns the default value on empty string.
2018-10-12 22:58:30 +08:00
Weiyi Wang
61155a25c3 Update fmt to 5.2.1
It seems to fix msvc warnings
2018-10-06 01:58:09 -04:00
MerryMage
b4d9d9661a arm_dynarmic: Pass breakpoints to gdbstub
Allow gdbstub to handle execution breakpoints
2018-09-30 19:40:49 +01:00
Weiyi Wang
7c97e8df62
Merge pull request #4256 from wwylele/country-list
archive_ncch: add open source country list archive
2018-09-27 10:09:37 -04:00
Weiyi Wang
08bfba5d8e
Merge pull request #4005 from NarcolepticK/stub-cecd
service/cecd: Implement some functions
2018-09-27 10:08:14 -04:00
EverOddish
fce7afb8dc Added CMake option to enable/disable scripting support 2018-09-23 19:16:18 -04:00
Weiyi Wang
a1517612d3 update git hash for eshop lock bit fix 2018-09-23 13:26:13 -04:00
Weiyi Wang
1123580738 archive_ncch: add open source country list archive 2018-09-22 16:11:57 -04:00
Steve Bennett
7d922753c3 Xbyak 5.71
---

Updated to Xbyak 5.71
1de435ed04
2018-09-15 16:02:11 -05:00
EverOddish
04dd91be82 Initial support for scripting (#4016)
* Add ZeroMQ external submodule

* ZeroMQ libzmq building on macOS

* Added RPC namespace, settings and logging

* Added request queue handling and new classes

* Add C++ interface to ZeroMQ

* Added start of ZeroMQ RPC Server implementation.

* Request construction and callback request handling

* Read and write memory implementation

* Add ID to request format and send reply

* Add RPC setting to macOS UI

* Fixed initialization order bug and added exception handling

* Working read-write through Python

* Update CMakeLists for libzmq to resolve target name conflict on Windows

* Platform-specific CMake definitions for Windows/non-Windows

* Add comments

* Revert "Add RPC setting to macOS UI"

* Always run RPC server instead of configurable

* Add Python scripting example. Updated .gitignore

* Rename member variables to remove trailing underscore

* Finally got libzmq external project building on macOS

* Add missing dependency during libzmq build

* Adding more missing dependencies [skip ci]

* Only build what is required from libzmq

* Extra length checks on client input

* Call InvalidateCacheRange after memory write

* Revert MinGW change. Fix clang-format. Improve error handling in request/reply. Allow any length of data read/write in Python.

* Re-organized RPC static global state into a proper class. [skip ci]

* Make sure libzmq always builds in Release mode

* Renamed Request to Packet since Request and Reply are the same thing

* Moved request fulfillment out of Packet and into RPCServer

* Change request thread from sleep to condition variable

* Remove non-blocking polling from ZMQ server code. Receive now blocks and terminates properly without sleeping. This change significantly improves script speed.

* Move scripting files to dist/ instead of src/

* C++ code review changes for jroweboy [skip ci]

* Python code review changes for jroweboy [skip ci]

* Add docstrings and tests to citra.py [skip ci]

* Add host OS check for libzmq build

* Revert "Add host OS check for libzmq build"

* Fixed a hang when emulation is stopped and restarted due to improper destruction order of ZMQ objects [skip ci]

* Add scripting directory to archive packaging [skip ci]

* Specify C/CXX compiler variables on MinGW build

* Only specify compiler on Linux mingw

* Use gcc and g++ on Windows mingw

* Specify generator for mingw

* Don't specify toolchain on windows mingw

* Changed citra.py to support Python 3 instead of Python 2

* Fix bug where RPC wouldn't restart after Stop/Start emulation

* Added copyright to headers and reorganized includes and forward declarations
2018-09-11 22:00:12 +02:00
NarcolepticK
648cecf1aa service/cecd: Utilize CryptoPP::Base64Encoder for message id 2018-09-07 23:09:14 -04:00
MerryMage
75f3d2ba31 externals: Update dynarmic to 7a2a4c8 2018-08-26 00:50:38 +01:00
zhaowenlan1779
3b37818e5e Port "externals: Update catch to 2.3.0" from yuzu (#4060)
* externals: Update catch to 2.3.0

Updates the library from 2.2.3 to 2.3.0

* fix catch2/catch.hpp includes
2018-08-24 19:45:57 +02:00
Vamsi Krishna
6cb9a45154 Add Discord Rich Presence Support (#3883)
* Initial Discord RPC support

Build with Discord Presence ON

Fix RPC detection

Fix Time elapsed on pause; will now continue to count.

* Fix CI builds with compile flag

Addressed reviews

Fix silly mistakes

Fix 'Not in-game' display

class instead of namespace

Fix

Revamped

remove redundant code

Using Pimpl pattern

* Implement Null class

* Fix config updation

* Addressed All Reviews

* externals/discord-rpc : Updated to latest commit
2018-08-20 11:20:33 +02:00
James Rowe
9c53ccf4cb
Merge pull request #4062 from zhaowenlan1779/port-yuzu-951
Port "externals: Update glad to 0.1.26" from yuzu
2018-08-09 09:37:12 -06:00
Lioncash
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
James Rowe
6bcbda5ab2 Input: UDP Client to provide motion and touch controls
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
2018-08-07 21:05:09 -06:00
BreadFish64
74cd98ecad core: clean up warnings 2018-08-01 14:10:23 -05:00
B3n30
8a2c44be56 Add const modifier to bad_word_list.app.romfs.h 2018-07-24 23:33:32 +02:00
B3n30
7605e26b94 Add virtual bad word list; Load if dump is missing 2018-07-22 22:55:44 +02:00
Ben
7f1303a834 Use open source Shared Font if no dumped file is available (#3881)
* Add virtual SharedFont; Load if dumped is missing

* Move open_source_archives to externals; add readme and git hash to open_source_archives

* Updated shared font to newest version: m fixed, symbols fixed
2018-07-18 10:20:31 -06:00
liushuyu
7db0588d6b
travis: MinGW build on Travis CI
... 1. updated submodule libressl
    2. suggestion from @jroweboy
2018-07-12 09:33:36 +08:00
James
cdebde8fb1 Update cpp-httplib's README 2018-06-14 16:01:48 +10:00
James
d184a3a1ee Update cpp-httplib for gzip + chunked encoding fixes 2018-06-14 16:00:07 +10:00
James Rowe
f31c836285
Merge pull request #3805 from jbeich/cubeb
Unbreak install
2018-06-09 18:14:22 -06:00
James Rowe
cf3ea85397
Merge pull request #3824 from jbeich/cryptopp
Update cryptopp to 7.1 snapshot
2018-06-09 14:10:31 -06:00
Jan Beich
23ef36a1cf externals: update cryptopp to CRYPTOPP_7_0_0-23-gf320e7d9 2018-06-08 11:15:44 +00:00
Jan Beich
9f18ec6247 externals: update soundtouch to pick up x86 fix 2018-06-08 08:34:57 +00:00
Merry
98438258c3
Merge pull request #3810 from MerryMage/eret-exclusive
arm: Clear exclusive state after service call
2018-06-07 22:09:58 +01:00
MerryMage
a4bed294fb dynarmic: Update to 4b350a354a21339052c7fff88832c3f81f5624be 2018-06-03 20:57:31 +01:00
Steve Bennett
62d7a53b1c externals: Update Catch to v2.2.2 2018-06-02 21:51:25 -07:00
Jan Beich
a9b7720d98 externals: don't try install cubeb files
Install the project...
/usr/local/bin/cmake -P cmake_install.cmake
-- Install configuration: "Release"
-- Installing: /prefix/share/man/man6/citra.6
CMake Error at externals/cubeb/cmake_install.cmake:44 (file):
  file INSTALL cannot find "/path/to/citra/include".
Call Stack (most recent call first):
  externals/cmake_install.cmake:46 (include)
  cmake_install.cmake:49 (include)

gmake: *** [Makefile:74: install] Error 1
2018-06-02 08:36:10 +00:00
James Rowe
131cf363da
Merge pull request #3790 from jbeich/master
cryptopp: unbreak on aarch64
2018-05-31 22:14:03 -06:00
James Rowe
04a9145dfc
Merge pull request #3776 from darkf/cubeb-sink2
Implement a Cubeb audio sink
2018-05-31 22:13:12 -06:00
darkf
ce6d9e2e28 externals: Don't build cubeb with tests 2018-05-31 21:01:48 -05:00
darkf
af73dd45f0 audio_core: Implement a cubeb audio sink 2018-05-31 21:01:48 -05:00
Jan Beich
2772362f05 cryptopp: add missing bits used by SIMD on aarch64
externals/cryptopp/cryptopp/crc-simd.cpp:97:13: error: use of undeclared identifier '__crc32w'
        w = __crc32w(w,x);
            ^
externals/cryptopp/cryptopp/rijndael-simd.cpp:126:25: error: use of undeclared identifier 'vaeseq_u8'
        uint8x16_t r1 = vaeseq_u8(data, key);
                        ^
externals/cryptopp/cryptopp/sha-simd.cpp:109:25: error: use of undeclared identifier 'vsha1cq_u32'
        uint32x4_t r1 = vsha1cq_u32 (data1, 0, data2);
                        ^

/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbeNEON()'
/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbeCRC32()'
/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbePMULL()'
2018-05-28 23:03:55 +00:00
Weiyi Wang
09982c3386
Merge pull request #3732 from ccawley2011/fix-arm
Fix compilation on ARM
2018-05-26 20:14:55 +03:00
Weiyi Wang
03209efe99
Merge pull request #3753 from spbennett/json_3.12
Upgrade JSON for Modern C++
2018-05-25 20:39:12 +03:00
darkf
83ee80666f Import cubeb as an external 2018-05-25 02:06:28 -05:00
Steve Bennett
a7f73b9a14 Xbyak 5.64
---

Updated to Xbyak 5.64
811f4959ee
2018-05-19 13:03:55 -07:00
Steve Bennett
b9eeca218d Upgrade JSON for Modern C++
---

Upgrade JSON for Modern C++ to 3.1.2
https://raw.githubusercontent.com/nlohmann/json/v3.1.2/single_include/nlohmann/json.hpp
2018-05-19 12:59:38 -07:00
Cameron Cawley
46f43bc4f7 cryptopp: Fix compilation on non-x86/x86_64 systems 2018-05-13 11:34:32 +01: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
wwylele
fe58b5912a externals: update libressl (gitignore artefacts) 2018-03-30 14:23:52 +03: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
MerryMage
a8dd3aa940 glad: Update glad 2018-03-13 23:00:26 -06:00
Jan Beich
0b27fcfde2 externals: Update cryptopp to 6.1.0 to fix #3435 2018-03-05 10:49:59 +00:00
hubslave
fd79b70a87 externals: Update fmt to 4d35f94
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.

The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.

The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
2018-03-02 18:12:51 +02:00
MerryMage
1f04e2e4a1 externals: Update cryptopp to 6.0.0
MSVC C++17 support
2018-02-07 22:19:27 +00:00
MerryMage
ce31cf531d CI: Update to C++17 and use Ubuntu 18.04 as baseline 2018-02-06 17:02:21 +00:00
bunnei
dca5fd291f
Merge pull request #3272 from MerryMage/dynarmic
core/arm: Backend-specific context implementations
2018-02-02 12:27:52 -08:00
Lioncash
e4b38fdb80
externals: Update catch to v2.1.1 2018-01-27 15:45:29 -05:00
Weiyi Wang
e2a8f155d3
Merge pull request #3168 from CDAGaming/pr_Improvements
[External] Travis CI Quick Fix + Minor Submodule Updates
2018-01-18 18:27:23 +02: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
CDAGaming
51169de364
Update nihstro 2018-01-15 21:20:49 -06:00
CDAGaming
e3f90ff6b6
Travis Quick Fix + Minor Submodule Updates
## Info (Edited)
This commit fixes several Travis-Related Warnings/Errors/Deprecations in MacOS(Now running on Sierra instead of El Capitan). These Issues included Path Not Set Warnings, shell_session warnings, and a few others.

This Commit also Updates the following Submodules:
- enet (Includes Minor CMakeList Changes for cleaner Solutions)
- Nihstro (Includes a bugfix on compiling with Boost v1.66.0)
2018-01-15 21:19:34 -06:00
Emmanuel Gil Peyrot
2cd2a7491c CMakeLists: Disable dynarmic on ¬x86_64 2018-01-08 17:58:00 +01:00
MerryMage
7d5c3b00a8 dynarmic: Update to d1d4705 2017-12-12 19:08:53 +00: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
Yuri Kunde Schlesner
e472858bc8 cryptopp: Move some source files to beginning of list
This is recommended by the Crypto++ readme:
2d4614084a/Readme.txt (L188-L193)
2017-12-09 21:35:02 -08:00
Yuri Kunde Schlesner
87ff37fa95 cryptopp: Add two extra files to source list
For some reason these are required too in MSVC Debug.
2017-12-09 21:34:52 -08:00
Yuri Kunde Schlesner
7b2d7c5d9b cryptopp: Build only required files
Instead of globbing all .cpp files that ship with CryptoPP, use an
explicit list of files to compile. This cuts out compilation of a lot of
stuff we don't use (reducing build times) and also works around
https://github.com/weidai11/cryptopp/issues/527
2017-12-09 17:42:53 -08:00
MerryMage
cdde8ddb04 externals: Update dynarmic to 4110494 2017-12-06 20:57:18 +00:00
bunnei
e165b5bb94
Merge pull request #3184 from MerryMage/timing
core/arm: Improve timing accuracy before service calls in JIT
2017-12-05 23:12:24 -05:00
CDAGaming
7c5b2fe63f Switch inih to It's Official Repository @ benhoyt/inih
## Info
This Commit switches the Inih Submodule from it's mirror repository svn2github/inih to it's official repo at benhoyt/inih

## Reasoning
As explained in Info, svn2github is a Mirror Host, which was used mainly as there was no official repo for inih at the Time it was originally added. However, now that there is a Official repo, svn2github is considered unnecessary as well as inconsistent. This commit will make it easier to manage this submodule in the future, as well as able to fix issues related to inih, should any appear in the foreseeable future.
2017-12-03 19:35:54 -06:00
MerryMage
7cd8b437aa core/arm: Improve timing accuracy before service calls in JIT
We also correct the CPU JIT's implementation of Step.
2017-12-03 16:06:46 +00:00
Lioncash
f51fa38a1b externals: Update catch to v2.0.1 2017-11-29 19:19:33 -05:00