Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
alanlomeli committed Dec 5, 2022
0 parents commit b536827
Show file tree
Hide file tree
Showing 6,791 changed files with 1,922,446 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
27 changes: 27 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
root = true

[*]
charset = utf-8
indent_size = 2
trim_trailing_whitespace = true

[*.{c,cpp,h,java}]
indent_style = space
insert_final_newline = true
max_line_length = 100

[{CMakeLists.txt,*.cmake}]
indent_style = tab

[.editorconfig]
insert_final_newline = true

[*.gradle]
indent_size = 4
indent_style = space
insert_final_newline = false

[*.xml]
indent_size = 4
indent_style = space
insert_final_newline = true
11 changes: 11 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This file can be used for git blame using --ignore-revs-file
# or by setting blame.ignoreRevsFile in the git config.

# Remove unnecessary Src/ folders
34692ab826abc8f8faa61bdb2280b742424528f1

# Reformat C++ code
3570c7f03a2aa90aa634f96c0af1969af610f14d

# Reformat Android code
248ee12aed057acd0bdd310359c328e8d4fd5e5a
170 changes: 170 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
name: Build

on:
push:
branches: [ ios-jb ]
pull_request:
branches: [ ios-jb ]

jobs:
build-jb:
runs-on: macos-10.15

steps:
- uses: actions/checkout@v2

- name: Install build utilities
run: |
sudo xcode-select -s /Applications/Xcode_12.app/Contents/Developer
brew install ninja bartycrouch dpkg s3cmd libmagic dos2unix
pip3 install polib python-magic
- name: Create Keychain
run: |
security create-keychain -p alpine build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p alpine build.keychain
security set-keychain-settings -t 36000 build.keychain
security import Source/iOS/DolphiniOS/DolphiniOS/BuildResources/OatmealDomeSoftware.p12 -k build.keychain -P ${{ secrets.CERTIFICATE_GPG_PASSWORD }} -A
security set-key-partition-list -S apple-tool:,apple: -s -k alpine build.keychain
- name: Prepare Resources
run: |
cd Source/iOS/DolphiniOS/DolphiniOS
gpg --quiet --batch --yes --decrypt --passphrase="${{ secrets.FIREBASE_GPG_PASSWORD }}" --output GoogleService-Info.plist GoogleService-Info.plist.gpg
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $((${{ github.run_number }} - 1))" Info.plist
cd BundleResources
rm SpecialThanks.txt
wget -O SpecialThanks.txt https://smash.oatmealdome.me/parts/patrons.txt
dos2unix SpecialThanks.txt
- name: Cache CocoaPods
uses: actions/cache@v1
with:
path: Source/iOS/DolphiniOS/Pods
key: ${{ runner.OS }}-pods-cache-${{ hashFiles('**/Source/iOS/DolphiniOS/Podfile.lock') }}

