fixe all code v 2

deque
root 11 years ago
parent 9757ad4031
commit d8772156a7

@ -62,10 +62,6 @@ if (NOT ANDROID)
ADD_DEFINITIONS(-DNOT_ANDROID) ADD_DEFINITIONS(-DNOT_ANDROID)
endif() endif()
if (ANDROID)
ADD_DEFINITIONS(-DBUILD_ANDROID)
endif()
# doxygen main page # doxygen main page
@ -248,10 +244,10 @@ if(OGRE_STATIC)
if (ANDROID) if (ANDROID)
add_static_ogre_plugin(RenderSystem_GLES2) add_static_ogre_plugin(RenderSystem_GLES2)
endif (ANDROID) else ()
if (NOT ANDROID)
add_static_ogre_plugin(RenderSystem_GL) add_static_ogre_plugin(RenderSystem_GL)
endif () endif ()
if(WIN32) if(WIN32)
add_static_ogre_plugin(RenderSystem_Direct3D9) add_static_ogre_plugin(RenderSystem_Direct3D9)
endif(WIN32) endif(WIN32)

@ -1,30 +1,18 @@
# local files # local files
if (ANDROID)
set(GAME
main.cpp
SDL_android_main.c
engine.cpp
)
endif (ANDROID)
if (NOT ANDROID)
set(GAME set(GAME
main.cpp main.cpp
#ifdef ANDROID
android_main.c
#endif
engine.cpp engine.cpp
) )
endif ()
if(NOT WIN32 AND NOT ANDROID)
set(GAME ${GAME} crashcatcher.cpp)
endif()
if (NOT ANDROID)
ADD_DEFINITIONS(-DNOT_ANDROID)
endif()
if (ANDROID) if(NOT WIN32 OR NOT ANDROID)
ADD_DEFINITIONS(-DBUILD_ANDROID) set(GAME ${GAME} crashcatcher.cpp)
endif() endif()
@ -106,8 +94,7 @@ add_openmw_dir (mwbase
# Main executable # Main executable
if (ANDROID) if (ANDROID)
set(BOOST_COMPONENTS system filesystem program_options thread wave atomic) set(BOOST_COMPONENTS system filesystem program_options thread wave atomic)
endif (ANDROID) else ()
if (NOT ANDROID)
set(BOOST_COMPONENTS system filesystem program_options thread wave) set(BOOST_COMPONENTS system filesystem program_options thread wave)
endif () endif ()
if(WIN32) if(WIN32)
@ -123,9 +110,8 @@ add_executable(openmw
${GAME} ${GAME_HEADER} ${GAME} ${GAME_HEADER}
${APPLE_BUNDLE_RESOURCES} ${APPLE_BUNDLE_RESOURCES}
) )
endif () else ()
if (ANDROID)
add_library(openmw SHARED add_library(openmw SHARED
${OPENMW_LIBS} ${OPENMW_LIBS_HEADER} ${OPENMW_LIBS} ${OPENMW_LIBS_HEADER}
${OPENMW_FILES} ${OPENMW_FILES}
@ -133,7 +119,7 @@ add_library(openmw SHARED
${APPLE_BUNDLE_RESOURCES} ${APPLE_BUNDLE_RESOURCES}
) )
endif (ANDROID) endif ()
# Sound stuff - here so CMake doesn't stupidly recompile EVERYTHING # Sound stuff - here so CMake doesn't stupidly recompile EVERYTHING
# when we change the backend. # when we change the backend.
@ -156,36 +142,14 @@ target_link_libraries(openmw
) )
if (ANDROID) if (ANDROID)
target_link_libraries(openmw
${OGRE_STATIC_PLUGINS}
)
target_link_libraries(openmw target_link_libraries(openmw
${OGRE_STATIC_PLUGINS}
EGL EGL
android android
log log
dl dl
)
target_link_libraries(openmw
boost_atomic
boost_chrono
boost_date_time
boost_filesystem
boost_program_options
boost_system
boost_thread
boost_wave
)
target_link_libraries(openmw
FreeImage
freetype
)
target_link_libraries(openmw
OgreMainStatic
)
target_link_libraries(openmw
MyGUI.OgrePlatform MyGUI.OgrePlatform
MyGUIEngineStatic MyGUIEngineStatic
Plugin_StrangeButtonStatic Plugin_StrangeButtonStatic
@ -194,6 +158,7 @@ BulletCollision
BulletDynamics BulletDynamics
LinearMath LinearMath
) )
endif (ANDROID) endif (ANDROID)
if (USE_SYSTEM_TINYXML) if (USE_SYSTEM_TINYXML)

