Skip to content

Commit 90fb70d

Browse files
committed
Merge branch 'master' of https://github.com/dolphin-emu/dolphin
2 parents 50cb09c + 6c7b602 commit 90fb70d

File tree

10,695 files changed

+1334945
-1624134
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,695 files changed

+1334945
-1624134
lines changed

.editorconfig

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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
28+
29+
[*.{kt,kts}]
30+
indent_style = space
31+
indent_size = 4
32+
insert_final_newline = true
33+
max_line_length = 100

.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: 129 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,132 @@
11
[submodule "Externals/Qt"]
22
path = Externals/Qt
33
url = https://github.com/dolphin-emu/ext-win-qt.git
4-
branch = master
4+
shallow = true
5+
[submodule "Externals/mGBA/mgba"]
6+
path = Externals/mGBA/mgba
7+
url = https://github.com/mgba-emu/mgba.git
8+
shallow = true
9+
[submodule "Externals/FFmpeg-bin"]
10+
path = Externals/FFmpeg-bin
11+
url = https://github.com/dolphin-emu/ext-win-ffmpeg.git
12+
shallow = true
13+
[submodule "libusb"]
14+
path = Externals/libusb/libusb
15+
url = https://github.com/libusb/libusb.git
16+
shallow = true
17+
[submodule "Externals/spirv_cross/SPIRV-Cross"]
18+
path = Externals/spirv_cross/SPIRV-Cross
19+
url = https://github.com/KhronosGroup/SPIRV-Cross.git
20+
shallow = true
21+
[submodule "SDL"]
22+
path = Externals/SDL/SDL
23+
url = https://github.com/libsdl-org/SDL.git
24+
shallow = true
25+
[submodule "Externals/zlib-ng/zlib-ng"]
26+
path = Externals/zlib-ng/zlib-ng
27+
url = https://github.com/zlib-ng/zlib-ng.git
28+
shallow = true
29+
[submodule "Externals/libspng/libspng"]
30+
path = Externals/libspng/libspng
31+
url = https://github.com/randy408/libspng.git
32+
shallow = true
33+
[submodule "Externals/VulkanMemoryAllocator"]
34+
path = Externals/VulkanMemoryAllocator
35+
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
36+
shallow = true
37+
[submodule "Externals/cubeb/cubeb"]
38+
path = Externals/cubeb/cubeb
39+
url = https://github.com/mozilla/cubeb.git
40+
shallow = true
41+
[submodule "Externals/implot/implot"]
42+
path = Externals/implot/implot
43+
url = https://github.com/epezent/implot.git
44+
shallow = true
45+
[submodule "Externals/gtest"]
46+
path = Externals/gtest
47+
url = https://github.com/google/googletest.git
48+
shallow = true
49+
[submodule "Externals/rcheevos/rcheevos"]
50+
path = Externals/rcheevos/rcheevos
51+
url = https://github.com/RetroAchievements/rcheevos.git
52+
shallow = true
53+
[submodule "Externals/libadrenotools"]
54+
path = Externals/libadrenotools
55+
url = https://github.com/bylaws/libadrenotools.git
56+
shallow = true
57+
[submodule "Externals/curl/curl"]
58+
path = Externals/curl/curl
59+
url = https://github.com/curl/curl.git
60+
shallow = true
61+
[submodule "Externals/fmt/fmt"]
62+
path = Externals/fmt/fmt
63+
url = https://github.com/fmtlib/fmt.git
64+
shallow = true
65+
[submodule "Externals/lz4/lz4"]
66+
path = Externals/lz4/lz4
67+
url = https://github.com/lz4/lz4.git
68+
shallow = true
69+
[submodule "Externals/xxhash/xxHash"]
70+
path = Externals/xxhash/xxHash
71+
url = https://github.com/Cyan4973/xxHash.git
72+
shallow = true
73+
[submodule "Externals/enet/enet"]
74+
path = Externals/enet/enet
75+
url = https://github.com/lsalzman/enet.git
76+
shallow = true
77+
[submodule "hidapi-src"]
78+
path = Externals/hidapi/hidapi-src
79+
url = https://github.com/libusb/hidapi.git
80+
shallow = true
81+
[submodule "Externals/tinygltf/tinygltf"]
82+
path = Externals/tinygltf/tinygltf
83+
url = https://github.com/syoyo/tinygltf.git
84+
shallow = true
85+
[submodule "Externals/minizip-ng/minizip-ng"]
86+
path = Externals/minizip-ng/minizip-ng
87+
url = https://github.com/zlib-ng/minizip-ng.git
88+
shallow = true
89+
[submodule "Externals/Vulkan-Headers"]
90+
path = Externals/Vulkan-Headers
91+
url = https://github.com/KhronosGroup/Vulkan-Headers.git
92+
shallow = true
93+
[submodule "Externals/watcher/watcher"]
94+
path = Externals/watcher/watcher
95+
url = https://github.com/e-dant/watcher.git
96+
shallow = true
97+
[submodule "Externals/SFML/SFML"]
98+
path = Externals/SFML/SFML
99+
url = https://github.com/SFML/SFML.git
100+
shallow = true
101+
[submodule "Externals/zstd/zstd"]
102+
path = Externals/zstd/zstd
103+
url = https://github.com/facebook/zstd.git
104+
shallow = true
105+
[submodule "Externals/miniupnpc/miniupnp"]
106+
path = Externals/miniupnpc/miniupnp
107+
url = https://github.com/miniupnp/miniupnp.git
108+
shallow = true
109+
[submodule "Externals/glslang/glslang"]
110+
path = Externals/glslang/glslang
111+
url = https://github.com/KhronosGroup/glslang.git
112+
shallow = true
113+
[submodule "Externals/pugixml/pugixml"]
114+
path = Externals/pugixml/pugixml
115+
url = https://github.com/zeux/pugixml.git
116+
shallow = true
117+
[submodule "Externals/cpp-ipc/cpp-ipc"]
118+
path = Externals/cpp-ipc/cpp-ipc
119+
url = https://github.com/mutouyun/cpp-ipc.git
120+
shallow = true
121+
[submodule "Externals/cpp-optparse/cpp-optparse"]
122+
path = Externals/cpp-optparse/cpp-optparse
123+
url = https://github.com/weisslj/cpp-optparse.git
124+
shallow = true
125+
[submodule "Externals/bzip2/bzip2"]
126+
path = Externals/bzip2/bzip2
127+
url = https://gitlab.com/bzip2/bzip2.git
128+
shallow = true
129+
[submodule "Externals/imgui/imgui"]
130+
path = Externals/imgui/imgui
131+
url = https://github.com/ocornut/imgui.git
132+
shallow = true

