Skip to content

Commit 2e69c1b

Browse files
committed
Merge branch 'master' of https://github.com/dolphin-emu/dolphin
2 parents 50cb09c + a0611b5 commit 2e69c1b

File tree

10,349 files changed

+1474914
-1582202
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

10,349 files changed

+1474914
-1582202
lines changed

.editorconfig

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_size = 2
6+
trim_trailing_whitespace = true
7+
8+
[*.{c,cpp,h,java}]
9+
indent_style = space
10+
insert_final_newline = true
11+
max_line_length = 100
12+
13+
[{CMakeLists.txt,*.cmake}]
14+
indent_style = tab
15+
16+
[.editorconfig]
17+
insert_final_newline = true
18+
19+
[*.gradle]
20+
indent_size = 4
21+
indent_style = space
22+
insert_final_newline = false
23+
24+
[*.xml]
25+
indent_size = 4
26+
indent_style = space
27+
insert_final_newline = true

.git-blame-ignore-revs

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# This file can be used for git blame using --ignore-revs-file
2+
# or by setting blame.ignoreRevsFile in the git config.
3+
4+
# Remove unnecessary Src/ folders
5+
34692ab826abc8f8faa61bdb2280b742424528f1
6+
7+
# Reformat C++ code
8+
3570c7f03a2aa90aa634f96c0af1969af610f14d
9+
10+
# Reformat Android code
11+
248ee12aed057acd0bdd310359c328e8d4fd5e5a
12+
13+
# Enum and struct indentation cleanup
14+
40182a48a56b8e294e126c64f5f37910a40c67cd
15+
ebb48d019eec1c29a37a406e2db16d7565367faa
16+
17+
# SVN line-ending conversion
18+
30c883bcfc65761dc9fb61fea16a25fb61a7e220
19+
3b36e0657140a8f54729f55f94ad108547362ed5
20+
473cd01181be6c8160ce477f25ca6bd39f8cc083
21+
49cfded60bb5b444d1828190eacc52bbb49a9cb8
22+
4a0c8fc0c9b6666e7933683260e2befbc81917ff
23+
4b5b9ad05c10d95c9af43502ecc6877d6e680c4d
24+
4b68a543ba30ec18e79c93b742bc6f110ccd4561
25+
4f889ca1a3cb66ff78f11aa6864edf8ce51b8c93
26+
578c402d2ce5e6a7b6e42a4c7449d9aeac61e5e2
27+
5e81298ef0147bf36c4aaafa35accc2700777bd3
28+
7efbc879e544cba7f205b3eeaeff050f46fd9607
29+
7f4ebed1ddb7ca9aaa49172946fc1f7dc2dc3c75
30+
8151b21ec75107b73a5863177f29d6f69b7174fc
31+
8fca9a8e8d547653581ecb4aac12a09a4311eba3
32+
901fe7c00fec5e2aaf55d184edbcb6d092345d52
33+
90bac5731cc4b15f40be9cf3a51a2c88ca6b53bf
34+
9146b9b261c34f476c9f83934e6da6a463ad51c7
35+
a41c1b2d0a9fab51f8a75ccdb7dba0890f766820
36+
a524cecfabbd4e321485e0cbac9325efde2123ef
37+
ab76cbf2fcf31b059edf10c220800150313ddf18
38+
bbb98d8e2e8259213cc231041eba922471555eb9
39+
e6fe5ec42f025a710918c1aaf8643da36a13bb3e
40+
fc1c7c31a08d55be4c756a1ed599d6afeedd9a11
41+
42+
# Trailing whitespace
43+
c579637eafb9e9eb7f83711569254bd8da6d09d2
44+
664c8d30a055f4762a2a60be77c1c8eaec1a5d85
45+
84ae817c180556badd1a810fceff4c4168672541
46+
8da425b008b46ef90d649e55c6c0d4a0bc2b556b
47+
8f7c6286f4d4b3e1dccc7076012fe6e593e78c8b
48+
49+
# Additional reformatting
50+
40bb9974f21878e64fb03d70e717cb996bf13a29
51+
52+
# Tabs vs spaces
53+
0e3d8e2e9f1b3eab593b09be986c4ff12a0221e2
54+
16a74a9557779cd15890b0a3bb2924cb4b00ad6f
55+
1db10b139cb1f9b92b2e90eb86f236dcd30333b4
56+
1de39a4a6e6b5ef3ec55bd717d4ba02c02ff8d29
57+
2316cb6876e6d79584ce0cc50771d2fb8495fe45
58+
2d4c3c7c918877c844babaa5ac4c23f8a441fb64
59+
31f037b187525d72c10b83695f780ede1ad9db68
60+
3c6d0fc7106131098fe1a79d2deb0f39671c5252
61+
3fd87a7636ff434118a5d7f7334550be8db55c0b
62+
71ef0a02451393b32fc2304008f87d5b29b61444
63+
7ab0cca6455830a838b1b1e38e2c3f265e4e5d0b
64+
d800b5fb74c077522ef7a0752e49968df46e745e
65+
edd9d0e0ef6898a0528ac6389e93e9fca6132ff6
66+
ee61bd6f2e4db8df8e92be6f92c02b808aa92234
67+
ef85b9af45922c6ca364930d40f8aacf1a6dfe64

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.sln text eol=crlf