- name: Run CocoaPods
run: |
cd Source/iOS/DolphiniOS
pod install
- name: Build
env:
XCODEBUILD_ARGS: "BUILD_DIR=${{ github.workspace }}/build-Xcode CODE_SIGNING_ALLOWED=\"NO\" CODE_SIGNING_REQUIRED=\"NO\" CODE_SIGN_ENTITLEMENTS=\"\" CODE_SIGN_IDENTITY=\"\""
run: |
mkdir build-Xcode
cd Source/iOS/DolphiniOS
xcodebuild -workspace DolphiniOS.xcworkspace -configuration "Release (Jailbroken)" -scheme "DolphiniOS" ${{ env.XCODEBUILD_ARGS }}
xcodebuild -workspace DolphiniOS.xcworkspace -configuration "Release (Patreon)" -scheme "DolphiniOS" ${{ env.XCODEBUILD_ARGS }}
- name: Package (Normal)
env:
PROJECT_DIR: "${{ github.workspace }}/Source/iOS/DolphiniOS"
ARCHIVE_PATH: "${{ github.workspace }}/build-Xcode/archive-root-jb"
BUILD_FOR_PATREON: "NO"
IS_CI: "YES"
run: |
mkdir -p ${{ env.ARCHIVE_PATH }}/Products/Applications/
cp -R "${{ github.workspace }}/build-Xcode/Release (Jailbroken)-iphoneos/DolphiniOS.app" ${{ env.ARCHIVE_PATH }}/Products/Applications/
Source/iOS/DolphiniOS/DolphiniOS/BuildResources/BuildScripts/BuildDebs.sh build.keychain JB_DEB_PATH
- name: Package (Patreon)
env:
PROJECT_DIR: "${{ github.workspace }}/Source/iOS/DolphiniOS"
ARCHIVE_PATH: "${{ github.workspace }}/build-Xcode/archive-root-jb-patreon"
BUILD_FOR_PATREON: "YES"
IS_CI: "YES"
run: |
mkdir -p ${{ env.ARCHIVE_PATH }}/Products/Applications/
cp -R "${{ github.workspace }}/build-Xcode/Release (Patreon)-iphoneos/DolphiniOS.app" ${{ env.ARCHIVE_PATH }}/Products/Applications/
Source/iOS/DolphiniOS/DolphiniOS/BuildResources/BuildScripts/BuildDebs.sh build.keychain JB_PATREON_DEB_PATH
- name: Upload
env:
S3CMD_ARGS: "--access_key=${{ secrets.SPACES_KEY }} --secret_key=${{ secrets.SPACES_SECRET }} --host=${{ secrets.SPACES_ENDPOINT }} --host-bucket=${{ secrets.S3_BUCKET }}"
BUCKET_ROOT_PATH: "s3://dios-archive/builds"
run: |
s3cmd put ${{ env.JB_DEB_PATH }}/DolphiniOS.deb ${{ env.BUCKET_ROOT_PATH }}/DolphiniOS-JB-${{ github.run_number }}.deb ${{ env.S3CMD_ARGS }}
s3cmd put ${{ env.JB_PATREON_DEB_PATH }}/DolphiniOS.deb ${{ env.BUCKET_ROOT_PATH }}/DolphiniOS-JB-Patreon-${{ github.run_number }}.deb ${{ env.S3CMD_ARGS }}
build-njb:
runs-on: macos-10.15

steps:
- uses: actions/checkout@v2

- name: Install build utilities
run: |
sudo xcode-select -s /Applications/Xcode_12.app/Contents/Developer
brew install ninja bartycrouch dpkg s3cmd libmagic dos2unix
pip3 install polib python-magic
- name: Create Keychain
run: |
security create-keychain -p alpine build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p alpine build.keychain
security set-keychain-settings -t 36000 build.keychain
security import Source/iOS/DolphiniOS/DolphiniOS/BuildResources/OatmealDomeSoftware.p12 -k build.keychain -P ${{ secrets.CERTIFICATE_GPG_PASSWORD }} -A
security set-key-partition-list -S apple-tool:,apple: -s -k alpine build.keychain
- name: Prepare Resources
run: |
cd Source/iOS/DolphiniOS/DolphiniOS
gpg --quiet --batch --yes --decrypt --passphrase="${{ secrets.FIREBASE_GPG_PASSWORD }}" --output GoogleService-Info.plist GoogleService-Info.plist.gpg
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $((${{ github.run_number }} - 1))" Info.plist
cd BundleResources
rm SpecialThanks.txt
wget -O SpecialThanks.txt https://smash.oatmealdome.me/parts/patrons.txt
dos2unix SpecialThanks.txt
- name: Cache CocoaPods
uses: actions/cache@v1
with:
path: Source/iOS/DolphiniOS/Pods
key: ${{ runner.OS }}-pods-cache-${{ hashFiles('**/Source/iOS/DolphiniOS/Podfile.lock') }}