.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: 17 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -4,65 +4,31 @@ 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+
Install Android Studio with the default options if you do not already have it.
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
13+
1. Open the `Source/Android` project in Android Studio, let any background tasks finish, and Android Studio will automatically download the required SDK components and tooling.
14+
2. Use the hammer icon or **Build > Assemble 'app' Run Configuration** to compile the `:app` module, then choose **Build > Generate App Bundles or APKs > Generate APKs** to produce the APK in `Source/Android/app/build/outputs/apk`.
1915

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.
16+
## Import the Dolphin code style
2817

29-
## Setting up the SDK Tools
18+
The project maintains a custom IntelliJ/Android Studio style file to keep Java and Kotlin formatting consistent.
3019

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.
20+
* Go to **File > Settings > Editor > Code Style** (or **Android Studio > Settings > Editor > Code Style** on macOS).
21+
* Click the gear icon and choose **Import Scheme**.
22+
* Select `Source/Android/code-style-java.xml` from the repository.
23+
* Ensure that Dolphin-Java is selected.
3424

35-
## Executing Gradle Tasks
25+
## Format code before opening a pull request
3626

37-
In Android Studio, you can find a list of possible Gradle tasks in a tray at the top right of the screen:
27+
Before committing or submitting a pull request, reformat any Java or Kotlin files you modified:
3828

39-
![Gradle Tasks][gradle]
29+
* Use **Code > Reformat Code** (or press `Ctrl+Alt+L`/`⌥⌘L` on macOS) with the Dolphin code style selected.
30+
* Re-run formatting after edits to keep spacing, imports, and wrapping consistent with the rest of the project.
4031

41-
Double clicking any of these tasks will execute it, and also add it to a short list in the main toolbar:
32+
## Compiling from the Command-Line
4233

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:
54-
![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:
57-
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
62-
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.
64-
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
34+
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`).

0 commit comments

Comments
 (0)