@ -1,11 +1,7 @@
/*
SDL_android_main.c, placed in the public domain by Sam Lantinga 3/13/14
*/
#include "../../SDL_internal.h" #include "../../SDL_internal.h"
#ifdef __ANDROID__ #ifdef __ANDROID__
/* Include the SDL main definition header */
#include "SDL_main.h" #include "SDL_main.h"
@ -14,24 +10,19 @@
*******************************************************************************/ *******************************************************************************/
#include <jni.h> #include <jni.h>
/* Called before SDL_main() to initialize JNI bindings in SDL library */ /* Called before to initialize JNI bindings */
//extern void SDL_Android_Init(JNIEnv* env, jclass cls);
extern void SDL_Android_Init(JNIEnv* env, jclass cls); extern void SDL_Android_Init(JNIEnv* env, jclass cls);
/* Start up the SDL app */
int Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv* env, jclass cls, jobject obj) int Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv* env, jclass cls, jobject obj)
{ {
/* This interface could expand with ABI negotiation, calbacks, etc. */
SDL_Android_Init(env, cls); SDL_Android_Init(env, cls);
SDL_SetMainReady(); SDL_SetMainReady();
//DL_SetHint(SDL_HINT_RENDER_DRIVER, "software");
// SDL_SetHint(SDL_HINT_SIMULATE_INPUT_EVENTS, "0");
/* Run the application code! */ /* Run the application code! */
@ -50,4 +41,3 @@ int Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv* env, jclass cls, jobject
#endif /* __ANDROID__ */ #endif /* __ANDROID__ */
/* vi: set ts=4 sw=4 expandtab: */

@ -192,7 +192,9 @@ OMW::Engine::Engine(Files::ConfigurationManager& configurationManager)
//kindly ask SDL not to trash our OGL context //kindly ask SDL not to trash our OGL context
//might this be related to http://bugzilla.libsdl.org/show_bug.cgi?id=748 ? //might this be related to http://bugzilla.libsdl.org/show_bug.cgi?id=748 ?
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software"); SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software");
SDL_SetMainReady(); SDL_SetMainReady();
if(SDL_Init(flags) != 0) if(SDL_Init(flags) != 0)
{ {
throw std::runtime_error("Could not initialize SDL! " + std::string(SDL_GetError())); throw std::runtime_error("Could not initialize SDL! " + std::string(SDL_GetError()));
@ -576,4 +578,4 @@ void OMW::Engine::setScriptBlacklist (const std::vector<std::string>& list)
void OMW::Engine::setScriptBlacklistUse (bool use) void OMW::Engine::setScriptBlacklistUse (bool use)
{ {
mScriptBlacklistUse = use; mScriptBlacklistUse = use;
} }

@ -21,6 +21,7 @@
#endif #endif
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_APPLE #if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_APPLE
#include <csignal> #include <csignal>
extern int cc_install_handlers(int argc, char **argv, int num_signals, int *sigs, const char *logfile, int (*user_info)(char*, char*)); extern int cc_install_handlers(int argc, char **argv, int num_signals, int *sigs, const char *logfile, int (*user_info)(char*, char*));
@ -405,3 +406,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
return main(__argc, __argv); return main(__argc, __argv);
} }
#endif #endif

@ -263,14 +263,14 @@ if (ANDROID)
${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES} ${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES}
${Cocoa_LIBRARIES} ${Carbon_LIBRARIES}) ${Cocoa_LIBRARIES} ${Carbon_LIBRARIES})
endif (ANDROID) else ()
if (NOT ANDROID)
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_LIBRARY_FWK} ${ZZip_LIBRARIES} ${ZLIB_LIBRARIES} set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_LIBRARY_FWK} ${ZZip_LIBRARIES} ${ZLIB_LIBRARIES}
${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES} ${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES}
${X11_LIBRARIES} ${X11_Xt_LIBRARIES} ${XAW_LIBRARY} ${X11_Xrandr_LIB} ${X11_LIBRARIES} ${X11_Xt_LIBRARIES} ${XAW_LIBRARY} ${X11_Xrandr_LIB}
${Cocoa_LIBRARIES} ${Carbon_LIBRARIES}) ${Cocoa_LIBRARIES} ${Carbon_LIBRARIES})
endif() endif()
if (NOT ZLIB_FOUND OR NOT ZZip_FOUND) if (NOT ZLIB_FOUND OR NOT ZZip_FOUND)
set(OGRE_DEPS_FOUND FALSE) set(OGRE_DEPS_FOUND FALSE)
endif () endif ()

