Commit Graph

3830 Commits

Author SHA1 Message Date
Emmanuel Gil Peyrot
6fb23da375 Service::CAM: Add a V4L2-based implementation.
It uses the raw Video For Linux 2 API to integrate any capture device
(a camera for example) into the 3DS cam:U subsystem, so that games can
now take an actual picture of the user, use the AR system, or do
basically anything they wants with the video stream.

Conversion to RGB isn’t supported yet, so in the very likely chance
your capture device doesn’t support outputting directly in RGB you will
get a garbled but recognizable image resulting from the casting of YUYV
data into RGB565.

Only the OUT1 camera (rear left) is currently supported, every other
one will still return an empty buffer.  A possible improvement would be
to extend support to more than one /dev/videoN device, and let the user
configure which physical device corresponds to which emulated camera.
Another would be to use a computer vision library to generate a shifted
image and give the illusion of perspective when using both read
cameras.

A possible improvement would be to check for the presence of the v4l2
header instead of matching on the OS name.  A dummy implementation is
built on every other OS.

This also adds the SetOutputFormat call.

None of this has been tested on hardware yet, nor reversed from the
cam:U service, everything is pure guess work based on the camera/video
example from 3ds-examples.
2016-07-13 01:59:02 +01:00
Yuri Kunde Schlesner
ffda82eea5 Merge pull request #1894 from wwylele/set-config-block
Implement config savegame editing & clean up
2016-07-09 20:39:19 -07:00
wwylele
ec3e99eec7 Qt: add system settings config tab 2016-07-10 06:22:38 +03:00
bunnei
6fa7b1f486 Merge pull request #1940 from JamePeng/fix-archive-error-code
Fix the errorcode of archive handle
2016-07-06 18:37:43 -04:00
Sebastian Valle
ff2d1a2b74 Merge pull request #1921 from Subv/fs_funcs
HLE/FS: Document some command parameters and implemented command 0x08560240
2016-07-05 14:45:40 -07:00
JamePeng
f87bb8ba0a Fix the errorcode of archive handle 2016-07-05 00:39:09 +08:00
Sebastian Valle
51f4a9fd32 Merge pull request #1850 from mailwl/erreula
HLE/Applets: Implement ErrEula applet
2016-07-04 08:52:42 -07:00
mailwl
e06f2705f0 HLE/Applets: Implement ErrEula applet 2016-07-04 09:54:51 +03:00
Subv
8752f07e8e HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData) 2016-07-03 13:42:52 -05:00
Sebastian Valle
b48b8ed5e5 Merge pull request #1935 from wwylele/fix-result-module
Result: Update the ErrorModule enum
2016-07-03 07:24:29 -07:00
wwylele
ab2eef396a Service::CFG/FS: add and refactor out utilities for front-end 2016-07-03 08:23:59 +03:00
wwylele
457b6413e6 Service::CFG: move known block ID to an enum 2016-07-03 08:23:59 +03:00
wwylele
324c8d21a4 Service::CFG: add SetConfigInfoBlk4 2016-07-03 08:23:58 +03:00
Yuri Kunde Schlesner
45c91bf87b Merge pull request #1933 from yuriks/scissor
PICA: Implement scissor test
2016-07-02 02:18:46 -07:00
wwylele
f00e8d4b2b Service::CFG: add missing language 2016-07-02 11:44:25 +03:00
wwylele
3687a805ec Service::CFG: name sound output modes 2016-07-02 11:44:25 +03:00
wwylele
e023a4cfd0 Result: fix and update ErrorModule 2016-06-30 11:26:53 +03:00
Yuri Kunde Schlesner
de79b6fc48 Merge pull request #1869 from wwylele/dont-be-lazy
Switch context to the same thread if necessary
2016-06-28 21:03:52 -07:00
bunnei
87c07643ff Merge pull request #1867 from mailwl/srv-update
srv: Update according 3dbrew
2016-06-28 18:53:10 -04:00
Yuri Kunde Schlesner
ecf6ecf325 OpenGL: Add scaled resolution support to scissor 2016-06-27 22:16:04 -07:00
Yuri Kunde Schlesner
f0b9bc14b6 PICA: Scissor fixes and cleanups 2016-06-27 21:14:39 -07:00
Subv
f9be06b15f PICA: Implement scissor test 2016-06-27 21:14:13 -07:00
Yuri Kunde Schlesner
9cde5cbbd3 Merge pull request #1930 from scurest/superfluous-moves
Remove superfluous std::move in return std::move(local_var)
2016-06-25 12:56:26 -07:00
scurest
0f9274fe24 Remove superfluous std::move in return std::move(local_var) 2016-06-25 13:26:21 -05:00
bunnei
0433e6cf0b Merge pull request #1926 from JayFoxRox/gpl
Add GPL license.txt and README.md to builds
2016-06-23 22:11:11 -04:00
bunnei
4d31874c7c Merge pull request #1923 from yuriks/fix-recursive
Fix recursive scanning of directories
2016-06-22 16:27:12 -04:00
Jannik Vogel
ede028fe4d Add GPL license.txt and README.md to builds 2016-06-21 14:19:46 +02:00
bunnei
b836ae5c6a Merge pull request #1922 from yuriks/microprofile-dpi-fix
Qt: Fix MicroProfile dpi scaling
2016-06-20 21:13:15 -04:00
Yuri Kunde Schlesner
d6792632f0 Fix recursive scanning of directories
ForeachDirectoryEntry didn't actually do anything with the `recursive`
parameter, and the corresponding callback parameter was shadowing the
actual recursion counters in the user functions.
2016-06-19 00:12:15 -07:00
Yuri Kunde Schlesner
c52754e79a Qt: Fix MicroProfile dpi scaling 2016-06-18 23:37:09 -07:00
bunnei
8f86cc4df9 Merge pull request #1877 from wwylele/wait-fix-timeout
Thread: update timeout when reruning WaitSynch
2016-06-18 01:08:22 -04:00
bunnei
0473b59256 Merge pull request #1917 from lioncash/ci
CI: Use Qt 5 and GCC 6 on Ubuntu CI builds
2016-06-17 14:09:54 -04:00
Lioncash
d5f5aeeab8 CMakeLists: Drop support for Qt 4 2016-06-17 10:48:40 -04:00
Lioncash
a81b9ca689 travis: Use GCC 6 on Ubuntu CI builds 2016-06-17 10:48:40 -04:00
Lioncash
c283a8509d travis: Use Qt 5 on Ubuntu CI builds 2016-06-17 10:48:35 -04:00
bunnei
251457b9d5 Merge pull request #1898 from archshift/interpreter-split-take2
Refactor arm_dyncom_interpreter into several files (take 2)
2016-06-16 14:47:55 -04:00
bunnei
ffa8f5c7dc Merge pull request #1912 from yuriks/fix-win-deploy
Fix AppVeyor WinSCP download
2016-06-15 17:56:27 -04:00
bunnei
7d2d6e5f78 Merge pull request #1875 from JayFoxRox/fog
Implement standard fog (fog mode 5)
2016-06-15 17:55:36 -04:00
Yuri Kunde Schlesner
914eb7561e Fix AppVeyor WinSCP download 2016-06-14 20:15:22 -07:00
archshift
ca20b1f87d Make arm_dyncom_trans* into a fully fledged compilation unit 2016-06-12 01:54:45 -07:00
archshift
54b5178f6c arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive 2016-06-12 00:31:52 -07:00
bunnei
78f2b85fe6 Merge pull request #1842 from Subv/ports
Kernel: Added ClientPort and ServerPort classes, along with svcCreatePort.
2016-06-11 22:46:35 -04:00
Subv
7b445ddff0 Kernel/SVC: Implemented svcCreatePort. 2016-06-11 08:37:37 -05:00
bunnei
e74d322724 Merge pull request #1899 from wwylele/hid-cmath
HID: add missing header
2016-06-11 02:12:37 -04:00
wwylele
43183db51f hid: add missing header 2016-06-11 08:45:29 +03:00
Mat M
0c56c9f541 Merge pull request #1897 from linkmauve/sdl2-config-fix
SDL2: Add forgotten default config changes from 7129611e65
2016-06-10 22:38:51 -04:00
bunnei
f99961581e Merge pull request #1789 from wwylele/input-refactor
Refactor input mapping & implement circle pad modifier
2016-06-10 22:28:58 -04:00
archshift
765eef3319 arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func
This allows us to get the addressing operation for STRT, LDRT, STRBT,
and LDRBT. We do this so that translation functions don't need to
see the addressing ops directly.
2016-06-10 18:45:48 -07:00
archshift
eac4c016cb arm_dyncom_interpreter: rename operation functions to fit style guide 2016-06-10 18:42:08 -07:00
archshift
5297f5dfc9 arm_dyncom_interpreter: Rename anonymous enum to TransExtData 2016-06-10 18:35:57 -07:00