.gitignore

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@ Thumbs.db
33
# Ignore Finder view option files created by OS X
44
.DS_Store
55
# Ignore autogenerated source files
6+
Externals/mGBA/version.c
67
Source/Core/Common/scmrev.h
78
# Ignore files output by build
9+
/cmake-build-debug
10+
/cmake-build-release
811
/[Bb]uild*/
9-
/[Bb]inary/
12+
/[Bb]inary*/
1013
/obj/
11-
# Android cmake builds to here then copies to Source/Android.
14+
# Ignore files output by Android cmake build
15+
/Source/Android/app/.cxx/
1216
/libs/
1317
# Ignore various files created by visual studio/msbuild
1418
*.ipch
@@ -20,7 +24,8 @@ Source/Core/Common/scmrev.h
2024
*.tlog
2125
*.VC.opendb
2226
*.VC.db
23-
.vs/
27+
.vs*/
28+
/Source/enc_temp_folder/
2429
# Ignore build info file created by QtCreator
2530
CMakeLists.txt.user
2631
# Ignore files created by posix people
@@ -30,9 +35,11 @@ CMakeLists.txt.user
3035
# Ignore emacs temp files
3136
\#*\#
3237
.\#*
33-
# Ignore transifex configuration directory
34-
.tx
3538
# Ignore kdevelop files/dirs
3639
*.kdev4
3740
# Ignore IDEA/Clion files/dirs
38-
/.idea/
41+
.idea/
42+
# Ignore Visual Studio Code's working dir
43+
/.vscode/
44+
# Ignore flatpak-builder's cache dir
45+
.flatpak-builder