@ -50,7 +50,7 @@ add_component_dir (misc
) )
add_component_dir (files add_component_dir (files
linuxpath windowspath macospath fixedpath multidircollection collections configurationmanager linuxpath androidpath windowspath macospath fixedpath multidircollection collections configurationmanager
constrainedfiledatastream lowlevelfile constrainedfiledatastream lowlevelfile
) )

@ -0,0 +1,170 @@
#include "androidpath.hpp"
#if defined(__ANDROID__)
#include <cstdlib>
#include <cstring>
#include <pwd.h>
#include <unistd.h>
#include <boost/filesystem/fstream.hpp>
namespace
{
boost::filesystem::path getUserHome()
{
const char* dir = getenv("HOME");
if (dir == NULL)
{
struct passwd* pwd = getpwuid(getuid());
if (pwd != NULL)
{
dir = pwd->pw_dir;
}
}
if (dir == NULL)
return boost::filesystem::path();
else
return boost::filesystem::path(dir);
}
boost::filesystem::path getEnv(const std::string& envVariable, const boost::filesystem::path& fallback)
{
const char* result = getenv(envVariable.c_str());
if (!result)
return fallback;
boost::filesystem::path dir(result);
if (dir.empty())
return fallback;
else
return dir;
}
}
/**
* \namespace Files
*/
namespace Files
{
AndroidPath::AndroidPath(const std::string& application_name)
: mName(application_name)
{
}
boost::filesystem::path AndroidPath::getUserConfigPath() const
{
return getEnv("XDG_CONFIG_HOME", "/sdcard/morrowind/config") / mName;
}
boost::filesystem::path AndroidPath::getUserDataPath() const
{
return getEnv("XDG_DATA_HOME", "/sdcard/morrowind/share") / mName;
}
boost::filesystem::path AndroidPath::getCachePath() const
{
return getEnv("XDG_CACHE_HOME", "/sdcard/morrowind/cache") / mName;
}
boost::filesystem::path AndroidPath::getGlobalConfigPath() const
{
boost::filesystem::path globalPath("/sdcard/morrowind/");
return globalPath / mName;
}
boost::filesystem::path AndroidPath::getLocalPath() const
{
return boost::filesystem::path("./");
}
boost::filesystem::path AndroidPath::getGlobalDataPath() const
{
boost::filesystem::path globalDataPath("/sdcard/morrowind/data");
return globalDataPath / mName;
}
boost::filesystem::path AndroidPath::getInstallPath() const
{
boost::filesystem::path installPath;
boost::filesystem::path homePath = getUserHome();
if (!homePath.empty())
{
boost::filesystem::path wineDefaultRegistry(homePath);
wineDefaultRegistry /= ".wine/system.reg";
if (boost::filesystem::is_regular_file(wineDefaultRegistry))
{
boost::filesystem::ifstream file(wineDefaultRegistry);
bool isRegEntry = false;
std::string line;
std::string mwpath;
while (std::getline(file, line))
{
if (line[0] == '[') // we found an entry
{
if (isRegEntry)
{
break;
}
isRegEntry = (line.find("Softworks\\\\Morrowind]") != std::string::npos);
}
else if (isRegEntry)
{
if (line[0] == '"') // empty line means new registry key
{
std::string key = line.substr(1, line.find('"', 1) - 1);
if (strcasecmp(key.c_str(), "Installed Path") == 0)
{
std::string::size_type valuePos = line.find('=') + 2;
mwpath = line.substr(valuePos, line.rfind('"') - valuePos);
std::string::size_type pos = mwpath.find("\\");
while (pos != std::string::npos)
{
mwpath.replace(pos, 2, "/");
pos = mwpath.find("\\", pos + 1);
}
break;
}
}
}
}
if (!mwpath.empty())
{
// Change drive letter to lowercase, so we could use
// ~/.wine/dosdevices symlinks
mwpath[0] = tolower(mwpath[0]);
installPath /= homePath;
installPath /= ".wine/dosdevices/";
installPath /= mwpath;
if (!boost::filesystem::is_directory(installPath))
{
installPath.clear();
}
}
}
}
return installPath;
}
} /* namespace Files */
#endif /* defined(__linux__) || defined(__FreeBSD__) */