- name: Run CocoaPods
run: |
cd Source/iOS/DolphiniOS
pod install
- name: Build
env:
XCODEBUILD_ARGS: "BUILD_DIR=${{ github.workspace }}/build-Xcode CODE_SIGNING_ALLOWED=\"NO\" CODE_SIGNING_REQUIRED=\"NO\" CODE_SIGN_ENTITLEMENTS=\"\" CODE_SIGN_IDENTITY=\"\""
run: |
mkdir build-Xcode
cd Source/iOS/DolphiniOS
xcodebuild -workspace DolphiniOS.xcworkspace -configuration "Release (Non-Jailbroken)" -scheme "DolphiniOS" ${{ env.XCODEBUILD_ARGS }}
xcodebuild -workspace DolphiniOS.xcworkspace -configuration "Release (Patreon Non-Jailbroken)" -scheme "DolphiniOS" ${{ env.XCODEBUILD_ARGS }}
- name: Package (Normal)
env:
PROJECT_DIR: "${{ github.workspace }}/Source/iOS/DolphiniOS"
ARCHIVE_PATH: "${{ github.workspace }}/build-Xcode/archive-root-njb"
BUILD_FOR_PATREON: "NO"
IS_CI: "YES"
run: |
mkdir -p ${{ env.ARCHIVE_PATH }}/Products/Applications/
cp -R "${{ github.workspace }}/build-Xcode/Release (Non-Jailbroken)-iphoneos/DolphiniOS.app" ${{ env.ARCHIVE_PATH }}/Products/Applications/
Source/iOS/DolphiniOS/DolphiniOS/BuildResources/BuildScripts/BuildIpa.sh build.keychain NJB_IPA_PATH
- name: Package (Patreon)
env:
PROJECT_DIR: "${{ github.workspace }}/Source/iOS/DolphiniOS"
ARCHIVE_PATH: "${{ github.workspace }}/build-Xcode/archive-root-njb-patreon"
BUILD_FOR_PATREON: "YES"
IS_CI: "YES"
run: |
mkdir -p ${{ env.ARCHIVE_PATH }}/Products/Applications/
cp -R "${{ github.workspace }}/build-Xcode/Release (Patreon Non-Jailbroken)-iphoneos/DolphiniOS.app" ${{ env.ARCHIVE_PATH }}/Products/Applications/
Source/iOS/DolphiniOS/DolphiniOS/BuildResources/BuildScripts/BuildIpa.sh build.keychain NJB_PATREON_IPA_PATH
- name: Upload
env:
S3CMD_ARGS: "--access_key=${{ secrets.SPACES_KEY }} --secret_key=${{ secrets.SPACES_SECRET }} --host=${{ secrets.SPACES_ENDPOINT }} --host-bucket=${{ secrets.S3_BUCKET }}"
BUCKET_ROOT_PATH: "s3://dios-archive/builds"
run: |
s3cmd put ${{ env.NJB_IPA_PATH }}/DolphiniOS-NJB.ipa ${{ env.BUCKET_ROOT_PATH }}/DolphiniOS-NJB-${{ github.run_number }}.ipa ${{ env.S3CMD_ARGS }}
s3cmd put ${{ env.NJB_PATREON_IPA_PATH }}/DolphiniOS-NJB.ipa ${{ env.BUCKET_ROOT_PATH }}/DolphiniOS-NJB-Patreon-${{ github.run_number }}.ipa ${{ env.S3CMD_ARGS }}
40 changes: 40 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Ignore image thumbnail files created by windows
Thumbs.db
# Ignore Finder view option files created by OS X
.DS_Store
# Ignore autogenerated source files
Source/Core/Common/scmrev.h
# Ignore files output by build
/[Bb]uild*/
/[Bb]inary*/
/obj/
# Ignore files output by Android cmake build
/Source/Android/app/.cxx/
/libs/
# Ignore various files created by visual studio/msbuild
*.ipch
*.opensdf
*.sdf
*.suo
*.vcxproj.user
*.obj
*.tlog
*.VC.opendb
*.VC.db
.vs*/
/Source/enc_temp_folder/
# Ignore build info file created by QtCreator
CMakeLists.txt.user
# Ignore files created by posix people
*~
# Ignore vim swapfiles
*.swp
# Ignore emacs temp files
\#*\#
.\#*
# Ignore kdevelop files/dirs
*.kdev4
# Ignore IDEA/Clion files/dirs
/.idea/
# Ignore Visual Studio Code's working dir
/.vscode/
5 changes: 5 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[submodule "Externals/Qt"]
path = Externals/Qt
url = https://github.com/dolphin-emu/ext-win-qt.git
branch = master
shallow = true
54 changes: 54 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# This file exists to enable "git shortlog -s" to group by person.
Andrew de los Reyes <[email protected]> <[email protected]>
Augustin Cavalier <[email protected]> <[email protected]>
Benjamin Przybocki <[email protected]>
Dolphin Bots <[email protected]> <[email protected]>
Dolphin Bots <[email protected]> <[email protected]>
Dolphin Bots <[email protected]> <[email protected]>
Grant Paul <[email protected]> <[email protected]>
Henrik Rydgård <[email protected]>
Jack Frost <[email protected]> <[email protected]>
James Dunne <[email protected]>
John Chadwick <[email protected]> <johnwchadwick>
John Peterson <[email protected]>
John Peterson <[email protected]> <[email protected]>
Jordan Cristiano <[email protected]> <jordan.cristi AT [Google mail]>
Jordan Cristiano <[email protected]> <jordan.cristi [AT] gmail.com>
Jordan Woyak <[email protected]> <[email protected]>
Jordan Woyak <[email protected]> <[email protected]>
Jules Blok <[email protected]> Armada <[email protected]>
Lioncash <[email protected]>
Lioncash <[email protected]> Lioncash <nope>
Lioncash <[email protected]> <[email protected]>
Maarten ter Huurne <[email protected]> <[email protected]>
Marcos Vitali <[email protected]>
Markus Wick <[email protected]> <[email protected]>
Matthew Parlane <[email protected]>
Matthew Parlane <[email protected]> <matthew@phantuntu.(none)>
Oussama Danba <[email protected]>
Pascal Jouy <[email protected]>
Pierre <[email protected]>
Pierre Bourdon <[email protected]> <[email protected]>
Rodolfo Bogado <[email protected]>
Rog <[email protected]>
RolandMunsil <[email protected]> <[email protected]>
Runo <[email protected]>
Ryan Houdek <[email protected]>
Ryan Houdek <[email protected]> <[email protected]>
Ryan Houdek <[email protected]> <[email protected]>
Ryan Houdek <[email protected]> <sonicadvance1@Ryan-Desktop.(none)>
Sacha <[email protected]>
Sean Maas <[email protected]>
Shawn Hoffman <[email protected]>
Steven V. <[email protected]>
Steven V. <[email protected]> <[email protected]>
Tony Wasserka <[email protected]> <[email protected]>
Tony Wasserka <[email protected]> <[email protected]>
TotalNerd <[email protected]>
booto <[email protected]> <[email protected]>
i418c <[email protected]> <[email protected]>
luisr142004 <[email protected]> <[email protected]>
magumagu <[email protected]>
masken <[email protected]> <[email protected]>
nitsuja <[email protected]>
skidau <[email protected]>
8 changes: 8 additions & 0 deletions .tx/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[main]
host = https://www.transifex.com

