mirror of https://github.com/axmolengine/axmol.git
Merge branch 'master' of https://github.com/cocos2d/cocos2d-x
This commit is contained in:
commit
1dbb503476
|
@ -0,0 +1,29 @@
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := game_logic
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
AppDelegate.cpp \
|
||||||
|
../../lua/cocos2dx_support/LuaEngineImpl.cpp \
|
||||||
|
../../lua/cocos2dx_support/Cocos2dxLuaLoader.cpp \
|
||||||
|
../../lua/cocos2dx_support/LuaCocos2d.cpp \
|
||||||
|
../../lua/cocos2dx_support/LuaEngine.cpp \
|
||||||
|
../../lua/CocosDenshion_support/LuaSimpleAudioEngine.cpp
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../cocos2dx \
|
||||||
|
$(LOCAL_PATH)/../../cocos2dx/platform \
|
||||||
|
$(LOCAL_PATH)/../../cocos2dx/include \
|
||||||
|
$(LOCAL_PATH)/../../cocos2dx/lua_support \
|
||||||
|
$(LOCAL_PATH)/../../CocosDenshion/include \
|
||||||
|
$(LOCAL_PATH)/../../lua/lua \
|
||||||
|
$(LOCAL_PATH)/../../lua/tolua \
|
||||||
|
$(LOCAL_PATH)/../../lua/cocos2dx_support \
|
||||||
|
$(LOCAL_PATH)/../../lua/CocosDenshion_support
|
||||||
|
|
||||||
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../Android/libs/$(TARGET_ARCH_ABI)) \
|
||||||
|
-L$(call host-path, $(LOCAL_PATH)/../../cocos2dx/platform/third_party/android/libraries/$(TARGET_ARCH_ABI)) -lcurl \
|
||||||
|
-lcocos2d \
|
||||||
|
-lcocosdenshion \
|
||||||
|
-llua
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
|
@ -24,7 +24,8 @@ using namespace CocosDenshion;
|
||||||
AppDelegate::AppDelegate()
|
AppDelegate::AppDelegate()
|
||||||
:m_pLuaEngine(NULL)
|
:m_pLuaEngine(NULL)
|
||||||
{
|
{
|
||||||
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);
|
// fixed me
|
||||||
|
//_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);
|
||||||
}
|
}
|
||||||
|
|
||||||
AppDelegate::~AppDelegate()
|
AppDelegate::~AppDelegate()
|
||||||
|
|
|
@ -97,13 +97,13 @@ animation:addFrame(frame0)
|
||||||
animation:addFrame(frame1)
|
animation:addFrame(frame1)
|
||||||
animation:setDelay(0.5)
|
animation:setDelay(0.5)
|
||||||
animation:setName('wait')
|
animation:setName('wait')
|
||||||
--[[
|
|
||||||
animFrames = cocos2d.CCMutableArray_CCSpriteFrame__:new(2)
|
animFrames = cocos2d.CCMutableArray_CCSpriteFrame__:new(2)
|
||||||
animFrames:addObject(frame0)
|
animFrames:addObject(frame0)
|
||||||
animFrames:addObject(frame1)
|
animFrames:addObject(frame1)
|
||||||
--animation = cocos2d.CCAnimation:animationWithName("wait", 0.5, animFrames)
|
--animation = cocos2d.CCAnimation:animationWithName("wait", 0.5, animFrames)
|
||||||
animation = cocos2d.CCAnimation:animationWithFrames(animFrames,0.5)
|
animation = cocos2d.CCAnimation:animationWithFrames(animFrames,0.5)
|
||||||
--]]
|
|
||||||
|
|
||||||
animation = cocos2d.CCAnimation:animationWithFrames(animFrames, 0.5)
|
animation = cocos2d.CCAnimation:animationWithFrames(animFrames, 0.5)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# set params
|
# set params
|
||||||
ANDROID_NDK_ROOT=/cygdrive/e/android-ndk-r5
|
ANDROID_NDK_ROOT=/cygdrive/d/programe/android/ndk/android-ndk-r6b
|
||||||
COCOS2DX_ROOT=/cygdrive/d/Work7/cocos2d-x
|
COCOS2DX_ROOT=/cygdrive/e/cocos2d-x
|
||||||
|
|
||||||
GAME_ROOT=$COCOS2DX_ROOT/HelloLua
|
GAME_ROOT=$COCOS2DX_ROOT/HelloLua
|
||||||
GAME_ANDROID_ROOT=$GAME_ROOT/android
|
GAME_ANDROID_ROOT=$GAME_ROOT/android
|
||||||
|
|
|
@ -6,6 +6,6 @@ subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
||||||
CocosDenshion/android \
|
CocosDenshion/android \
|
||||||
lua/proj.android/jni \
|
lua/proj.android/jni \
|
||||||
))
|
))
|
||||||
subdirs += $(LOCAL_PATH)/helloworld/Android.mk
|
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||||
|
|
||||||
include $(subdirs)
|
include $(subdirs)
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
# it is needed for ndk-r5
|
# it is needed for ndk-r5
|
||||||
APP_STL := stlport_static
|
APP_STL := stlport_static
|
||||||
APP_MODULES := cocos2d cocosdenshion lua game
|
|
||||||
|
APP_MODULES := cocos2d cocosdenshion lua game_logic game
|
|
@ -2,32 +2,16 @@ LOCAL_PATH := $(call my-dir)
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
LOCAL_MODULE := game
|
LOCAL_MODULE := game
|
||||||
|
|
||||||
LOCAL_SRC_FILES := main.cpp \
|
LOCAL_SRC_FILES := main.cpp
|
||||||
../../../Classes/AppDelegate.cpp \
|
|
||||||
../../../../lua/cocos2dx_support/LuaEngineImpl.cpp \
|
|
||||||
../../../../lua/cocos2dx_support/Cocos2dxLuaLoader.cpp \
|
|
||||||
../../../../lua/cocos2dx_support/LuaCocos2d.cpp \
|
|
||||||
../../../../lua/cocos2dx_support/LuaEngine.cpp \
|
|
||||||
../../../../lua/CocosDenshion_support/LuaSimpleAudioEngine.cpp
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/lua_support \
|
|
||||||
$(LOCAL_PATH)/../../../../CocosDenshion/include \
|
|
||||||
$(LOCAL_PATH)/../../../Classes \
|
|
||||||
$(LOCAL_PATH)/../../../../lua/lua \
|
|
||||||
$(LOCAL_PATH)/../../../../lua/tolua \
|
|
||||||
$(LOCAL_PATH)/../../../../lua/cocos2dx_support \
|
$(LOCAL_PATH)/../../../../lua/cocos2dx_support \
|
||||||
$(LOCAL_PATH)/../../../../lua/CocosDenshion_support
|
$(LOCAL_PATH)/../../../Classes
|
||||||
# it is used for ndk-r5
|
|
||||||
# if you build with ndk-r4, comment it
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||||
# because the new Windows toolchain doesn't support Cygwin's drive
|
|
||||||
# mapping (i.e /cygdrive/c/ instead of C:/)
|
|
||||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/armeabi) \
|
|
||||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl \
|
|
||||||
-lcocos2d \
|
-lcocos2d \
|
||||||
-lcocosdenshion \
|
-lgame_logic
|
||||||
-llua
|
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
|
@ -60,6 +60,7 @@ public class HelloLua extends Cocos2dxActivity{
|
||||||
System.loadLibrary("cocos2d");
|
System.loadLibrary("cocos2d");
|
||||||
System.loadLibrary("cocosdenshion");
|
System.loadLibrary("cocosdenshion");
|
||||||
System.loadLibrary("lua");
|
System.loadLibrary("lua");
|
||||||
|
System.loadLibrary("game_logic");
|
||||||
System.loadLibrary("game");
|
System.loadLibrary("game");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := game_logic
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES := AppDelegate.cpp \
|
||||||
|
HelloWorldScene.cpp
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../cocos2dx \
|
||||||
|
$(LOCAL_PATH)/../../cocos2dx/platform \
|
||||||
|
$(LOCAL_PATH)/../../cocos2dx/include \
|
||||||
|
$(LOCAL_PATH)/../../CocosDenshion/include \
|
||||||
|
$(LOCAL_PATH)/../../cocos2dx/lua_support
|
||||||
|
|
||||||
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../android/libs/$(TARGET_ARCH_ABI)) \
|
||||||
|
-lcocos2d -lcocosdenshion \
|
||||||
|
-L$(call host-path, $(LOCAL_PATH)/../../cocos2dx/platform/third_party/android/libraries/$(TARGET_ARCH_ABI)) -lcurl
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
|
@ -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,79 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project name="HelloWorld" 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 build.properties file can be created by you and is never touched
|
|
||||||
by the 'android' tool. This is the place to change some of the
|
|
||||||
default property values used by the Ant rules.
|
|
||||||
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'.
|
|
||||||
|
|
||||||
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="build.properties" />
|
|
||||||
|
|
||||||
<!-- The default.properties file is created and updated by the 'android'
|
|
||||||
tool, as well as ADT.
|
|
||||||
This file is an integral part of the build system for your
|
|
||||||
application and should be checked into Version Control Systems. -->
|
|
||||||
<property file="default.properties" />
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Required pre-setup import -->
|
|
||||||
<import file="${sdk.dir}/tools/ant/pre_setup.xml" />
|
|
||||||
|
|
||||||
|
|
||||||
<!-- extension targets. Uncomment the ones where you want to do custom work
|
|
||||||
in between standard targets -->
|
|
||||||
<!--
|
|
||||||
<target name="-pre-build">
|
|
||||||
</target>
|
|
||||||
<target name="-pre-compile">
|
|
||||||
</target>
|
|
||||||
|
|
||||||
[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}]
|
|
||||||
<target name="-post-compile">
|
|
||||||
</target>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Execute the Android Setup task that will setup some properties
|
|
||||||
specific to the target, and import the build rules files.
|
|
||||||
|
|
||||||
The rules file is imported from
|
|
||||||
<SDK>/tools/ant/
|
|
||||||
Depending on the project type it can be either:
|
|
||||||
- main_rules.xml
|
|
||||||
- lib_rules.xml
|
|
||||||
- test_rules.xml
|
|
||||||
|
|
||||||
To customize existing targets, there are two options:
|
|
||||||
- Customize only one target:
|
|
||||||
- copy/paste the target into this file, *before* the
|
|
||||||
<setup> task.
|
|
||||||
- customize it to your needs.
|
|
||||||
- Customize the whole script.
|
|
||||||
- copy/paste the content of the rules files (minus the top node)
|
|
||||||
into this file, *after* the <setup> task
|
|
||||||
- disable the import of the rules by changing the setup task
|
|
||||||
below to <setup import="false" />.
|
|
||||||
- customize to your needs.
|
|
||||||
-->
|
|
||||||
<setup />
|
|
||||||
|
|
||||||
</project>
|
|
|
@ -1,5 +1,5 @@
|
||||||
# set params
|
# set params
|
||||||
ANDROID_NDK_ROOT=/cygdrive/d/programe/android/ndk/android-ndk-r6
|
ANDROID_NDK_ROOT=/cygdrive/d/programe/android/ndk/android-ndk-r6b
|
||||||
COCOS2DX_ROOT=/cygdrive/e/cocos2d-x
|
COCOS2DX_ROOT=/cygdrive/e/cocos2d-x
|
||||||
HELLOWORLD_ROOT=$COCOS2DX_ROOT/HelloWorld/android
|
HELLOWORLD_ROOT=$COCOS2DX_ROOT/HelloWorld/android
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,6 @@ subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
||||||
cocos2dx \
|
cocos2dx \
|
||||||
CocosDenshion/android \
|
CocosDenshion/android \
|
||||||
))
|
))
|
||||||
subdirs += $(LOCAL_PATH)/helloworld/Android.mk
|
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||||
|
|
||||||
include $(subdirs)
|
include $(subdirs)
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
# it is needed for ndk-r5
|
# it is needed for ndk-r5
|
||||||
APP_STL := stlport_static
|
APP_STL := stlport_static
|
||||||
|
|
||||||
APP_MODULES := cocos2d cocosdenshion helloworld
|
APP_ABI := armeabi armeabi-v7a
|
||||||
|
|
||||||
|
APP_MODULES := cocos2d cocosdenshion game_logic helloworld
|
|
@ -2,23 +2,14 @@ LOCAL_PATH := $(call my-dir)
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
LOCAL_MODULE := helloworld
|
LOCAL_MODULE := helloworld
|
||||||
|
|
||||||
LOCAL_SRC_FILES := main.cpp \
|
LOCAL_SRC_FILES := main.cpp
|
||||||
../../../Classes/AppDelegate.cpp \
|
|
||||||
../../../Classes/HelloWorldScene.cpp
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/lua_support \
|
|
||||||
$(LOCAL_PATH)/../../../../CocosDenshion/include \
|
|
||||||
$(LOCAL_PATH)/../../../Classes
|
$(LOCAL_PATH)/../../../Classes
|
||||||
|
|
||||||
# it is used for ndk-r5
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||||
# if you build with ndk-r4, comment it
|
-lcocos2d -llog -lgame_logic
|
||||||
# because the new Windows toolchain doesn't support Cygwin's drive
|
|
||||||
# mapping (i.e /cygdrive/c/ instead of C:/)
|
|
||||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/armeabi) \
|
|
||||||
-lcocos2d -llog -lcocosdenshion \
|
|
||||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl
|
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
|
@ -1,10 +0,0 @@
|
||||||
# This file is automatically generated by Android Tools.
|
|
||||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
|
||||||
#
|
|
||||||
# This file must *NOT* be checked in Version Control Systems,
|
|
||||||
# as it contains information specific to your local configuration.
|
|
||||||
|
|
||||||
# location of the SDK. This is only used by Ant
|
|
||||||
# For customization when using a Version Control System, please read the
|
|
||||||
# header note.
|
|
||||||
sdk.dir=/home/laschweinski/android/android-sdk-linux_86
|
|
|
@ -1,40 +0,0 @@
|
||||||
-optimizationpasses 5
|
|
||||||
-dontusemixedcaseclassnames
|
|
||||||
-dontskipnonpubliclibraryclasses
|
|
||||||
-dontpreverify
|
|
||||||
-verbose
|
|
||||||
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
|
|
||||||
|
|
||||||
-keep public class * extends android.app.Activity
|
|
||||||
-keep public class * extends android.app.Application
|
|
||||||
-keep public class * extends android.app.Service
|
|
||||||
-keep public class * extends android.content.BroadcastReceiver
|
|
||||||
-keep public class * extends android.content.ContentProvider
|
|
||||||
-keep public class * extends android.app.backup.BackupAgentHelper
|
|
||||||
-keep public class * extends android.preference.Preference
|
|
||||||
-keep public class com.android.vending.licensing.ILicensingService
|
|
||||||
|
|
||||||
-keepclasseswithmembernames class * {
|
|
||||||
native <methods>;
|
|
||||||
}
|
|
||||||
|
|
||||||
-keepclasseswithmembers class * {
|
|
||||||
public <init>(android.content.Context, android.util.AttributeSet);
|
|
||||||
}
|
|
||||||
|
|
||||||
-keepclasseswithmembers class * {
|
|
||||||
public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
||||||
}
|
|
||||||
|
|
||||||
-keepclassmembers class * extends android.app.Activity {
|
|
||||||
public void *(android.view.View);
|
|
||||||
}
|
|
||||||
|
|
||||||
-keepclassmembers enum * {
|
|
||||||
public static **[] values();
|
|
||||||
public static ** valueOf(java.lang.String);
|
|
||||||
}
|
|
||||||
|
|
||||||
-keep class * implements android.os.Parcelable {
|
|
||||||
public static final android.os.Parcelable$Creator *;
|
|
||||||
}
|
|
|
@ -58,6 +58,7 @@ public class ApplicationDemo extends Cocos2dxActivity{
|
||||||
static {
|
static {
|
||||||
System.loadLibrary("cocos2d");
|
System.loadLibrary("cocos2d");
|
||||||
System.loadLibrary("cocosdenshion");
|
System.loadLibrary("cocosdenshion");
|
||||||
|
System.loadLibrary("game_logic");
|
||||||
System.loadLibrary("helloworld");
|
System.loadLibrary("helloworld");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,21 +104,15 @@ tileMap_parallax_nodes/CCTileMapAtlas.cpp \
|
||||||
touch_dispatcher/CCTouchDispatcher.cpp \
|
touch_dispatcher/CCTouchDispatcher.cpp \
|
||||||
touch_dispatcher/CCTouchHandler.cpp
|
touch_dispatcher/CCTouchHandler.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/ \
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/ \
|
||||||
$(LOCAL_PATH)/include \
|
$(LOCAL_PATH)/include \
|
||||||
$(LOCAL_PATH)/platform \
|
$(LOCAL_PATH)/platform \
|
||||||
$(LOCAL_PATH)/platform/third_party/android/iconv \
|
$(LOCAL_PATH)/platform/third_party/android/iconv \
|
||||||
$(LOCAL_PATH)/platform/third_party/android/libpng \
|
$(LOCAL_PATH)/platform/third_party/android/libpng \
|
||||||
$(LOCAL_PATH)/platform/third_party/android/libxml2 \
|
$(LOCAL_PATH)/platform/third_party/android/libxml2 \
|
||||||
$(LOCAL_PATH)/platform/third_party/android/libjpeg
|
$(LOCAL_PATH)/platform/third_party/android/libjpeg
|
||||||
|
|
||||||
# it is used for ndk-r5
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/platform/third_party/android/libraries/$(TARGET_ARCH_ABI)) \
|
||||||
# if you build with ndk-r4, comment it
|
|
||||||
# because the new Windows toolchain doesn't support Cygwin's drive
|
|
||||||
# mapping (i.e /cygdrive/c/ instead of C:/)
|
|
||||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/platform/third_party/android/libraries) \
|
|
||||||
-lGLESv1_CM -llog -lz \
|
-lGLESv1_CM -llog -lz \
|
||||||
-lpng \
|
-lpng \
|
||||||
-lxml2 \
|
-lxml2 \
|
||||||
|
|
|
@ -35,6 +35,7 @@ THE SOFTWARE.
|
||||||
#include "CCGeometry.h"
|
#include "CCGeometry.h"
|
||||||
#include "CCEGLView.h"
|
#include "CCEGLView.h"
|
||||||
#include "CCGL.h"
|
#include "CCGL.h"
|
||||||
|
#include "CCNode.h"
|
||||||
|
|
||||||
namespace cocos2d {
|
namespace cocos2d {
|
||||||
|
|
||||||
|
@ -137,7 +138,6 @@ typedef enum {
|
||||||
class CCLabelTTF;
|
class CCLabelTTF;
|
||||||
class CCScene;
|
class CCScene;
|
||||||
class CCEGLView;
|
class CCEGLView;
|
||||||
class CCNode;
|
|
||||||
class CCProjectionProtocol;
|
class CCProjectionProtocol;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -211,6 +211,19 @@ public:
|
||||||
*/
|
*/
|
||||||
inline bool isSendCleanupToScene(void) { return m_bSendCleanupToScene; }
|
inline bool isSendCleanupToScene(void) { return m_bSendCleanupToScene; }
|
||||||
|
|
||||||
|
/** This object will be visited after the main scene is visited.
|
||||||
|
This object MUST implement the "visit" selector.
|
||||||
|
Useful to hook a notification object, like CCNotifications (http://github.com/manucorporat/CCNotifications)
|
||||||
|
@since v0.99.5
|
||||||
|
*/
|
||||||
|
inline CCNode* getNotificationNode() { return m_pNotificationNode; }
|
||||||
|
inline void setNotificationNode(CCNode *node)
|
||||||
|
{
|
||||||
|
CC_SAFE_RELEASE(m_pNotificationNode);
|
||||||
|
m_pNotificationNode = node;
|
||||||
|
CC_SAFE_RETAIN(m_pNotificationNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// window size
|
// window size
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ namespace cocos2d{
|
||||||
bool CCMenu::init()
|
bool CCMenu::init()
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
return initWithItems(0, NULL);
|
return initWithItems(0, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CCMenu::initWithItems(CCMenuItem* item, va_list args)
|
bool CCMenu::initWithItems(CCMenuItem* item, va_list args)
|
||||||
|
|
|
@ -95,6 +95,13 @@ bool CCImage::initWithImageFile(const char * strPath, EImageFormat eImgFmt/* = e
|
||||||
return initWithImageData(data.getBuffer(), data.getSize(), eImgFmt);
|
return initWithImageData(data.getBuffer(), data.getSize(), eImgFmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CCImage::initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType)
|
||||||
|
{
|
||||||
|
CC_UNUSED_PARAM(imageType);
|
||||||
|
CCFileData data(fullpath, "rb");
|
||||||
|
return initWithImageData(data.getBuffer(), data.getSize(), imageType);
|
||||||
|
}
|
||||||
|
|
||||||
bool CCImage::initWithImageData(void * pData,
|
bool CCImage::initWithImageData(void * pData,
|
||||||
int nDataLen,
|
int nDataLen,
|
||||||
EImageFormat eFmt/* = eSrcFmtPng*/,
|
EImageFormat eFmt/* = eSrcFmtPng*/,
|
||||||
|
|
|
@ -63,6 +63,15 @@ public:
|
||||||
*/
|
*/
|
||||||
bool initWithImageFile(const char * strPath, EImageFormat imageType = kFmtPng);
|
bool initWithImageFile(const char * strPath, EImageFormat imageType = kFmtPng);
|
||||||
|
|
||||||
|
/*
|
||||||
|
@brief The same meaning as initWithImageFile, but it is thread safe. It is casued by
|
||||||
|
loadImage() in CCTextureCache.cpp.
|
||||||
|
@param fullpath full path of the file
|
||||||
|
@param imageType the type of image, now only support tow types.
|
||||||
|
@return true if load correctly
|
||||||
|
*/
|
||||||
|
bool initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType = kFmtPng);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@brief Load image from stream buffer.
|
@brief Load image from stream buffer.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
/****************************************************************************
|
||||||
|
Copyright (c) 2010 cocos2d-x.org
|
||||||
|
|
||||||
|
http://www.cocos2d-x.org
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
****************************************************************************/
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#include "CCThread.h"
|
||||||
|
|
||||||
|
NS_CC_BEGIN;
|
||||||
|
|
||||||
|
CCThread::~CCThread()
|
||||||
|
{
|
||||||
|
[(id)m_pAutoreasePool release];
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCThread::createAutoreleasePool()
|
||||||
|
{
|
||||||
|
m_pAutoreasePool = [[NSAutoreleasePool alloc] init];
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_CC_END;
|
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libcurl.a.REMOVED.git-id
vendored
Normal file
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libcurl.a.REMOVED.git-id
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
89c49d395ece44cf2d891cd5c2a84f819e229d30
|
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libiconv.a.REMOVED.git-id
vendored
Normal file
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libiconv.a.REMOVED.git-id
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ed7341a4fe082dfc3323ab2808729baf6faf72a6
|
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libjpeg.a.REMOVED.git-id
vendored
Normal file
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libjpeg.a.REMOVED.git-id
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
09011474ff4df140a34e82e7cdb5c86cf9a522bc
|
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libpng.a.REMOVED.git-id
vendored
Normal file
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libpng.a.REMOVED.git-id
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
d3c4c2e8858fd0eb83f2f4f8e501d10394836add
|
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libxml2.a.REMOVED.git-id
vendored
Normal file
1
cocos2dx/platform/third_party/android/libraries/armeabi-v7a/libxml2.a.REMOVED.git-id
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
9666bcac0a33d1dcfd5361266eca55f1bace1daf
|
|
@ -0,0 +1 @@
|
||||||
|
fca1b81187a22728c6c352f121ac03f8abf2ae75
|
1
cocos2dx/platform/third_party/android/libraries/x86/libiconv.a.REMOVED.git-id
vendored
Normal file
1
cocos2dx/platform/third_party/android/libraries/x86/libiconv.a.REMOVED.git-id
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
f8727a9fe8bb39473706cd3b98cb9a12a4304c6f
|
|
@ -0,0 +1 @@
|
||||||
|
42f26e695ffe165b38102fd3b9bd0e2be617bf2b
|
|
@ -0,0 +1 @@
|
||||||
|
e3e0e06dbb367746764f6b1146884f6ef75bb5a2
|
|
@ -0,0 +1 @@
|
||||||
|
3100e9f83cf078971b4b48b757bf5ebac2d02d37
|
|
@ -124,7 +124,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalIncludeDirectories="..\platform;..\platform\third_party\win32\iconv;..\platform\third_party\win32\zlib;..\platform\third_party\win32\libpng;..\platform\third_party\win32\libjpeg;..\platform\third_party\win32\libxml2;..\platform\third_party\win32\OGLES;..\include;.."
|
AdditionalIncludeDirectories="..\platform;..\platform\third_party\win32\iconv;..\platform\third_party\win32\zlib;..\platform\third_party\win32\libpng;..\platform\third_party\win32\libjpeg;..\platform\third_party\win32\libxml2;..\platform\third_party\win32\pthread;..\platform\third_party\win32\OGLES;..\include;.."
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES"
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="libEGL.lib libgles_cm.lib libxml2.lib libzlib.lib libpng.lib libjpeg.lib libiconv.lib"
|
AdditionalDependencies="libEGL.lib libgles_cm.lib libxml2.lib libzlib.lib libpng.lib libjpeg.lib libiconv.lib pthreadVCE2.lib"
|
||||||
OutputFile="$(OutDir)\$(ProjectName).dll"
|
OutputFile="$(OutDir)\$(ProjectName).dll"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
AdditionalLibraryDirectories=""$(OutDir)""
|
AdditionalLibraryDirectories=""$(OutDir)""
|
||||||
|
|
|
@ -23,11 +23,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
#define COCOS2D_DEBUG 1
|
|
||||||
|
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <cctype>
|
#include <cctype>
|
||||||
|
#include <queue>
|
||||||
#include "CCTextureCache.h"
|
#include "CCTextureCache.h"
|
||||||
#include "CCTexture2D.h"
|
#include "CCTexture2D.h"
|
||||||
#include "ccMacros.h"
|
#include "ccMacros.h"
|
||||||
|
@ -50,13 +50,23 @@ typedef struct _AsyncStruct
|
||||||
SEL_CallFuncO selector;
|
SEL_CallFuncO selector;
|
||||||
} AsyncStruct;
|
} AsyncStruct;
|
||||||
|
|
||||||
static cocos2d::CCImage* s_pImageAsync;
|
typedef struct _ImageInfo
|
||||||
// only allow one loading thread at a time
|
{
|
||||||
static pthread_mutex_t s_loadingThreadMutex;
|
AsyncStruct *asyncStruct;
|
||||||
|
CCImage *image;
|
||||||
|
} ImageInfo;
|
||||||
|
|
||||||
|
static pthread_t s_loadingThread;
|
||||||
|
|
||||||
|
static pthread_mutex_t s_asyncStructQueueMutex;
|
||||||
|
static pthread_mutex_t s_ImageInfoMutex;
|
||||||
|
|
||||||
// condition
|
// condition
|
||||||
static pthread_cond_t s_condition;
|
static pthread_cond_t s_condition;
|
||||||
static pthread_mutex_t s_conditionMutex;
|
static pthread_mutex_t s_conditionMutex;
|
||||||
static AsyncStruct *s_pAsyncObject;
|
|
||||||
|
static std::queue<AsyncStruct*> *s_pAsyncStructQueue;
|
||||||
|
static std::queue<ImageInfo*> *s_pImageQueue;
|
||||||
|
|
||||||
static void* loadImage(void* data)
|
static void* loadImage(void* data)
|
||||||
{
|
{
|
||||||
|
@ -64,41 +74,87 @@ static void* loadImage(void* data)
|
||||||
CCThread thread;
|
CCThread thread;
|
||||||
thread.createAutoreleasePool();
|
thread.createAutoreleasePool();
|
||||||
|
|
||||||
if (! ((AsyncStruct*)data)->filename.c_str())
|
AsyncStruct *pAsyncStruct = NULL;
|
||||||
|
CCImage *pImage = NULL;
|
||||||
|
|
||||||
|
while (true)
|
||||||
{
|
{
|
||||||
return 0;
|
std::queue<AsyncStruct*> *pQueue = s_pAsyncStructQueue;
|
||||||
}
|
|
||||||
|
|
||||||
// one loading thread at a time
|
pthread_mutex_lock(&s_asyncStructQueueMutex);
|
||||||
pthread_mutex_lock(&s_loadingThreadMutex);
|
if (pQueue->empty())
|
||||||
|
{
|
||||||
|
pthread_mutex_unlock(&s_asyncStructQueueMutex);
|
||||||
|
|
||||||
s_pAsyncObject = (AsyncStruct*)data;
|
/* Wait for rendering thread to add loading image info.
|
||||||
const char *filename = s_pAsyncObject->filename.c_str();
|
* The implemntation of pthread_cond_wait() of win32 has a bug, it can not
|
||||||
|
* wait the condition at first time.
|
||||||
CCLOG("thread 0x%x is loading image %s", pthread_self(), filename);
|
*/
|
||||||
|
|
||||||
CCImage *tmpImage = new CCImage();
|
|
||||||
tmpImage->initWithImageFile(filename);
|
|
||||||
s_pImageAsync = tmpImage;
|
|
||||||
|
|
||||||
/* Wait for rendering thread to comsume the image.
|
|
||||||
* The implemntation of pthread_cond_wait() of win32 has a bug, it can not
|
|
||||||
* wait the condition at first time.
|
|
||||||
*/
|
|
||||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
|
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
|
||||||
static bool firstRun = true;
|
static bool firstRun = true;
|
||||||
if (firstRun)
|
if (firstRun)
|
||||||
{
|
{
|
||||||
pthread_cond_wait(&s_condition, &s_conditionMutex);
|
pthread_cond_wait(&s_condition, &s_conditionMutex);
|
||||||
firstRun = false;
|
firstRun = false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
pthread_cond_wait(&s_condition, &s_conditionMutex);
|
pthread_cond_wait(&s_condition, &s_conditionMutex);
|
||||||
|
|
||||||
CCLOG("thread 0x%x has pass the condition, new loading thread is avalable", pthread_self());
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// get async struct from queue
|
||||||
|
pAsyncStruct = pQueue->front();
|
||||||
|
pQueue->pop();
|
||||||
|
pthread_mutex_unlock(&s_asyncStructQueueMutex);
|
||||||
|
}
|
||||||
|
|
||||||
pthread_mutex_unlock(&s_loadingThreadMutex);
|
const char *filename = pAsyncStruct->filename.c_str();
|
||||||
|
|
||||||
|
CCLOG("thread 0x%x is loading image %s", pthread_self(), filename);
|
||||||
|
|
||||||
|
// generate image
|
||||||
|
CCImage *pImage = NULL;
|
||||||
|
if (std::string::npos != pAsyncStruct->filename.find(".jpg") || std::string::npos != pAsyncStruct->filename.find(".jpeg"))
|
||||||
|
{
|
||||||
|
pImage = new CCImage();
|
||||||
|
if (!pImage->initWithImageFileThreadSafe(filename, cocos2d::CCImage::kFmtJpg))
|
||||||
|
{
|
||||||
|
delete pImage;
|
||||||
|
CCLOG("can not load %s", filename);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (std::string::npos != pAsyncStruct->filename.find(".png"))
|
||||||
|
{
|
||||||
|
pImage = new CCImage();
|
||||||
|
if (! pImage->initWithImageFileThreadSafe(filename, cocos2d::CCImage::kFmtPng))
|
||||||
|
{
|
||||||
|
delete pImage;
|
||||||
|
CCLOG("can not load %s", filename);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CCLog("unsupportted format %s",filename);
|
||||||
|
delete pAsyncStruct;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// generate image info
|
||||||
|
ImageInfo *pImageInfo = new ImageInfo();
|
||||||
|
pImageInfo->asyncStruct = pAsyncStruct;
|
||||||
|
pImageInfo->image = pImage;
|
||||||
|
|
||||||
|
// put the image info into the queue
|
||||||
|
pthread_mutex_lock(&s_ImageInfoMutex);
|
||||||
|
s_pImageQueue->push(pImageInfo);
|
||||||
|
pthread_mutex_unlock(&s_ImageInfoMutex);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,40 +222,60 @@ void CCTextureCache::addImageAsync(const char *path, SelectorProtocol *target, S
|
||||||
// lazy init
|
// lazy init
|
||||||
static bool firstRun = true;
|
static bool firstRun = true;
|
||||||
if (firstRun)
|
if (firstRun)
|
||||||
{
|
{
|
||||||
pthread_mutex_init(&s_loadingThreadMutex, NULL);
|
s_pAsyncStructQueue = new queue<AsyncStruct*>();
|
||||||
|
s_pImageQueue = new queue<ImageInfo*>();
|
||||||
|
|
||||||
|
pthread_mutex_init(&s_asyncStructQueueMutex, NULL);
|
||||||
pthread_mutex_init(&s_conditionMutex, NULL);
|
pthread_mutex_init(&s_conditionMutex, NULL);
|
||||||
pthread_cond_init(&s_condition, NULL);
|
pthread_cond_init(&s_condition, NULL);
|
||||||
s_pImageAsync = NULL;
|
pthread_mutex_init(&s_ImageInfoMutex, NULL);
|
||||||
|
pthread_create(&s_loadingThread, NULL, loadImage, NULL);
|
||||||
|
|
||||||
|
CCScheduler::sharedScheduler()->scheduleSelector(schedule_selector(CCTextureCache::addImageAsyncCallBack), this, 0, false);
|
||||||
|
|
||||||
CCScheduler::sharedScheduler()->scheduleSelector(schedule_selector(CCTextureCache::addImageAsyncCallBack), this, 1.0f, false);
|
|
||||||
|
|
||||||
firstRun = false;
|
firstRun = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// generate async struct
|
||||||
AsyncStruct *data = new AsyncStruct();
|
AsyncStruct *data = new AsyncStruct();
|
||||||
data->filename = fullpath.c_str();
|
data->filename = fullpath.c_str();
|
||||||
data->target = target;
|
data->target = target;
|
||||||
data->selector = selector;
|
data->selector = selector;
|
||||||
|
|
||||||
// load image in a new thread
|
// add async struct into queue
|
||||||
pthread_t p;
|
pthread_mutex_lock(&s_asyncStructQueueMutex);
|
||||||
pthread_create(&p, NULL, loadImage, (void*)data);
|
s_pAsyncStructQueue->push(data);
|
||||||
|
pthread_cond_signal(&s_condition);
|
||||||
|
pthread_mutex_unlock(&s_asyncStructQueueMutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCTextureCache::addImageAsyncCallBack(ccTime dt)
|
void CCTextureCache::addImageAsyncCallBack(ccTime dt)
|
||||||
{
|
{
|
||||||
// the image is generated in loading thread
|
// the image is generated in loading thread
|
||||||
if (s_pImageAsync != NULL)
|
std::queue<ImageInfo*> *imagesQueue = s_pImageQueue;
|
||||||
|
|
||||||
|
pthread_mutex_lock(&s_ImageInfoMutex);
|
||||||
|
if (imagesQueue->empty())
|
||||||
{
|
{
|
||||||
|
pthread_mutex_unlock(&s_ImageInfoMutex);
|
||||||
SelectorProtocol *target = s_pAsyncObject->target;
|
}
|
||||||
SEL_CallFuncO selector = s_pAsyncObject->selector;
|
else
|
||||||
const char* filename = s_pAsyncObject->filename.c_str();
|
{
|
||||||
|
ImageInfo *pImageInfo = imagesQueue->front();
|
||||||
|
imagesQueue->pop();
|
||||||
|
pthread_mutex_unlock(&s_ImageInfoMutex);
|
||||||
|
|
||||||
|
AsyncStruct *pAsyncStruct = pImageInfo->asyncStruct;
|
||||||
|
CCImage *pImage = pImageInfo->image;
|
||||||
|
|
||||||
|
SelectorProtocol *target = pAsyncStruct->target;
|
||||||
|
SEL_CallFuncO selector = pAsyncStruct->selector;
|
||||||
|
const char* filename = pAsyncStruct->filename.c_str();
|
||||||
|
|
||||||
// generate texture in render thread
|
// generate texture in render thread
|
||||||
CCTexture2D *texture = new CCTexture2D();
|
CCTexture2D *texture = new CCTexture2D();
|
||||||
texture->initWithImage(s_pImageAsync);
|
texture->initWithImage(pImage);
|
||||||
|
|
||||||
// cache the texture
|
// cache the texture
|
||||||
m_pTextures->setObject(texture, filename);
|
m_pTextures->setObject(texture, filename);
|
||||||
|
@ -207,13 +283,9 @@ void CCTextureCache::addImageAsyncCallBack(ccTime dt)
|
||||||
|
|
||||||
(target->*selector)(texture);
|
(target->*selector)(texture);
|
||||||
|
|
||||||
// the object is newed in addImageAsync() and will be assigned in the loading thread
|
delete pImage;
|
||||||
delete s_pAsyncObject;
|
delete pAsyncStruct;
|
||||||
|
delete pImageInfo;
|
||||||
delete s_pImageAsync;
|
|
||||||
s_pImageAsync = NULL;
|
|
||||||
|
|
||||||
pthread_cond_signal(&s_condition);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,15 +11,15 @@ if not exist "%cd%\create-android-project.bat" echo Error!!! You should run it u
|
||||||
if not exist "%~dpn0.sh" echo Script "%~dpn0.sh" not found & pause & exit 3
|
if not exist "%~dpn0.sh" echo Script "%~dpn0.sh" not found & pause & exit 3
|
||||||
|
|
||||||
:: modify it to work under your environment
|
:: modify it to work under your environment
|
||||||
set _CYGBIN=f:\cygwin\bin
|
set _CYGBIN=d:\programe\cygwin\bin
|
||||||
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4
|
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4
|
||||||
|
|
||||||
:: modify it to work under your environment
|
:: modify it to work under your environment
|
||||||
set _ANDROIDTOOLS=d:\android-sdk\tools
|
set _ANDROIDTOOLS=d:\programe\android\android-sdk\tools
|
||||||
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5
|
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5
|
||||||
|
|
||||||
:: modify it to work under your environment
|
:: modify it to work under your environment
|
||||||
set _NDKROOT=e:\android-ndk-r5
|
set _NDKROOT=d:\programe\android\ndk\android-ndk-r6b
|
||||||
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
|
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
|
||||||
|
|
||||||
:: create android project
|
:: create android project
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
dd5941759f1e46eade02974d86ba7cbe12e19a17
|
951c67fac55daba4ee275b27a56bc63831d0ac44
|
|
@ -2,22 +2,14 @@ LOCAL_PATH := $(call my-dir)
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
LOCAL_MODULE := game
|
LOCAL_MODULE := game
|
||||||
|
|
||||||
LOCAL_SRC_FILES := main.cpp \
|
LOCAL_SRC_FILES := main.cpp
|
||||||
../../../Classes/AppDelegate.cpp \
|
|
||||||
../../../Classes/HelloWorldScene.cpp
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
||||||
$(LOCAL_PATH)/../../../../CocosDenshion/include \
|
$(LOCAL_PATH)/../../../Classes
|
||||||
$(LOCAL_PATH)/../../../Classes
|
|
||||||
|
|
||||||
# it is used for ndk-r5
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||||
# if you build with ndk-r4, comment it
|
-lcocos2d -llog -lgame_logic
|
||||||
# because the new Windows toolchain doesn't support Cygwin's drive
|
|
||||||
# mapping (i.e /cygdrive/c/ instead of C:/)
|
|
||||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/armeabi) \
|
|
||||||
-lcocos2d -llog -lcocosdenshion \
|
|
||||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl
|
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
|
@ -5,6 +5,6 @@ subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
||||||
cocos2dx \
|
cocos2dx \
|
||||||
CocosDenshion/android \
|
CocosDenshion/android \
|
||||||
))
|
))
|
||||||
subdirs += $(LOCAL_PATH)/helloworld/Android.mk
|
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||||
|
|
||||||
include $(subdirs)
|
include $(subdirs)
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# it is needed for ndk-r5
|
# it is needed for ndk-r5
|
||||||
APP_STL := stlport_static
|
APP_STL := stlport_static
|
||||||
APP_MODULES := cocos2d cocosdenshion game
|
APP_MODULES := cocos2d cocosdenshion game_logic game
|
|
@ -33,7 +33,7 @@ move_files_into_android(){
|
||||||
|
|
||||||
copy_cpp_h_from_helloworld(){
|
copy_cpp_h_from_helloworld(){
|
||||||
mkdir $APP_DIR/Classes
|
mkdir $APP_DIR/Classes
|
||||||
for file in `ls $HELLOWORLD_ROOT/Classes/* | grep -E '.*\.[cpp|h]' `
|
for file in `ls $HELLOWORLD_ROOT/Classes/* | grep -E '.*\.[cpp|h|mk]' `
|
||||||
do
|
do
|
||||||
if [ -f $file ];then
|
if [ -f $file ];then
|
||||||
cp $file $APP_DIR/Classes
|
cp $file $APP_DIR/Classes
|
||||||
|
|
|
@ -0,0 +1,108 @@
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := game_logic
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
tests/AccelerometerTest/AccelerometerTest.cpp \
|
||||||
|
tests/ActionManagerTest/ActionManagerTest.cpp \
|
||||||
|
tests/ActionsTest/ActionsTest.cpp \
|
||||||
|
tests/Box2DTest/Box2dTest.cpp \
|
||||||
|
tests/Box2DTestBed/Box2dView.cpp \
|
||||||
|
tests/Box2DTestBed/GLES-Render.cpp \
|
||||||
|
tests/Box2DTestBed/Test.cpp \
|
||||||
|
tests/Box2DTestBed/TestEntries.cpp \
|
||||||
|
tests/BugsTest/Bug-1159.cpp \
|
||||||
|
tests/BugsTest/Bug-1174.cpp \
|
||||||
|
tests/BugsTest/Bug-350.cpp \
|
||||||
|
tests/BugsTest/Bug-422.cpp \
|
||||||
|
tests/BugsTest/Bug-624.cpp \
|
||||||
|
tests/BugsTest/Bug-886.cpp \
|
||||||
|
tests/BugsTest/Bug-899.cpp \
|
||||||
|
tests/BugsTest/Bug-914.cpp \
|
||||||
|
tests/BugsTest/BugsTest.cpp \
|
||||||
|
tests/BugsTest/Bug-458/Bug-458.cpp \
|
||||||
|
tests/BugsTest/Bug-458/QuestionContainerSprite.cpp \
|
||||||
|
tests/ChipmunkTest/Bounce.cpp \
|
||||||
|
tests/ChipmunkTest/Joints.cpp \
|
||||||
|
tests/ChipmunkTest/LogoSmash.cpp \
|
||||||
|
tests/ChipmunkTest/MagnetsElectric.cpp \
|
||||||
|
tests/ChipmunkTest/OneWay.cpp \
|
||||||
|
tests/ChipmunkTest/Planet.cpp \
|
||||||
|
tests/ChipmunkTest/Player.cpp \
|
||||||
|
tests/ChipmunkTest/Plink.cpp \
|
||||||
|
tests/ChipmunkTest/Pump.cpp \
|
||||||
|
tests/ChipmunkTest/PyramidStack.cpp \
|
||||||
|
tests/ChipmunkTest/PyramidTopple.cpp \
|
||||||
|
tests/ChipmunkTest/Query.cpp \
|
||||||
|
tests/ChipmunkTest/Sensors.cpp \
|
||||||
|
tests/ChipmunkTest/Simple.cpp \
|
||||||
|
tests/ChipmunkTest/Springies.cpp \
|
||||||
|
tests/ChipmunkTest/Tank.cpp \
|
||||||
|
tests/ChipmunkTest/TheoJansen.cpp \
|
||||||
|
tests/ChipmunkTest/Tumble.cpp \
|
||||||
|
tests/ChipmunkTest/UnsafeOps.cpp \
|
||||||
|
tests/ChipmunkTest/cocos2dChipmunkDemo.cpp \
|
||||||
|
tests/ChipmunkTest/drawSpace.cpp \
|
||||||
|
tests/ClickAndMoveTest/ClickAndMoveTest.cpp \
|
||||||
|
tests/CocosDenshionTest/CocosDenshionTest.cpp \
|
||||||
|
tests/CocosNodeTest/CocosNodeTest.cpp \
|
||||||
|
tests/CurlTest/CurlTest.cpp \
|
||||||
|
tests/CurrentLanguageTest/CurrentLanguageTest.cpp \
|
||||||
|
tests/DirectorTest/DirectorTest.cpp \
|
||||||
|
tests/DrawPrimitivesTest/DrawPrimitivesTest.cpp \
|
||||||
|
tests/EaseActionsTest/EaseActionsTest.cpp \
|
||||||
|
tests/EffectsAdvancedTest/EffectsAdvancedTest.cpp \
|
||||||
|
tests/EffectsTest/EffectsTest.cpp \
|
||||||
|
tests/FontTest/FontTest.cpp \
|
||||||
|
tests/HiResTest/HiResTest.cpp \
|
||||||
|
tests/IntervalTest/IntervalTest.cpp \
|
||||||
|
tests/KeypadTest/KeypadTest.cpp \
|
||||||
|
tests/LabelTest/LabelTest.cpp \
|
||||||
|
tests/LayerTest/LayerTest.cpp \
|
||||||
|
tests/TextInputTest/TextInputTest.cpp \
|
||||||
|
tests/MenuTest/MenuTest.cpp \
|
||||||
|
tests/MotionStreakTest/MotionStreakTest.cpp \
|
||||||
|
tests/ParallaxTest/ParallaxTest.cpp \
|
||||||
|
tests/ParticleTest/ParticleTest.cpp \
|
||||||
|
tests/PerformanceTest/PerformanceNodeChildrenTest.cpp \
|
||||||
|
tests/PerformanceTest/PerformanceParticleTest.cpp \
|
||||||
|
tests/PerformanceTest/PerformanceSpriteTest.cpp \
|
||||||
|
tests/PerformanceTest/PerformanceTest.cpp \
|
||||||
|
tests/PerformanceTest/PerformanceTextureTest.cpp \
|
||||||
|
tests/PerformanceTest/PerformanceTouchesTest.cpp \
|
||||||
|
tests/ProgressActionsTest/ProgressActionsTest.cpp \
|
||||||
|
tests/RenderTextureTest/RenderTextureTest.cpp \
|
||||||
|
tests/RotateWorldTest/RotateWorldTest.cpp \
|
||||||
|
tests/SceneTest/SceneTest.cpp \
|
||||||
|
tests/SchedulerTest/SchedulerTest.cpp \
|
||||||
|
tests/SpriteTest/SpriteTest.cpp \
|
||||||
|
tests/TextureCacheTest/TextureCacheTest.cpp \
|
||||||
|
tests/Texture2dTest/Texture2dTest.cpp \
|
||||||
|
tests/TileMapTest/TileMapTest.cpp \
|
||||||
|
tests/TouchesTest/Ball.cpp \
|
||||||
|
tests/TouchesTest/Paddle.cpp \
|
||||||
|
tests/TouchesTest/TouchesTest.cpp \
|
||||||
|
tests/TransitionsTest/TransitionsTest.cpp \
|
||||||
|
tests/UserDefaultTest/UserDefaultTest.cpp \
|
||||||
|
tests/ZwoptexTest/ZwoptexTest.cpp \
|
||||||
|
tests/controller.cpp \
|
||||||
|
tests/testBasic.cpp \
|
||||||
|
AppDelegate.cpp
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../cocos2dx \
|
||||||
|
$(LOCAL_PATH)/../cocos2dx/include \
|
||||||
|
$(LOCAL_PATH)/../cocos2dx/platform \
|
||||||
|
$(LOCAL_PATH)/../cocos2dx/platform/third_party/android/ \
|
||||||
|
$(LOCAL_PATH)/../chipmunk/include/chipmunk \
|
||||||
|
$(LOCAL_PATH)/../CocosDenshion/include \
|
||||||
|
$(LOCAL_PATH)/..
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/test.android/libs/$(TARGET_ARCH_ABI)) \
|
||||||
|
-lGLESv1_CM \
|
||||||
|
-lcocos2d -llog -lcocosdenshion \
|
||||||
|
-lbox2d -lchipmunk \
|
||||||
|
-L$(call host-path, $(LOCAL_PATH)/../cocos2dx/platform/third_party/android/libraries/$(TARGET_ARCH_ABI)) -lcurl
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# set params
|
# set params
|
||||||
ANDROID_NDK_ROOT=/cygdrive/d/programe/android/ndk/android-ndk-r5
|
ANDROID_NDK_ROOT=/cygdrive/d/programe/android/ndk/android-ndk-r6b
|
||||||
COCOS2DX_ROOT=/cygdrive/e/cocos2d-x
|
COCOS2DX_ROOT=/cygdrive/e/cocos2d-x
|
||||||
TESTS_ROOT=$COCOS2DX_ROOT/tests/test.android
|
TESTS_ROOT=$COCOS2DX_ROOT/tests/test.android
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,10 @@ include $(CLEAR_VARS)
|
||||||
subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
||||||
Box2D \
|
Box2D \
|
||||||
chipmunk \
|
chipmunk \
|
||||||
cocos2dx \
|
cocos2dx \
|
||||||
CocosDenshion/android \
|
CocosDenshion/android \
|
||||||
))
|
))
|
||||||
|
|
||||||
subdirs += $(LOCAL_PATH)/tests/Android.mk
|
subdirs += $(LOCAL_PATH)/../../Android.mk $(LOCAL_PATH)/tests/Android.mk
|
||||||
|
|
||||||
include $(subdirs)
|
include $(subdirs)
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
APP_STL := stlport_static
|
APP_STL := stlport_static
|
||||||
APP_ABI := armeabi armeabi-v7a
|
APP_ABI := armeabi armeabi-v7a
|
||||||
|
|
||||||
APP_MODULES := cocos2d cocosdenshion chipmunk box2d tests
|
APP_MODULES := cocos2d cocosdenshion chipmunk box2d game_logic tests
|
||||||
|
|
|
@ -2,113 +2,17 @@ LOCAL_PATH := $(call my-dir)
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
LOCAL_MODULE := tests
|
LOCAL_MODULE := tests
|
||||||
|
|
||||||
LOCAL_SRC_FILES := main.cpp \
|
LOCAL_SRC_FILES := main.cpp
|
||||||
../../../tests/AccelerometerTest/AccelerometerTest.cpp \
|
|
||||||
../../../tests/ActionManagerTest/ActionManagerTest.cpp \
|
|
||||||
../../../tests/ActionsTest/ActionsTest.cpp \
|
|
||||||
../../../tests/Box2DTest/Box2dTest.cpp \
|
|
||||||
../../../tests/Box2DTestBed/Box2dView.cpp \
|
|
||||||
../../../tests/Box2DTestBed/GLES-Render.cpp \
|
|
||||||
../../../tests/Box2DTestBed/Test.cpp \
|
|
||||||
../../../tests/Box2DTestBed/TestEntries.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-1159.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-1174.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-350.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-422.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-624.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-886.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-899.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-914.cpp \
|
|
||||||
../../../tests/BugsTest/BugsTest.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-458/Bug-458.cpp \
|
|
||||||
../../../tests/BugsTest/Bug-458/QuestionContainerSprite.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Bounce.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Joints.cpp \
|
|
||||||
../../../tests/ChipmunkTest/LogoSmash.cpp \
|
|
||||||
../../../tests/ChipmunkTest/MagnetsElectric.cpp \
|
|
||||||
../../../tests/ChipmunkTest/OneWay.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Planet.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Player.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Plink.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Pump.cpp \
|
|
||||||
../../../tests/ChipmunkTest/PyramidStack.cpp \
|
|
||||||
../../../tests/ChipmunkTest/PyramidTopple.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Query.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Sensors.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Simple.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Springies.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Tank.cpp \
|
|
||||||
../../../tests/ChipmunkTest/TheoJansen.cpp \
|
|
||||||
../../../tests/ChipmunkTest/Tumble.cpp \
|
|
||||||
../../../tests/ChipmunkTest/UnsafeOps.cpp \
|
|
||||||
../../../tests/ChipmunkTest/cocos2dChipmunkDemo.cpp \
|
|
||||||
../../../tests/ChipmunkTest/drawSpace.cpp \
|
|
||||||
../../../tests/ClickAndMoveTest/ClickAndMoveTest.cpp \
|
|
||||||
../../../tests/CocosDenshionTest/CocosDenshionTest.cpp \
|
|
||||||
../../../tests/CocosNodeTest/CocosNodeTest.cpp \
|
|
||||||
../../../tests/CurlTest/CurlTest.cpp \
|
|
||||||
../../../tests/CurrentLanguageTest/CurrentLanguageTest.cpp \
|
|
||||||
../../../tests/DirectorTest/DirectorTest.cpp \
|
|
||||||
../../../tests/DrawPrimitivesTest/DrawPrimitivesTest.cpp \
|
|
||||||
../../../tests/EaseActionsTest/EaseActionsTest.cpp \
|
|
||||||
../../../tests/EffectsAdvancedTest/EffectsAdvancedTest.cpp \
|
|
||||||
../../../tests/EffectsTest/EffectsTest.cpp \
|
|
||||||
../../../tests/FontTest/FontTest.cpp \
|
|
||||||
../../../tests/HiResTest/HiResTest.cpp \
|
|
||||||
../../../tests/IntervalTest/IntervalTest.cpp \
|
|
||||||
../../../tests/KeypadTest/KeypadTest.cpp \
|
|
||||||
../../../tests/LabelTest/LabelTest.cpp \
|
|
||||||
../../../tests/LayerTest/LayerTest.cpp \
|
|
||||||
../../../tests/TextInputTest/TextInputTest.cpp \
|
|
||||||
../../../tests/MenuTest/MenuTest.cpp \
|
|
||||||
../../../tests/MotionStreakTest/MotionStreakTest.cpp \
|
|
||||||
../../../tests/ParallaxTest/ParallaxTest.cpp \
|
|
||||||
../../../tests/ParticleTest/ParticleTest.cpp \
|
|
||||||
../../../tests/PerformanceTest/PerformanceNodeChildrenTest.cpp \
|
|
||||||
../../../tests/PerformanceTest/PerformanceParticleTest.cpp \
|
|
||||||
../../../tests/PerformanceTest/PerformanceSpriteTest.cpp \
|
|
||||||
../../../tests/PerformanceTest/PerformanceTest.cpp \
|
|
||||||
../../../tests/PerformanceTest/PerformanceTextureTest.cpp \
|
|
||||||
../../../tests/PerformanceTest/PerformanceTouchesTest.cpp \
|
|
||||||
../../../tests/ProgressActionsTest/ProgressActionsTest.cpp \
|
|
||||||
../../../tests/RenderTextureTest/RenderTextureTest.cpp \
|
|
||||||
../../../tests/RotateWorldTest/RotateWorldTest.cpp \
|
|
||||||
../../../tests/SceneTest/SceneTest.cpp \
|
|
||||||
../../../tests/SchedulerTest/SchedulerTest.cpp \
|
|
||||||
../../../tests/SpriteTest/SpriteTest.cpp \
|
|
||||||
../../../tests/TextureCacheTest/TextureCacheTest.cpp \
|
|
||||||
../../../tests/Texture2dTest/Texture2dTest.cpp \
|
|
||||||
../../../tests/TileMapTest/TileMapTest.cpp \
|
|
||||||
../../../tests/TouchesTest/Ball.cpp \
|
|
||||||
../../../tests/TouchesTest/Paddle.cpp \
|
|
||||||
../../../tests/TouchesTest/TouchesTest.cpp \
|
|
||||||
../../../tests/TransitionsTest/TransitionsTest.cpp \
|
|
||||||
../../../tests/UserDefaultTest/UserDefaultTest.cpp \
|
|
||||||
../../../tests/ZwoptexTest/ZwoptexTest.cpp \
|
|
||||||
../../../tests/controller.cpp \
|
|
||||||
../../../tests/testBasic.cpp \
|
|
||||||
../../../AppDelegate.cpp
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
||||||
$(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/ \
|
$(LOCAL_PATH)/../../..
|
||||||
$(LOCAL_PATH)/../../../tests \
|
|
||||||
$(LOCAL_PATH)/../../../.. \
|
|
||||||
$(LOCAL_PATH)/../../.. \
|
|
||||||
$(LOCAL_PATH)/../../../../chipmunk/include/chipmunk \
|
|
||||||
$(LOCAL_PATH)/../../../../CocosDenshion/include
|
|
||||||
|
|
||||||
|
|
||||||
# it is used for ndk-r5
|
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||||
# if you build with ndk-r4, comment it
|
|
||||||
# because the new Windows toolchain doesn't support Cygwin's drive
|
|
||||||
# mapping (i.e /cygdrive/c/ instead of C:/)
|
|
||||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/armeabi) \
|
|
||||||
-lGLESv1_CM \
|
-lGLESv1_CM \
|
||||||
-lcocos2d -llog -lcocosdenshion \
|
-lcocos2d -llog -lgame_logic
|
||||||
-lbox2d -lchipmunk \
|
|
||||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl
|
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ public class TestsDemo extends Cocos2dxActivity{
|
||||||
System.loadLibrary("chipmunk");
|
System.loadLibrary("chipmunk");
|
||||||
System.loadLibrary("box2d");
|
System.loadLibrary("box2d");
|
||||||
System.loadLibrary("cocos2d");
|
System.loadLibrary("cocos2d");
|
||||||
|
System.loadLibrary("game_logic");
|
||||||
System.loadLibrary("tests");
|
System.loadLibrary("tests");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,10 @@
|
||||||
|
|
||||||
#include "TextureCacheTest.h"
|
#include "TextureCacheTest.h"
|
||||||
|
|
||||||
|
using namespace cocos2d;
|
||||||
|
|
||||||
TextureCacheTest::TextureCacheTest()
|
TextureCacheTest::TextureCacheTest()
|
||||||
: m_nNumberOfSprites(24)
|
: m_nNumberOfSprites(20)
|
||||||
, m_nNumberOfLoadedSprites(0)
|
, m_nNumberOfLoadedSprites(0)
|
||||||
{
|
{
|
||||||
CCSize size = CCDirector::sharedDirector()->getWinSize();
|
CCSize size = CCDirector::sharedDirector()->getWinSize();
|
||||||
|
@ -38,11 +40,7 @@ TextureCacheTest::TextureCacheTest()
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background1.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background1.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background2.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background2.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background3.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background3.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background1-hd.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background2-hd.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/background3-hd.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/blocks.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
CCTextureCache::sharedTextureCache()->addImageAsync("Images/blocks.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
||||||
CCTextureCache::sharedTextureCache()->addImageAsync("Images/blocks-hd.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextureCacheTest::loadingCallBack(CCObject *obj)
|
void TextureCacheTest::loadingCallBack(CCObject *obj)
|
||||||
|
@ -89,11 +87,7 @@ void TextureCacheTest::addSprite()
|
||||||
CCSprite *s16 = CCSprite::spriteWithFile("Images/background1.png");
|
CCSprite *s16 = CCSprite::spriteWithFile("Images/background1.png");
|
||||||
CCSprite *s17 = CCSprite::spriteWithFile("Images/background2.png");
|
CCSprite *s17 = CCSprite::spriteWithFile("Images/background2.png");
|
||||||
CCSprite *s18 = CCSprite::spriteWithFile("Images/background3.png");
|
CCSprite *s18 = CCSprite::spriteWithFile("Images/background3.png");
|
||||||
CCSprite *s19 = CCSprite::spriteWithFile("Images/background1-hd.png");
|
CCSprite *s19 = CCSprite::spriteWithFile("Images/blocks.png");
|
||||||
CCSprite *s20 = CCSprite::spriteWithFile("Images/background2-hd.png");
|
|
||||||
CCSprite *s21 = CCSprite::spriteWithFile("Images/background3-hd.png");
|
|
||||||
CCSprite *s22 = CCSprite::spriteWithFile("Images/blocks.png");
|
|
||||||
CCSprite *s23 = CCSprite::spriteWithFile("Images/blocks-hd.png");
|
|
||||||
|
|
||||||
s1->setPosition(CCPointMake(50, 50));
|
s1->setPosition(CCPointMake(50, 50));
|
||||||
s2->setPosition(CCPointMake(60, 50));
|
s2->setPosition(CCPointMake(60, 50));
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
#ifndef _TEXTURECACHE_TEST_H_
|
#ifndef _TEXTURECACHE_TEST_H_
|
||||||
#define _TEXTURECACHE_TEST_H_
|
#define _TEXTURECACHE_TEST_H_
|
||||||
|
|
||||||
|
|
||||||
#include "cocos2d.h"
|
#include "cocos2d.h"
|
||||||
#include "../testBasic.h"
|
#include "../testBasic.h"
|
||||||
|
#include "platform/platform.h"
|
||||||
|
|
||||||
class TextureCacheTest : public CCLayer
|
class TextureCacheTest : public CCLayer
|
||||||
{
|
{
|
||||||
|
@ -16,7 +18,6 @@ private:
|
||||||
cocos2d::CCLabelTTF *m_pLabelPercent;
|
cocos2d::CCLabelTTF *m_pLabelPercent;
|
||||||
int m_nNumberOfSprites;
|
int m_nNumberOfSprites;
|
||||||
int m_nNumberOfLoadedSprites;
|
int m_nNumberOfLoadedSprites;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class TextureCacheTestScene : public TestScene
|
class TextureCacheTestScene : public TestScene
|
||||||
|
|
Loading…
Reference in New Issue