@ -0,0 +1,57 @@
#ifndef COMPONENTS_FILES_LINUXPATH_H
#define COMPONENTS_FILES_LINUXPATH_H
#if defined(__ANDROID__)
#include <boost/filesystem.hpp>
/**
* \namespace Files
*/
namespace Files
{
struct AndroidPath
{
AndroidPath(const std::string& application_name);
/**
* \brief Return path to the user directory.
*/
boost::filesystem::path getUserConfigPath() const;
boost::filesystem::path getUserDataPath() const;
/**
* \brief Return path to the global (system) directory where config files can be placed.
*/
boost::filesystem::path getGlobalConfigPath() const;
/**
* \brief Return path to the runtime configuration directory which is the
* place where an application was started.
*/
boost::filesystem::path getLocalPath() const;
/**
* \brief Return path to the global (system) directory where game files can be placed.
*/
boost::filesystem::path getGlobalDataPath() const;
/**
* \brief
*/
boost::filesystem::path getCachePath() const;
/**
* \brief Gets the path of the installed Morrowind version if there is one.
*/
boost::filesystem::path getInstallPath() const;
std::string mName;
};
} /* namespace Files */
#endif /* defined(__linux__) || defined(__FreeBSD__) */
#endif /* COMPONENTS_FILES_LINUXPATH_H */

@ -4,10 +4,12 @@
#include <string> #include <string>
#include <boost/filesystem.hpp> #include <boost/filesystem.hpp>
#if defined(__linux__) || defined(__FreeBSD__) #if defined(__UNIX__) || defined(__FreeBSD__)
#include <components/files/linuxpath.hpp> #include <components/files/linuxpath.hpp>
namespace Files { typedef LinuxPath TargetPathType; } namespace Files { typedef LinuxPath TargetPathType; }
#elif defined (__ANDROID__)
#include <components/files/androidpath.hpp>
namespace Files { typedef AndroidPath TargetPathType; }
#elif defined(__WIN32) || defined(__WINDOWS__) || defined(_WIN32) #elif defined(__WIN32) || defined(__WINDOWS__) || defined(_WIN32)
#include <components/files/windowspath.hpp> #include <components/files/windowspath.hpp>
namespace Files { typedef WindowsPath TargetPathType; } namespace Files { typedef WindowsPath TargetPathType; }