.gitmodules

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,91 @@
22
path = Externals/Qt
33
url = https://github.com/dolphin-emu/ext-win-qt.git
44
branch = master
5+
shallow = true
6+
[submodule "Externals/mGBA/mgba"]
7+
path = Externals/mGBA/mgba
8+
url = https://github.com/mgba-emu/mgba.git
9+
branch = master
10+
shallow = true
11+
[submodule "Externals/FFmpeg-bin"]
12+
path = Externals/FFmpeg-bin
13+
url = https://github.com/dolphin-emu/ext-win-ffmpeg.git
14+
branch = master
15+
shallow = true
16+
[submodule "libusb"]
17+
path = Externals/libusb/libusb
18+
url = https://github.com/libusb/libusb.git
19+
branch = master
20+
shallow = true
21+
[submodule "Externals/spirv_cross/SPIRV-Cross"]
22+
path = Externals/spirv_cross/SPIRV-Cross
23+
url = https://github.com/KhronosGroup/SPIRV-Cross.git
24+
branch = main
25+
shallow = true
26+
[submodule "SDL"]
27+
path = Externals/SDL/SDL
28+
url = https://github.com/libsdl-org/SDL.git
29+
branch = SDL2
30+
shallow = true
31+
[submodule "Externals/zlib-ng/zlib-ng"]
32+
path = Externals/zlib-ng/zlib-ng
33+
url = https://github.com/zlib-ng/zlib-ng.git
34+
shallow = true
35+
[submodule "Externals/libspng/libspng"]
36+
path = Externals/libspng/libspng
37+
url = https://github.com/randy408/libspng.git
38+
branch = v0.7.2
39+
shallow = true
40+
[submodule "Externals/VulkanMemoryAllocator"]
41+
path = Externals/VulkanMemoryAllocator
42+
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
43+
[submodule "Externals/cubeb/cubeb"]
44+
path = Externals/cubeb/cubeb
45+
url = https://github.com/mozilla/cubeb.git
46+
branch = master
47+
shallow = true
48+
[submodule "Externals/implot/implot"]
49+
path = Externals/implot/implot
50+
url = https://github.com/epezent/implot.git
51+
[submodule "Externals/gtest"]
52+
path = Externals/gtest
53+
url = https://github.com/google/googletest.git
54+
[submodule "Externals/rcheevos/rcheevos"]
55+
path = Externals/rcheevos/rcheevos
56+
url = https://github.com/RetroAchievements/rcheevos.git
57+
[submodule "Externals/libadrenotools"]
58+
path = Externals/libadrenotools
59+
url = https://github.com/bylaws/libadrenotools.git
60+
[submodule "Externals/curl/curl"]
61+
path = Externals/curl/curl
62+
url = https://github.com/curl/curl.git
63+
[submodule "Externals/fmt/fmt"]
64+
path = Externals/fmt/fmt
65+
url = https://github.com/fmtlib/fmt.git
66+
[submodule "Externals/lz4/lz4"]
67+
path = Externals/lz4/lz4
68+
url = https://github.com/lz4/lz4
69+
[submodule "Externals/xxhash/xxHash"]
70+
path = Externals/xxhash/xxHash
71+
url = https://github.com/Cyan4973/xxHash.git
72+
[submodule "Externals/enet/enet"]
73+
path = Externals/enet/enet
74+
url = https://github.com/lsalzman/enet.git
75+
[submodule "hidapi-src"]
76+
path = Externals/hidapi/hidapi-src
77+
url = https://github.com/libusb/hidapi
78+
[submodule "Externals/tinygltf/tinygltf"]
79+
path = Externals/tinygltf/tinygltf
80+
url = https://github.com/syoyo/tinygltf.git
81+
[submodule "Externals/minizip-ng/minizip-ng"]
82+
path = Externals/minizip-ng/minizip-ng
83+
url = https://github.com/zlib-ng/minizip-ng
84+
[submodule "Externals/Vulkan-Headers"]
85+
path = Externals/Vulkan-Headers
86+
url = https://github.com/KhronosGroup/Vulkan-Headers.git
87+
[submodule "Externals/SFML/SFML"]
88+
path = Externals/SFML/SFML
89+
url = https://github.com/SFML/SFML.git
90+
[submodule "Externals/zstd/zstd"]
91+
path = Externals/zstd/zstd
92+
url = https://github.com/facebook/zstd.git

.tx/config

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[main]
2+
host = https://www.transifex.com
3+
4+
[o:dolphinemu:p:dolphin-emu:r:emulator]
5+
file_filter = Languages/po/<lang>.po
6+
source_file = Languages/po/dolphin-emu.pot
7+
source_lang = en-US
8+
type = PO

AndroidSetup.md

Lines changed: 13 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4,65 +4,23 @@ If you'd like to contribute to the Android project, but do not currently have a
44

55
## Prerequisites
66

