mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ad3f98ee6 | ||
|
|
d11c66eea9 | ||
|
|
d6c503f0e9 | ||
|
|
e9a5064e59 | ||
|
|
821dd700ff | ||
|
|
ef7780ffaa | ||
|
|
4ee3f23df8 | ||
|
|
cb1378429f | ||
|
|
5cadb5923d | ||
|
|
f51b428de4 | ||
|
|
7fb49b5e01 | ||
|
|
5a735395da | ||
|
|
dda4e4b5c9 | ||
|
|
6d76ce9f5e | ||
|
|
e0ed28543b | ||
|
|
1afe496fed | ||
|
|
31685557d2 | ||
|
|
cf92349436 | ||
|
|
8a74695a74 | ||
|
|
ebb9e3fc8e | ||
|
|
01b127b7f3 | ||
|
|
422839dea4 | ||
|
|
a2e93687f6 | ||
|
|
fab4340461 | ||
|
|
b7a607b765 | ||
|
|
4669337a3f | ||
|
|
7b11b129f7 | ||
|
|
b18eb6b649 | ||
|
|
0879154432 | ||
|
|
f1698ae721 | ||
|
|
ad50070aba | ||
|
|
449a2ebc70 | ||
|
|
be70a5a123 | ||
|
|
d1bbba626d | ||
|
|
2141922ee3 | ||
|
|
c2ec2f2cc3 | ||
|
|
207df24ffd | ||
|
|
0966633d2a | ||
|
|
50bc007d46 | ||
|
|
941b48b802 | ||
|
|
cbc89b8af4 | ||
|
|
9cd2f6e784 | ||
|
|
64ebfa222e | ||
|
|
0129959d7b | ||
|
|
3ebfdb3928 | ||
|
|
bb386e25a0 | ||
|
|
4d3c39224c | ||
|
|
0b16bced84 | ||
|
|
b7d7a2d9bf | ||
|
|
fa702ed90c | ||
|
|
7e10b1315e | ||
|
|
cae9c27c62 | ||
|
|
cd4ee56d48 | ||
|
|
790d36bfbc | ||
|
|
da793a5bf2 | ||
|
|
69edc89292 | ||
|
|
a93f011253 | ||
|
|
4c670ad342 | ||
|
|
d9d6dbdf51 | ||
|
|
da04b7f859 | ||
|
|
8e0b482b23 | ||
|
|
d3933591b5 | ||
|
|
f31674a12e | ||
|
|
c474a82a94 | ||
|
|
71c2c94ece | ||
|
|
75bc685360 | ||
|
|
200aaf7be8 | ||
|
|
f33f994adc | ||
|
|
b1eea9ca76 | ||
|
|
1475e6af7b | ||
|
|
25887952c9 | ||
|
|
137ca0de12 | ||
|
|
a5059beaeb | ||
|
|
4d1ddff798 | ||
|
|
bbfa903a99 | ||
|
|
6ff3be97de | ||
|
|
466a716222 | ||
|
|
185e761f78 | ||
|
|
ea8809ddd0 | ||
|
|
13035d72a4 | ||
|
|
136a928883 | ||
|
|
0c2a51c9f4 | ||
|
|
d74699740e | ||
|
|
542feb038e | ||
|
|
b0ca99f18c | ||
|
|
53faf37dc1 | ||
|
|
63ffddb67b | ||
|
|
4a57bdbc5f | ||
|
|
0ec23b34ba | ||
|
|
d0caa0f78c | ||
|
|
51af06463f | ||
|
|
17dd587241 | ||
|
|
57cb5d2b51 | ||
|
|
24d8d47ab2 | ||
|
|
aa1b0108f4 | ||
|
|
e0731a194c | ||
|
|
0455c0f053 | ||
|
|
5984bdea19 | ||
|
|
2bb149b367 | ||
|
|
7458760c75 | ||
|
|
dcc38678a6 | ||
|
|
f201a494d2 | ||
|
|
6af9227293 | ||
|
|
36f31463f3 | ||
|
|
da76b32433 | ||
|
|
00403e452f | ||
|
|
03a33628cb | ||
|
|
60673fac35 | ||
|
|
72f6fd158c | ||
|
|
2e4710c6c2 | ||
|
|
1f3ca038a8 | ||
|
|
791064e870 | ||
|
|
3ef3e7a239 | ||
|
|
0d4e554ac6 | ||
|
|
a933d73589 | ||
|
|
a38b9daa6d | ||
|
|
120562952c | ||
|
|
fc309f5eaa | ||
|
|
e87d7c6954 | ||
|
|
8b2b12dbe8 | ||
|
|
c2199dddcf | ||
|
|
cc3e015f12 | ||
|
|
a383b4b330 | ||
|
|
df81f97e43 | ||
|
|
e60ca15ae6 | ||
|
|
84b9b4218a | ||
|
|
6fd7fc3a9d | ||
|
|
51a6d9d926 | ||
|
|
4b36181ee2 | ||
|
|
5e17828cc4 | ||
|
|
d2a11f1476 | ||
|
|
f8f00e6d9b | ||
|
|
2d8bc175fe | ||
|
|
5de6a9ac8f | ||
|
|
03a597d44c | ||
|
|
139a240ed3 | ||
|
|
26321c9a17 | ||
|
|
888b8fe24a | ||
|
|
53e76c5aeb | ||
|
|
f64cf9d56d | ||
|
|
43ebcd0305 | ||
|
|
07ac8c2a1b | ||
|
|
891fcafa57 | ||
|
|
8e3a447798 | ||
|
|
41ace195cd | ||
|
|
c0593af8db | ||
|
|
4770f538a9 | ||
|
|
5dedbc45c1 | ||
|
|
bb6c6f5995 | ||
|
|
d0dd8c2786 | ||
|
|
b54542494e | ||
|
|
eae50e33e3 | ||
|
|
04e5ac449d | ||
|
|
50b06bff0b | ||
|
|
3a86bdf2dc | ||
|
|
78f0525ec0 | ||
|
|
a3add6092b | ||
|
|
a39a9a58e9 | ||
|
|
7bf60f6771 | ||
|
|
63c293f78a | ||
|
|
57d4e62ed0 | ||
|
|
877d7f732b | ||
|
|
47e98e8ee9 | ||
|
|
65870f3c07 | ||
|
|
464c55fcbb | ||
|
|
8ac7dc6b7d | ||
|
|
e484e0ba82 | ||
|
|
f32bccc5b9 | ||
|
|
c7aafb65fd | ||
|
|
6ff53d4827 | ||
|
|
73c468d5cf | ||
|
|
74afca9bf7 | ||
|
|
3590cfa118 | ||
|
|
9a81e3eac9 | ||
|
|
6b9276847e | ||
|
|
c2e1c56413 | ||
|
|
e2fb954d99 | ||
|
|
63def6f8df | ||
|
|
eb208233e2 | ||
|
|
291973fffe | ||
|
|
01ae001de5 | ||
|
|
788c74a19e | ||
|
|
711b02be55 | ||
|
|
41e35ff3ee | ||
|
|
513e89c073 | ||
|
|
0eaa533f25 |
@@ -0,0 +1,74 @@
|
||||
name: generate-android-apk
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
generate-2ship-otr:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y ninja-build cmake g++ gcc libzip-dev zipcmp zipmerge ziptool
|
||||
- name: Install latest SDL
|
||||
run: |
|
||||
if [ ! -d "SDL2-2.28.5" ]; then
|
||||
wget https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-2.28.5.tar.gz
|
||||
tar -xzf SDL2-2.28.5.tar.gz
|
||||
fi
|
||||
cd SDL2-2.28.5
|
||||
./configure --enable-hidapi-libusb
|
||||
make -j 10
|
||||
sudo make install
|
||||
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/
|
||||
- name: Install latest tinyxml2
|
||||
run: |
|
||||
sudo apt-get remove libtinyxml2-dev
|
||||
if [ ! -d "tinyxml2-10.0.0" ]; then
|
||||
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
|
||||
tar -xzf 10.0.0.tar.gz
|
||||
fi
|
||||
cd tinyxml2-10.0.0
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
sudo make install
|
||||
- name: Generate 2ship.o2r
|
||||
run: |
|
||||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
cmake --build build-cmake --config Release --target Generate2ShipOtr -j3
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: 2ship.o2r
|
||||
path: 2ship.o2r
|
||||
retention-days: 1
|
||||
|
||||
build-android:
|
||||
needs: generate-2ship-otr
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get install -y ninja-build
|
||||
- name: Download 2ship.o2r
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: 2ship.o2r
|
||||
path: Android/app/src/main/assets
|
||||
- name: Build 2Ship APK
|
||||
run: |
|
||||
cd Android/
|
||||
./gradlew assembleDebug -P elfBuildType=RelWithDebInfo
|
||||
mv app/build/outputs/apk/debug/app-debug.apk ../2ship.apk
|
||||
- name: Upload APK artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: 2ship-apk
|
||||
path: 2ship.apk
|
||||
@@ -1 +1 @@
|
||||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build
|
||||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Call the original gtar executable with sudo for macports cache restoration to root folder
|
||||
exec sudo /opt/homebrew/bin/gtar.orig "$@"
|
||||
+210
-219
File diff suppressed because it is too large
Load Diff
@@ -12,7 +12,7 @@ jobs:
|
||||
if: ${{ github.event.workflow_run.event == 'pull_request' }}
|
||||
steps:
|
||||
- id: 'pr-number'
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
@@ -20,8 +20,9 @@ jobs:
|
||||
const pullHeadSHA = '${{github.event.workflow_run.head_sha}}';
|
||||
const pullUserId = ${{github.event.sender.id}};
|
||||
const prNumber = await (async () => {
|
||||
const pulls = await github.rest.pulls.list({owner, repo});
|
||||
for await (const {data} of github.paginate.iterator(pulls)) {
|
||||
for await (const { data } of github.paginate.iterator(
|
||||
github.rest.pulls.list, { owner, repo }
|
||||
)) {
|
||||
for (const pull of data) {
|
||||
if (pull.head.sha === pullHeadSHA && pull.user.id === pullUserId) {
|
||||
return pull.number;
|
||||
@@ -36,7 +37,7 @@ jobs:
|
||||
|
||||
return prNumber;
|
||||
- id: 'artifacts-text'
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
@@ -48,12 +49,13 @@ jobs:
|
||||
|
||||
return allArtifacts.data.artifacts.reduce((acc, item) => {
|
||||
if (item.name === "assets") return acc;
|
||||
if (item.name === "2ship.o2r") return acc;
|
||||
acc += `
|
||||
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip?h=20a00267c7ffeb2eb80ab31f356f2ba5f120f43c)`;
|
||||
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
|
||||
return acc;
|
||||
}, '### Build Artifacts');
|
||||
- id: 'add-to-pr'
|
||||
uses: garrettjoecox/pr-section@3.1.0
|
||||
uses: garrettjoecox/pr-section@4.0.0
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
pr-number: ${{ steps.pr-number.outputs.result }}
|
||||
|
||||
@@ -66,3 +66,7 @@ _packages/
|
||||
|
||||
/mm/src/boot/build.c
|
||||
/mm/windows/properties.h
|
||||
/clang-format.exe
|
||||
|
||||
# IntelliJ / Android Studio
|
||||
.idea
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[submodule "libultraship"]
|
||||
path = libultraship
|
||||
url = https://github.com/Waterdish/libultraship.git
|
||||
url = https://github.com/robertkirkman/libultraship.git
|
||||
[submodule "OTRExporter"]
|
||||
path = OTRExporter
|
||||
url = https://github.com/Waterdish/OTRExporter.git
|
||||
|
||||
@@ -14,6 +14,7 @@ captures/
|
||||
.cxx/
|
||||
*.apk
|
||||
output.json
|
||||
app/release/
|
||||
|
||||
# IntelliJ
|
||||
*.iml
|
||||
|
||||
+25
-27
@@ -1,4 +1,4 @@
|
||||
def buildAsLibrary = project.hasProperty('BUILD_AS_LIBRARY');
|
||||
def buildAsLibrary = project.hasProperty('BUILD_AS_LIBRARY')
|
||||
def buildAsApplication = !buildAsLibrary
|
||||
if (buildAsApplication) {
|
||||
apply plugin: 'com.android.application'
|
||||
@@ -8,25 +8,21 @@ else {
|
||||
}
|
||||
|
||||
android {
|
||||
ndkPath "/home/waterdish/Android/Sdk/ndk/26.0.10792818" // Point to your own NDK
|
||||
compileSdkVersion 31
|
||||
ndkVersion '27.2.12479018'
|
||||
compileSdkVersion 34
|
||||
defaultConfig {
|
||||
if (buildAsApplication) {
|
||||
applicationId "com.dishii.mm"
|
||||
}
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 31
|
||||
versionCode 1
|
||||
versionName "1.0.0"
|
||||
minSdkVersion 21
|
||||
//noinspection OldTargetApi
|
||||
targetSdkVersion 34
|
||||
versionCode 4
|
||||
versionName "1.1.1"
|
||||
externalNativeBuild {
|
||||
//ndkBuild {
|
||||
// arguments "APP_PLATFORM=android-23"
|
||||
// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
//}
|
||||
cmake {
|
||||
arguments "-DANDROID_APP_PLATFORM=android-23","-DSDL_SHARED=ON", "-DANDROID_STL=c++_static", "-DHAVE_LD_VERSION_SCRIPT=OFF",'-DUSE_OPENGLES=ON',"-DCVAR_IMGUI_CONTROLLER_NAV=1"
|
||||
arguments "-DANDROID_APPNAME=${applicationId}", "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DHAVE_LD_VERSION_SCRIPT=OFF", "-DUSE_OPENGLES=ON", "-DCMAKE_BUILD_TYPE=$elfBuildType"
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
//abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,9 +30,17 @@ android {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
}
|
||||
applicationVariants.all { variant ->
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
}
|
||||
namespace 'com.dishii.mm'
|
||||
lint {
|
||||
abortOnError false
|
||||
}
|
||||
applicationVariants.configureEach { variant ->
|
||||
tasks["merge${variant.name.capitalize()}Assets"]
|
||||
.dependsOn("externalNativeBuild${variant.name.capitalize()}")
|
||||
}
|
||||
@@ -45,26 +49,20 @@ android {
|
||||
jniLibs.srcDir 'libs'
|
||||
}
|
||||
externalNativeBuild {
|
||||
//ndkBuild {
|
||||
// path 'jni/Android.mk'
|
||||
//}
|
||||
cmake {
|
||||
path '../../CMakeLists.txt'
|
||||
version "3.25.1"
|
||||
version "3.31.5"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
if (buildAsLibrary) {
|
||||
libraryVariants.all { variant ->
|
||||
variant.outputs.each { output ->
|
||||
def outputFile = output.outputFile
|
||||
if (outputFile != null && outputFile.name.endsWith(".aar")) {
|
||||
def fileName = "org.libsdl.app.aar";
|
||||
def fileName = "com.dishii.mm.aar"
|
||||
output.outputFile = new File(outputFile.parent, fileName);
|
||||
}
|
||||
}
|
||||
@@ -74,13 +72,13 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
implementation 'androidx.core:core:1.7.0' // Use the latest version
|
||||
|
||||
implementation 'androidx.core:core:1.13.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
|
||||
}
|
||||
|
||||
task wrapper(type: Wrapper) {
|
||||
gradleVersion = '7.3'
|
||||
tasks.register('wrapper', Wrapper) {
|
||||
gradleVersion = '8.10.2'
|
||||
}
|
||||
|
||||
task prepareKotlinBuildScriptModel {
|
||||
tasks.register('prepareKotlinBuildScriptModel') {
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
@@ -1,5 +0,0 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
@@ -3,9 +3,8 @@
|
||||
com.gamemaker.game
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.dishii.mm"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0.0"
|
||||
android:versionCode="4"
|
||||
android:versionName="1.1.1"
|
||||
android:installLocation="auto">
|
||||
|
||||
<!-- OpenGL ES 3.0 -->
|
||||
@@ -54,8 +53,8 @@
|
||||
<!-- Allow access to the vibrator -->
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
||||
|
||||
<!-- if you want to capture audio, uncomment this. -->
|
||||
<!-- <uses-permission android:name="android.permission.RECORD_AUDIO" /> -->
|
||||
@@ -73,7 +72,8 @@
|
||||
android:allowBackup="true"
|
||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
android:hardwareAccelerated="true"
|
||||
android:appCategory="game" >
|
||||
android:appCategory="game"
|
||||
android:requestLegacyExternalStorage="true">
|
||||
|
||||
|
||||
<!-- Example of setting SDL hints from AndroidManifest.xml:
|
||||
@@ -84,7 +84,6 @@
|
||||
|
||||
|
||||
<activity android:name="MainActivity"
|
||||
android:label="@string/app_name"
|
||||
android:alwaysRetainTaskState="true"
|
||||
android:launchMode="singleInstance"
|
||||
android:configChanges="layoutDirection|locale|orientation|uiMode|screenLayout|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Extractor Assets Copied by CMake during buildtime
|
||||
assets/
|
||||
mods/
|
||||
@@ -1,8 +0,0 @@
|
||||
<Root>
|
||||
<SymbolMap File="symbols/SymbolMap_MM.txt"/>
|
||||
<ActorList File="symbols/ActorList_MM.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_MM.txt"/>
|
||||
<EnumData File="EnumData.xml"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_US/"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
@@ -1,8 +0,0 @@
|
||||
<Root>
|
||||
<SymbolMap File="symbols/SymbolMap_MM.txt"/>
|
||||
<ActorList File="symbols/ActorList_MM.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_MM.txt"/>
|
||||
<EnumData File="EnumData.xml"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/N64_US/"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user