@ -58,51 +58,33 @@ LinuxPath::LinuxPath(const std::string& application_name)
boost::filesystem::path LinuxPath::getUserConfigPath() const boost::filesystem::path LinuxPath::getUserConfigPath() const
{ {
#ifdef NOT_ANDROID
return getEnv("XDG_CONFIG_HOME", getUserHome() / ".config") / mName; return getEnv("XDG_CONFIG_HOME", getUserHome() / ".config") / mName;
#endif
//else
#ifdef BUILD_ANDROID
return getEnv("XDG_CONFIG_HOME", "/sdcard/morrowind/config") / mName;
#endif
} }
boost::filesystem::path LinuxPath::getUserDataPath() const boost::filesystem::path LinuxPath::getUserDataPath() const
{ {
//if (flag==false)
#ifdef NOT_ANDROID
return getEnv("XDG_DATA_HOME", getUserHome() / ".local/share") / mName; return getEnv("XDG_DATA_HOME", getUserHome() / ".local/share") / mName;
#endif
//else
#ifdef BUILD_ANDROID
return getEnv("XDG_DATA_HOME", "/sdcard/morrowind/share") / mName;
#endif
} }
boost::filesystem::path LinuxPath::getCachePath() const boost::filesystem::path LinuxPath::getCachePath() const
{ {
//if (flag==false)
#ifdef NOT_ANDROID
return getEnv("XDG_CACHE_HOME", getUserHome() / ".cache") / mName; return getEnv("XDG_CACHE_HOME", getUserHome() / ".cache") / mName;
#endif
//else
#ifdef BUILD_ANDROID
return getEnv("XDG_CACHE_HOME", "/sdcard/morrowind/cache") / mName;
#endif
} }
boost::filesystem::path LinuxPath::getGlobalConfigPath() const boost::filesystem::path LinuxPath::getGlobalConfigPath() const
{ {
//if (flag==false)
#ifdef NOT_ANDROID
boost::filesystem::path globalPath("/etc/"); boost::filesystem::path globalPath("/etc/");
#endif
//else
#ifdef BUILD_ANDROID
boost::filesystem::path globalPath("/sdcard/morrowind/");
#endif
return globalPath / mName; return globalPath / mName;
} }
@ -113,15 +95,9 @@ boost::filesystem::path LinuxPath::getLocalPath() const
boost::filesystem::path LinuxPath::getGlobalDataPath() const boost::filesystem::path LinuxPath::getGlobalDataPath() const
{ {
//if (flag==false)
#ifdef NOT_ANDROID
boost::filesystem::path globalDataPath("/usr/share/games/"); boost::filesystem::path globalDataPath("/usr/share/games/");
#endif
//else
#ifdef BUILD_ANDROID
boost::filesystem::path globalDataPath("/sdcard/morrowind/data");
#endif
return globalDataPath / mName; return globalDataPath / mName;
} }

@ -95,7 +95,7 @@ namespace OgreInit
Ogre::Root* OgreInit::init(const std::string &logPath) Ogre::Root* OgreInit::init(const std::string &logPath)
{ {
#ifdef NOT_ANDROID #ifdef NOT ANDROID
// Set up logging first // Set up logging first
new Ogre::LogManager; new Ogre::LogManager;

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Replace org.libsdl.app with the identifier of your game below, e.g.
com.gamemaker.game
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.libsdl.app"
android:versionCode="1"
android:versionName="0.31"
android:installLocation="auto">
<!-- Create a Java class extending SDLActivity and place it in a
directory under src matching the package, e.g.
src/com/gamemaker/game/MyGame.java
then replace "SDLActivity" with the name of your class (e.g. "MyGame")
in the XML below.
An example Java class can be found in README-android.txt
-->
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher1"
android:allowBackup="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:hardwareAccelerated="true" >
<activity android:name="SDLActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="landscape"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<!-- Android 2.3.3 -->
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
<!-- OpenGL ES 2.0 -->
<uses-feature android:glEsVersion="0x00020000" />
<!-- Allow writing to external storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
</manifest>

@ -1,17 +0,0 @@
# This file is used to override default values used by the Ant build system.
#
# This file must be checked into Version Control Systems, as it is
# integral to the build system of your project.
# This file is only used by the Ant script.
# You can use this to override default values such as
# 'source.dir' for the location of your java source folder and
# 'out.dir' for the location of your output folder.
# You can also use it define how the release builds are signed by declaring
# the following properties:
# 'key.store' for the location of your keystore and
# 'key.alias' for the name of the key to use.
# The password will be asked during the build when you use the 'release' target.

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Replace org.libsdl.app with the identifier of your game below, e.g.
com.gamemaker.game
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.libsdl.app"
android:versionCode="1"
android:versionName="0.31"
android:installLocation="auto">
<!-- Create a Java class extending SDLActivity and place it in a
directory under src matching the package, e.g.
src/com/gamemaker/game/MyGame.java
then replace "SDLActivity" with the name of your class (e.g. "MyGame")
in the XML below.
An example Java class can be found in README-android.txt
-->
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher1"
android:allowBackup="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:hardwareAccelerated="true" >
<activity android:name="SDLActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="landscape"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<!-- Android 2.3.3 -->
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
<!-- OpenGL ES 2.0 -->
<uses-feature android:glEsVersion="0x00020000" />
<!-- Allow writing to external storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
</manifest>

Binary file not shown.

@ -1,3 +0,0 @@
# cache for current jar dependency. DO NOT EDIT.
# format is <lastModified> <length> <SHA-1> <path>
# Encoding is UTF-8

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

@ -1,17 +0,0 @@
# This file is used to override default values used by the Ant build system.
#
# This file must be checked in Version Control Systems, as it is
# integral to the build system of your project.
# This file is only used by the Ant script.
# You can use this to override default values such as
# 'source.dir' for the location of your java source folder and
# 'out.dir' for the location of your output folder.
# You can also use it define how the release builds are signed by declaring
# the following properties:
# 'key.store' for the location of your keystore and
# 'key.alias' for the name of the key to use.
# The password will be asked during the build when you use the 'release' target.

@ -1,93 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This should be changed to the name of your project -->
<project name="SDLActivity" 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>

@ -1,11 +0,0 @@
# 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-12

@ -1,6 +0,0 @@
/** Automatically generated file. DO NOT MODIFY */
package org.libsdl.app;
public final class BuildConfig {
public final static boolean DEBUG = true;
}

@ -1,22 +0,0 @@
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package org.libsdl.app;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher1=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040000;
}
}