7-
* A Linux VM or host, or a Mac.
8-
* JDK 7 for your platform.
9-
* CMake
10-
* [Android NDK](https://developer.android.com/tools/sdk/ndk/index.html)
11-
* [Android Studio](http://developer.android.com/tools/studio/index.html) **OR**
12-
* [Android SDK Tools](http://developer.android.com/sdk/index.html#Other) (for command-line usage)
7+
* [Android Studio](https://developer.android.com/studio/)
138

14-
If you downloaded Android Studio, extract it and then see [Setting up Android Studio](#setting-up-android-studio).
9+
If you downloaded Android Studio, install it with the default options and open the project located in `dolphin/Source/Android`
1510

16-
If you instead chose to download the commoand-line SDK tools, see [Setting up the SDK Tools](#setting-up-the-sdk-tools).
11+
## Setting Up Android Studio
1712

18-
## Setting up Android Studio
19-
20-
1. Launch Android Studio, which will start a first-launch wizard.
21-
2. Choose a custom installation.
22-
3. If offered a choice of themes, select your preference.
23-
4. When offered a choice of components, uncheck the "Android Virtual Device" option. ![Android Studio Components][components]
24-
5. Accept all licenses, and click Finish. Android Studio will download the SDK Tools package automatically. (Ubuntu users, if you get an error running the `mksdcard` tool, make sure the `lib32stdc++6` package is installed.)
25-
6. At the Android Studio welcome screen, click "Configure", then "SDK Manager".
26-
7. Use the SDK Manager to get necessary dependencies, as described in [Getting Dependencies](#getting-dependencies).
27-
8. When done, follow the steps in [Readme.md](Readme.md#installation-on-android) to compile and deploy the application.
28-
29-
## Setting up the SDK Tools
30-
31-
1. In `Source/Android`, create a file called `local.properties`.
32-
2. Add a single line: `sdk.dir=<sdk-path>`, where `<sdk-path>` is the path where you extracted the SDK Tools package.
33-
3. Follow the steps in [Readme.md](Readme.md#installation-on-android) to compile and deploy the application.
34-
35-
## Executing Gradle Tasks
36-
37-
In Android Studio, you can find a list of possible Gradle tasks in a tray at the top right of the screen:
38-
39-
![Gradle Tasks][gradle]
40-
41-
Double clicking any of these tasks will execute it, and also add it to a short list in the main toolbar:
42-
43-
![Gradle Task Shortcuts][shortcut]
44-
45-
Clicking the green triangle next to this list will execute the currently selected task.
46-
47-
For command-line users, any task may be executed with `Source/Android/gradlew <task-name>`.
48-
49-
## Getting Dependencies
50-
51-
Most dependencies for the Android project are supplied by Gradle automatically. However, Android platform libraries (and a few Google-supplied supplementary libraries) must be downloaded through the Android package manager.
52-
53-
1. Launch the Android SDK Manager from the commandline by executing `<sdk-path>/tools/android`, or by clicking on its icon in Android Studio's main toolbar:
13+
1. Wait for background tasks to complete on the bottom of the window.
14+
2. Launch the Android SDK Manager by clicking on its icon in Android Studio's main toolbar:
5415
![Android Studio Package Icon][package-icon]
55-
2. At the bottom of the window, click "Deselect All", and then "Updates".
56-
3. Install or update the following packages:
16+
3. Install or update the SDK Platform. Choose the API level as defined in the app module's [build.gradle](Source/Android/app/build.gradle#L7) file.
17+
4. Install a CMake version as defined in the app module's [build.gradle](Source/Android/app/build.gradle#L99) file. The option won't appear until you select `Show Package Details`.
18+
5. Select `Build Variants` on the left side of the window to choose the build variant and ABI you would like to compile for the `:app` module.
19+
6. Select the green hammer icon in the main toolbar to build and create the apk in `Source/Android/app/build/outputs/apk`
5720

58-
* SDK Platform, under "Android 5.0.1 (API 21)". This will allow compiling apps that target Lollipop.
59-
* Android Support Repository
60-
* Android Support Library
61-
* Google Repository
21+
## Compiling from the Command-Line
6222

63-
In the future, if the project targets a newer version of Android, or use newer versions of the tools/build-tools packages, it will be necessary to use this tool to download updates.
23+
For command-line users, any task may be executed with `cd Source/Android` followed by `gradlew <task-name>`. In particular, `gradlew assemble` builds debug and release versions of the application (which are placed in `Source/Android/app/build/outputs/apk`).
6424

65-
[components]: http://i.imgur.com/Oo1Fs93.png
66-
[package-icon]: http://i.imgur.com/NUpkAH8.png
67-
[gradle]: http://i.imgur.com/dXIH6o3.png
68-
[shortcut]: http://i.imgur.com/eCWP4Yy.png
25+
[package-icon]: https://i.imgur.com/hgmMlsM.png
26+
[code-style]: https://i.imgur.com/3b3UBhb.png

0 commit comments

Comments
 (0)