[dolphin-emu.emulator]
file_filter = Languages/po/<lang>.po
source_file = Languages/po/dolphin-emu.pot
source_lang = en-US
type = PO
50 changes: 50 additions & 0 deletions AndroidSetup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# How to Set Up an Android Development Environment

If you'd like to contribute to the Android project, but do not currently have a development environment setup, follow the instructions in this guide.

## Prerequisites

* [Android Studio](http://developer.android.com/tools/studio/index.html)

If you downloaded Android Studio, extract it and then see [Setting up Android Studio](#setting-up-android-studio).

## Setting up Android Studio

1. Launch Android Studio, which will start a first-launch wizard.
2. Choose a custom installation.
3. If offered a choice of themes, select your preference.
4. When offered a choice of components, uncheck the "Android Virtual Device" option. ![Android Studio Components][components]
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.)
6. At the Android Studio welcome screen, click "Configure", then "SDK Manager".
7. Use the SDK Manager to get necessary dependencies, as described in [Getting Dependencies](#getting-dependencies).
8. When done, follow the steps in [Readme.md](Readme.md#installation-on-android) to compile and deploy the application.

## Executing Gradle Tasks

In Android Studio, you can find a list of possible Gradle tasks in a tray at the top right of the screen:

![Gradle Tasks][gradle]

Double clicking any of these tasks will execute it, and also add it to a short list in the main toolbar:

![Gradle Task Shortcuts][shortcut]

Clicking the green triangle next to this list will execute the currently selected task.

For command-line users, any task may be executed with `Source/Android/gradlew <task-name>`.

## Getting Dependencies

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.

1. Launch the Android SDK Manager by clicking on its icon in Android Studio's main toolbar:
![Android Studio Package Icon][package-icon]
2. Install or update the SDK Platform. Choose the API level selected as [compileSdkVersion](Source/Android/app/build.gradle#L5).
3. Install or update the SDK Tools. CMake, LLDB and NDK. If you don't use android-studio, please check out https://github.com/Commit451/android-cmake-installer.

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.

[components]: http://i.imgur.com/Oo1Fs93.png
[package-icon]: http://i.imgur.com/NUpkAH8.png
[gradle]: http://i.imgur.com/dXIH6o3.png
[shortcut]: http://i.imgur.com/eCWP4Yy.png
11 changes: 11 additions & 0 deletions CMake/CCache.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
find_program(CCACHE_BIN ccache)
if(CCACHE_BIN)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE_BIN})
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE_BIN})

# ccache uses -I when compiling without preprocessor, which makes clang complain.
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments -fcolor-diagnostics")
endif()
endif()
Loading

0 comments on commit b536827

Please sign in to comment.