@ -1 +0,0 @@
include $(call all-subdir-makefiles)

@ -1,6 +0,0 @@
# Uncomment this if you're using STL in your project
# See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information
# APP_STL := stlport_static
APP_ABI := armeabi armeabi-v7a x86

@ -1,19 +0,0 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
SDL_PATH := ../SDL
LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include
# Add your application source files here...
LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.c \
YourSourceHere.c
LOCAL_SHARED_LIBRARIES := SDL2
LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog
include $(BUILD_SHARED_LIBRARY)

@ -1,12 +0,0 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_SRC_FILES := YourSourceHere.c
LOCAL_STATIC_LIBRARIES := SDL2_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,SDL)LOCAL_PATH := $(call my-dir)

@ -1,20 +0,0 @@
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

@ -1,14 +0,0 @@
# 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 edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-14

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, SDLActivity"
/>
</LinearLayout>

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Openmw</string>
</resources>

File diff suppressed because it is too large Load Diff

@ -45,14 +45,14 @@ SDLWindowHelper::SDLWindowHelper (SDL_Window* window, int w, int h,
winHandle = Ogre::StringConverter::toString(WindowContentViewHandle(wmInfo)); winHandle = Ogre::StringConverter::toString(WindowContentViewHandle(wmInfo));
break; break;
#elif BUILD_ANDROID #elif ANDROID
case SDL_SYSWM_ANDROID: case SDL_SYSWM_ANDROID:
winHandle = Ogre::StringConverter::toString((unsigned long)wmInfo.info.android.window); winHandle = Ogre::StringConverter::toString((unsigned long)wmInfo.info.android.window);
winHandleSurface = Ogre::StringConverter::toString((unsigned long)wmInfo.info.android.surface); winHandleSurface = Ogre::StringConverter::toString((unsigned long)wmInfo.info.android.surface);
// flag1=true;
break; break;
#elif NOT_ANDROID #else
case SDL_SYSWM_X11: case SDL_SYSWM_X11:
winHandle = Ogre::StringConverter::toString((unsigned long)wmInfo.info.x11.window); winHandle = Ogre::StringConverter::toString((unsigned long)wmInfo.info.x11.window);
@ -70,12 +70,10 @@ SDLWindowHelper::SDLWindowHelper (SDL_Window* window, int w, int h,
/// \todo externalWindowHandle is deprecated according to the source code. Figure out a way to get parentWindowHandle /// \todo externalWindowHandle is deprecated according to the source code. Figure out a way to get parentWindowHandle
/// to work properly. On Linux/X11 it causes an occasional GLXBadDrawable error. /// to work properly. On Linux/X11 it causes an occasional GLXBadDrawable error.
#ifdef BUILD_ANDROID #ifdef ANDROID
params.insert(std::make_pair("externalWindowHandle", winHandle));
params.insert(std::make_pair("externalSurface", winHandleSurface)); params.insert(std::make_pair("externalSurface", winHandleSurface));
#else
params.insert(std::make_pair("externalWindowHandle", winHandle));
#endif #endif
params.insert(std::make_pair("externalWindowHandle", winHandle));
mWindow = Ogre::Root::getSingleton().createRenderWindow(title, w, h, fullscreen, &params); mWindow = Ogre::Root::getSingleton().createRenderWindow(title, w, h, fullscreen, &params);
} }

Loading…
Cancel
Save