mittorn
9 years ago
11 changed files with 247 additions and 0 deletions
@ -0,0 +1,20 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<!-- Set your package name here --> |
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
|
package="in.celest.xash3d.gravgun" |
||||||
|
android:versionCode="1" |
||||||
|
android:versionName="1.0"> |
||||||
|
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5"/> |
||||||
|
<!-- Set your application name here --> |
||||||
|
<application android:label="Half-Life Gravgun" android:debuggable="true" android:icon="@drawable/gravgun"> |
||||||
|
<!-- Set your launcher title here --> |
||||||
|
<activity android:name="in.celest.xash3d.LauncherActivity" |
||||||
|
android:label="Half-Life Gravgun" |
||||||
|
android:windowSoftInputMode="adjustResize"> |
||||||
|
<intent-filter> |
||||||
|
<action android:name="android.intent.action.MAIN" /> |
||||||
|
<category android:name="android.intent.category.LAUNCHER" /> |
||||||
|
</intent-filter> |
||||||
|
</activity> |
||||||
|
</application> |
||||||
|
</manifest> |
@ -0,0 +1,13 @@ |
|||||||
|
ANDROID_JAR=../android-13.jar |
||||||
|
AAPT=./../aapt |
||||||
|
DX=./../dx |
||||||
|
APKBUILDER=./../apkbuilder |
||||||
|
NAME=mod |
||||||
|
mkdir bin |
||||||
|
mkdir bin/classes |
||||||
|
$AAPT package -M AndroidManifest.xml -m -S res -I $ANDROID_JAR |
||||||
|
$JAVA_HOME/bin/javac -d bin/classes -s bin/classes -cp $ANDROID_JAR src/in/celest/xash3d/LauncherActivity.java |
||||||
|
$DX --dex --output=bin/classes.dex bin/classes/ |
||||||
|
$AAPT package -f -M AndroidManifest.xml -S res -I $ANDROID_JAR -F bin/$NAME.apk.unaligned |
||||||
|
$APKBUILDER bin/$NAME.apk -u -nf libs/ -rj libs -f bin/classes.dex -z bin/$NAME.apk.unaligned |
||||||
|
#java -jar /mnt/app/apktool/signapk.jar /mnt/app/apktool/testkey.x509.pem /mnt/app/apktool/testkey.pk8 bin/$NAME.apk bin/$NAME-signed.apk |
@ -0,0 +1,6 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
ndk-build NDK_TOOLCHAIN_VERSION=4.8 NDK_DEBUG=1 V=1 -j5 APP_CFLAGS="-w" |
||||||
|
ant debug |
||||||
|
#jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ../myks.keystore bin/mod-unsigned.apk xashdroid -tsa https://timestamp.geotrust.com/tsa |
||||||
|
#zipalign 4 bin/cs16-client-unsigned.apk bin/mod.apk |
@ -0,0 +1,92 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project name="mod" default="help"> |
||||||
|
|
||||||
|
<!-- The local.properties file is created and updated by the 'android' tool. |
||||||
|
It contains the path to the SDK. It should *NOT* be checked into |
||||||
|
Version Control Systems. --> |
||||||
|
<property file="local.properties" /> |
||||||
|
|
||||||
|
<!-- The ant.properties file can be created by you. It is only edited by the |
||||||
|
'android' tool to add properties to it. |
||||||
|
This is the place to change some Ant specific build properties. |
||||||
|
Here are some properties you may want to change/update: |
||||||
|
|
||||||
|
source.dir |
||||||
|
The name of the source directory. Default is 'src'. |
||||||
|
out.dir |
||||||
|
The name of the output directory. Default is 'bin'. |
||||||
|
|
||||||
|
For other overridable properties, look at the beginning of the rules |
||||||
|
files in the SDK, at tools/ant/build.xml |
||||||
|
|
||||||
|
Properties related to the SDK location or the project target should |
||||||
|
be updated using the 'android' tool with the 'update' action. |
||||||
|
|
||||||
|
This file is an integral part of the build system for your |
||||||
|
application and should be checked into Version Control Systems. |
||||||
|
|
||||||
|
--> |
||||||
|
<property file="ant.properties" /> |
||||||
|
|
||||||
|
<!-- if sdk.dir was not set from one of the property file, then |
||||||
|
get it from the ANDROID_HOME env var. |
||||||
|
This must be done before we load project.properties since |
||||||
|
the proguard config can use sdk.dir --> |
||||||
|
<property environment="env" /> |
||||||
|
<condition property="sdk.dir" value="${env.ANDROID_HOME}"> |
||||||
|
<isset property="env.ANDROID_HOME" /> |
||||||
|
</condition> |
||||||
|
|
||||||
|
<!-- The project.properties file is created and updated by the 'android' |
||||||
|
tool, as well as ADT. |
||||||
|
|
||||||
|
This contains project specific properties such as project target, and library |
||||||
|
dependencies. Lower level build properties are stored in ant.properties |
||||||
|
(or in .classpath for Eclipse projects). |
||||||
|
|
||||||
|
This file is an integral part of the build system for your |
||||||
|
application and should be checked into Version Control Systems. --> |
||||||
|
<loadproperties srcFile="project.properties" /> |
||||||
|
|
||||||
|
<!-- quick check on sdk.dir --> |
||||||
|
<fail |
||||||
|
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." |
||||||
|
unless="sdk.dir" |
||||||
|
/> |
||||||
|
|
||||||
|
<!-- |
||||||
|
Import per project custom build rules if present at the root of the project. |
||||||
|
This is the place to put custom intermediary targets such as: |
||||||
|
-pre-build |
||||||
|
-pre-compile |
||||||
|
-post-compile (This is typically used for code obfuscation. |
||||||
|
Compiled code location: ${out.classes.absolute.dir} |
||||||
|
If this is not done in place, override ${out.dex.input.absolute.dir}) |
||||||
|
-post-package |
||||||
|
-post-build |
||||||
|
-pre-clean |
||||||
|
--> |
||||||
|
<import file="custom_rules.xml" optional="true" /> |
||||||
|
|
||||||
|
<!-- Import the actual build file. |
||||||
|
|
||||||
|
To customize existing targets, there are two options: |
||||||
|
- Customize only one target: |
||||||
|
- copy/paste the target into this file, *before* the |
||||||
|
<import> task. |
||||||
|
- customize it to your needs. |
||||||
|
- Customize the whole content of build.xml |
||||||
|
- copy/paste the content of the rules files (minus the top node) |
||||||
|
into this file, replacing the <import> task. |
||||||
|
- customize to your needs. |
||||||
|
|
||||||
|
*********************** |
||||||
|
****** IMPORTANT ****** |
||||||
|
*********************** |
||||||
|
In all cases you must update the value of version-tag below to read 'custom' instead of an integer, |
||||||
|
in order to avoid having your file be overridden by tools such as "android update project" |
||||||
|
--> |
||||||
|
<!-- version-tag: 1 --> |
||||||
|
<import file="${sdk.dir}/tools/ant/build.xml" /> |
||||||
|
|
||||||
|
</project> |
@ -0,0 +1,6 @@ |
|||||||
|
override TARGET_arm_release_CFLAGS := |
||||||
|
override TARGET_thumb_release_CFLAGS := |
||||||
|
override TARGET_arm_debug_CFLAGS := |
||||||
|
override TARGET_thumb_debug_CFLAGS := |
||||||
|
override TARGET_CFLAGS := |
||||||
|
include $(call all-subdir-makefiles) |
@ -0,0 +1,11 @@ |
|||||||
|
CFLAGS_OPT := -O3 -fomit-frame-pointer -ggdb -funsafe-math-optimizations -ftree-vectorize -fgraphite-identity -floop-interchange -floop-block -funsafe-loop-optimizations -finline-limit=1024 |
||||||
|
CFLAGS_OPT_ARM := -mthumb -mfpu=neon -mcpu=cortex-a9 -pipe -mvectorize-with-neon-quad -DVECTORIZE_SINCOS |
||||||
|
CFLAGS_OPT_ARMv5 :=-march=armv6 -mfpu=vfp -marm -pipe |
||||||
|
CFLAGS_OPT_X86 := -mtune=atom -march=atom -mssse3 -mfpmath=sse -funroll-loops -pipe -DVECTORIZE_SINCOS |
||||||
|
CFLAGS_HARDFP := -D_NDK_MATH_NO_SOFTFP=1 -mhard-float -mfloat-abi=hard -DLOAD_HARDFP -DSOFTFP_LINK |
||||||
|
APPLICATIONMK_PATH = $(call my-dir) |
||||||
|
|
||||||
|
XASH3D_CONFIG := $(APPLICATIONMK_PATH)/mod_config.mk |
||||||
|
|
||||||
|
APP_ABI := x86 armeabi-v7a-hard armeabi |
||||||
|
APP_MODULES := server |
@ -0,0 +1,14 @@ |
|||||||
|
LOCAL_CFLAGS += $(CFLAGS_OPT) |
||||||
|
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a-hard) |
||||||
|
LOCAL_CFLAGS += $(CFLAGS_OPT_ARM) $(CFLAGS_HARDFP) |
||||||
|
endif |
||||||
|
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) |
||||||
|
LOCAL_CFLAGS += $(CFLAGS_OPT_ARM) -mfloat-abi=softfp |
||||||
|
endif |
||||||
|
ifeq ($(TARGET_ARCH_ABI),armeabi) |
||||||
|
LOCAL_CFLAGS += $(CFLAGS_OPT_ARMv5) |
||||||
|
endif |
||||||
|
ifeq ($(TARGET_ARCH_ABI),x86) |
||||||
|
LOCAL_CFLAGS += $(CFLAGS_OPT_X86) |
||||||
|
endif |
||||||
|
|
@ -0,0 +1,11 @@ |
|||||||
|
# This file is automatically generated by Android Tools. |
||||||
|
# Do not modify this file -- YOUR CHANGES WILL BE ERASED! |
||||||
|
# |
||||||
|
# This file must be checked in Version Control Systems. |
||||||
|
# |
||||||
|
# To customize properties used by the Ant build system use, |
||||||
|
# "build.properties", and override values to adapt the script to your |
||||||
|
# project structure. |
||||||
|
|
||||||
|
# Project target. |
||||||
|
target=android-3 |
After Width: | Height: | Size: 4.3 KiB |
@ -0,0 +1,73 @@ |
|||||||
|
package in.celest.xash3d; |
||||||
|
|
||||||
|
import android.app.Activity; |
||||||
|
import android.os.Bundle; |
||||||
|
import android.view.Menu; |
||||||
|
import android.view.MenuItem; |
||||||
|
import android.view.View; |
||||||
|
import android.content.Intent; |
||||||
|
import android.widget.EditText; |
||||||
|
import android.widget.CheckBox; |
||||||
|
import android.widget.CompoundButton; |
||||||
|
import android.widget.LinearLayout; |
||||||
|
import android.widget.LinearLayout.LayoutParams; |
||||||
|
import android.widget.Button; |
||||||
|
import android.widget.TextView; |
||||||
|
import android.content.ComponentName; |
||||||
|
import android.content.pm.PackageManager; |
||||||
|
import android.content.SharedPreferences; |
||||||
|
|
||||||
|
public class LauncherActivity extends Activity { |
||||||
|
static EditText cmdArgs; |
||||||
|
static SharedPreferences mPref; |
||||||
|
@Override |
||||||
|
protected void onCreate(Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
// Build layout
|
||||||
|
LinearLayout launcher = new LinearLayout(this); |
||||||
|
launcher.setOrientation(LinearLayout.VERTICAL); |
||||||
|
launcher.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); |
||||||
|
TextView titleView = new TextView(this); |
||||||
|
titleView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); |
||||||
|
titleView.setText("Command-line arguments"); |
||||||
|
titleView.setTextAppearance(this, android.R.attr.textAppearanceLarge); |
||||||
|
cmdArgs = new EditText(this); |
||||||
|
cmdArgs.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); |
||||||
|
Button startButton = new Button(this); |
||||||
|
// Set launch button title here
|
||||||
|
startButton.setText("Launch with gravgun!"); |
||||||
|
LayoutParams buttonParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); |
||||||
|
buttonParams.gravity = 5; |
||||||
|
startButton.setLayoutParams(buttonParams); |
||||||
|
startButton.setOnClickListener( new View.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(View v) { |
||||||
|
startXash(v); |
||||||
|
} |
||||||
|
}); |
||||||
|
launcher.addView(titleView); |
||||||
|
launcher.addView(cmdArgs); |
||||||
|
// Add other options here
|
||||||
|
launcher.addView(startButton); |
||||||
|
setContentView(launcher); |
||||||
|
mPref = getSharedPreferences("mod", 0); |
||||||
|
cmdArgs.setText(mPref.getString("argv","-dev 3 -log")); |
||||||
|
} |
||||||
|
|
||||||
|
public void startXash(View view) |
||||||
|
{ |
||||||
|
Intent intent = new Intent(); |
||||||
|
intent.setAction("in.celest.xash3d.START"); |
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
||||||
|
|
||||||
|
SharedPreferences.Editor editor = mPref.edit(); |
||||||
|
editor.putString("argv", cmdArgs.getText().toString()); |
||||||
|
editor.commit(); |
||||||
|
editor.apply(); |
||||||
|
if(cmdArgs.length() != 0) intent.putExtra("argv", cmdArgs.getText().toString()); |
||||||
|
// Uncomment to set gamedir here
|
||||||
|
// intent.putExtra("gamedir", "mod" );
|
||||||
|
intent.putExtra("gamelibdir", getFilesDir().getAbsolutePath().replace("/files","/lib")); |
||||||
|
startActivity(intent); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue