QUASI88 for IS01 その1

QUASI88 for Androidというものがあります。

http://www41.atwiki.jp/tako2lab/pages/33.html

しかしながら、ソースが公開されておらず、IS01では動かなかったので、個人的に移植してみることにしました。SDLAndroidにも移植されています。分かりずらいですが、以下から入手出来ます。

http://www.libsdl.org/tmp/android-project.zip

まずは、SDLだけでビルドしてみます。不要なライブラリは削除します。

$ rm -fr /c/home/android-project/jni/SDL_image
$ rm -fr /c/home/android-project/jni/SDL_mixer/
$ rm -fr /c/home/android-project/jni/SDL_net/
$ rm -fr /c/home/android-project/jni/SDL_ttf/
$ rm -fr /c/home/android-project/jni/mikmod/
$ rm -fr /c/home/android-project/jni/freetype/
$ rm -fr /c/home/android-project/jni/png/
$ rm -fr /c/home/android-project/jni/jpeg/
$ rm -fr /c/home/android-project/jni/tremor/

Android.mk

###LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog
LOCAL_LDLIBS := -ldl -lGLESv1_CM -llog

SDL_config_android.h

///#define SDL_VIDEO_RENDER_OGL_ES2	1
#define SDL_VIDEO_RENDER_OGL_ES2	0

SDL本体のみをビルドします。上記ファイルを修正すれば問題なし。

$ cd /c/android-ndk-r8b/
$ ./ndk-build -C /c/home/android-project/jni/

Javaの部分は以下のファイルを修正すれば問題なし。

> cd c:\home\android-project
> ant debug

default.properties

target=android-4

local.properties

sdk.dir=C:\\android-sdk-windows

build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="SDLApp" default="help">


    <property file="local.properties" />

    
    <property file="build.properties" />

    
    <property file="default.properties" />


    
    <import file="${sdk.dir}/tools/ant/pre_setup.xml" />





    
    <setup />

</project>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.libsdl.app"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:label="@string/app_name" android:icon="@drawable/icon" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
        <activity android:name="SDLActivity"
                  android:label="@string/app_name" android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest> 

SDLActivity.java

    // Load the .so
    static {
        System.loadLibrary("SDL");
///        System.loadLibrary("SDL_image");
///        System.loadLibrary("mikmod");
///        System.loadLibrary("SDL_mixer");
///        System.loadLibrary("SDL_ttf");
        System.loadLibrary("main");
    }