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()
|
||||
: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()
|
||||
|
|
|
@ -97,13 +97,13 @@ animation:addFrame(frame0)
|
|||
animation:addFrame(frame1)
|
||||
animation:setDelay(0.5)
|
||||
animation:setName('wait')
|
||||
--[[
|
||||
|
||||
animFrames = cocos2d.CCMutableArray_CCSpriteFrame__:new(2)
|
||||
animFrames:addObject(frame0)
|
||||
animFrames:addObject(frame1)
|
||||
--animation = cocos2d.CCAnimation:animationWithName("wait", 0.5, animFrames)
|
||||
animation = cocos2d.CCAnimation:animationWithFrames(animFrames,0.5)
|
||||
--]]
|
||||
|
||||
|
||||
animation = cocos2d.CCAnimation:animationWithFrames(animFrames, 0.5)
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# set params
|
||||
ANDROID_NDK_ROOT=/cygdrive/e/android-ndk-r5
|
||||
COCOS2DX_ROOT=/cygdrive/d/Work7/cocos2d-x
|
||||
ANDROID_NDK_ROOT=/cygdrive/d/programe/android/ndk/android-ndk-r6b
|
||||
COCOS2DX_ROOT=/cygdrive/e/cocos2d-x
|
||||
|
||||
GAME_ROOT=$COCOS2DX_ROOT/HelloLua
|
||||
GAME_ANDROID_ROOT=$GAME_ROOT/android
|
||||
|
|
|
@ -6,6 +6,6 @@ subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
|||
CocosDenshion/android \
|
||||
lua/proj.android/jni \
|
||||
))
|
||||
subdirs += $(LOCAL_PATH)/helloworld/Android.mk
|
||||
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||
|
||||
include $(subdirs)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# it is needed for ndk-r5
|
||||
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)
|
||||
LOCAL_MODULE := game
|
||||
|
||||
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_SRC_FILES := main.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)/../../../Classes \
|
||||
$(LOCAL_PATH)/../../../../lua/lua \
|
||||
$(LOCAL_PATH)/../../../../lua/tolua \
|
||||
$(LOCAL_PATH)/../../../../lua/cocos2dx_support \
|
||||
$(LOCAL_PATH)/../../../../lua/CocosDenshion_support
|
||||
# it is used for ndk-r5
|
||||
# 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) \
|
||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl \
|
||||
$(LOCAL_PATH)/../../../Classes
|
||||
|
||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||
-lcocos2d \
|
||||
-lcocosdenshion \
|
||||
-llua
|
||||
-lgame_logic
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
|
@ -60,6 +60,7 @@ public class HelloLua extends Cocos2dxActivity{
|
|||
System.loadLibrary("cocos2d");
|
||||
System.loadLibrary("cocosdenshion");
|
||||
System.loadLibrary("lua");
|
||||
System.loadLibrary("game_logic");
|
||||
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
|
||||
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
|
||||
HELLOWORLD_ROOT=$COCOS2DX_ROOT/HelloWorld/android
|
||||
|
||||
|
|
|
@ -5,6 +5,6 @@ subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
|||
cocos2dx \
|
||||
CocosDenshion/android \
|
||||
))
|
||||
subdirs += $(LOCAL_PATH)/helloworld/Android.mk
|
||||
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||
|
||||
include $(subdirs)
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
# it is needed for ndk-r5
|
||||
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)
|
||||
LOCAL_MODULE := helloworld
|
||||
|
||||
LOCAL_SRC_FILES := main.cpp \
|
||||
../../../Classes/AppDelegate.cpp \
|
||||
../../../Classes/HelloWorldScene.cpp
|
||||
LOCAL_SRC_FILES := main.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)/../../../Classes
|
||||
|
||||
# it is used for ndk-r5
|
||||
# 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) \
|
||||
-lcocos2d -llog -lcocosdenshion \
|
||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl
|
||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||
-lcocos2d -llog -lgame_logic
|
||||
|
||||
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 {
|
||||
System.loadLibrary("cocos2d");
|
||||
System.loadLibrary("cocosdenshion");
|
||||
System.loadLibrary("game_logic");
|
||||
System.loadLibrary("helloworld");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,8 +104,6 @@ tileMap_parallax_nodes/CCTileMapAtlas.cpp \
|
|||
touch_dispatcher/CCTouchDispatcher.cpp \
|
||||
touch_dispatcher/CCTouchHandler.cpp
|
||||
|
||||
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/ \
|
||||
$(LOCAL_PATH)/include \
|
||||
$(LOCAL_PATH)/platform \
|
||||
|
@ -114,11 +112,7 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/ \
|
|||
$(LOCAL_PATH)/platform/third_party/android/libxml2 \
|
||||
$(LOCAL_PATH)/platform/third_party/android/libjpeg
|
||||
|
||||
# it is used for ndk-r5
|
||||
# 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) \
|
||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/platform/third_party/android/libraries/$(TARGET_ARCH_ABI)) \
|
||||
-lGLESv1_CM -llog -lz \
|
||||
-lpng \
|
||||
-lxml2 \
|
||||
|
|
|
@ -35,6 +35,7 @@ THE SOFTWARE.
|
|||
#include "CCGeometry.h"
|
||||
#include "CCEGLView.h"
|
||||
#include "CCGL.h"
|
||||
#include "CCNode.h"
|
||||
|
||||
namespace cocos2d {
|
||||
|
||||
|
@ -137,7 +138,6 @@ typedef enum {
|
|||
class CCLabelTTF;
|
||||
class CCScene;
|
||||
class CCEGLView;
|
||||
class CCNode;
|
||||
class CCProjectionProtocol;
|
||||
|
||||
/**
|
||||
|
@ -211,6 +211,19 @@ public:
|
|||
*/
|
||||
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
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ namespace cocos2d{
|
|||
bool CCMenu::init()
|
||||
{
|
||||
va_list args;
|
||||
return initWithItems(0, NULL);
|
||||
return initWithItems(0, 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);
|
||||
}
|
||||
|
||||
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,
|
||||
int nDataLen,
|
||||
EImageFormat eFmt/* = eSrcFmtPng*/,
|
||||
|
|
|
@ -63,6 +63,15 @@ public:
|
|||
*/
|
||||
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.
|
||||
|
||||
|
|
|
@ -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
|
||||
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"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@ -145,7 +145,7 @@
|
|||
/>
|
||||
<Tool
|
||||
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"
|
||||
LinkIncremental="2"
|
||||
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
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
#define COCOS2D_DEBUG 1
|
||||
|
||||
#include <stack>
|
||||
#include <string>
|
||||
#include <cctype>
|
||||
#include <queue>
|
||||
#include "CCTextureCache.h"
|
||||
#include "CCTexture2D.h"
|
||||
#include "ccMacros.h"
|
||||
|
@ -50,13 +50,23 @@ typedef struct _AsyncStruct
|
|||
SEL_CallFuncO selector;
|
||||
} AsyncStruct;
|
||||
|
||||
static cocos2d::CCImage* s_pImageAsync;
|
||||
// only allow one loading thread at a time
|
||||
static pthread_mutex_t s_loadingThreadMutex;
|
||||
typedef struct _ImageInfo
|
||||
{
|
||||
AsyncStruct *asyncStruct;
|
||||
CCImage *image;
|
||||
} ImageInfo;
|
||||
|
||||
static pthread_t s_loadingThread;
|
||||
|
||||
static pthread_mutex_t s_asyncStructQueueMutex;
|
||||
static pthread_mutex_t s_ImageInfoMutex;
|
||||
|
||||
// condition
|
||||
static pthread_cond_t s_condition;
|
||||
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)
|
||||
{
|
||||
|
@ -64,40 +74,86 @@ static void* loadImage(void* data)
|
|||
CCThread thread;
|
||||
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_loadingThreadMutex);
|
||||
pthread_mutex_lock(&s_asyncStructQueueMutex);
|
||||
if (pQueue->empty())
|
||||
{
|
||||
pthread_mutex_unlock(&s_asyncStructQueueMutex);
|
||||
|
||||
s_pAsyncObject = (AsyncStruct*)data;
|
||||
const char *filename = s_pAsyncObject->filename.c_str();
|
||||
|
||||
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.
|
||||
*/
|
||||
/* Wait for rendering thread to add loading image info.
|
||||
* 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)
|
||||
static bool firstRun = true;
|
||||
if (firstRun)
|
||||
{
|
||||
pthread_cond_wait(&s_condition, &s_conditionMutex);
|
||||
firstRun = false;
|
||||
}
|
||||
static bool firstRun = true;
|
||||
if (firstRun)
|
||||
{
|
||||
pthread_cond_wait(&s_condition, &s_conditionMutex);
|
||||
firstRun = false;
|
||||
}
|
||||
#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;
|
||||
}
|
||||
|
@ -167,39 +223,59 @@ void CCTextureCache::addImageAsync(const char *path, SelectorProtocol *target, S
|
|||
static bool firstRun = true;
|
||||
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_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, 1.0f, false);
|
||||
CCScheduler::sharedScheduler()->scheduleSelector(schedule_selector(CCTextureCache::addImageAsyncCallBack), this, 0, false);
|
||||
|
||||
firstRun = false;
|
||||
}
|
||||
|
||||
// generate async struct
|
||||
AsyncStruct *data = new AsyncStruct();
|
||||
data->filename = fullpath.c_str();
|
||||
data->target = target;
|
||||
data->selector = selector;
|
||||
|
||||
// load image in a new thread
|
||||
pthread_t p;
|
||||
pthread_create(&p, NULL, loadImage, (void*)data);
|
||||
// add async struct into queue
|
||||
pthread_mutex_lock(&s_asyncStructQueueMutex);
|
||||
s_pAsyncStructQueue->push(data);
|
||||
pthread_cond_signal(&s_condition);
|
||||
pthread_mutex_unlock(&s_asyncStructQueueMutex);
|
||||
}
|
||||
|
||||
void CCTextureCache::addImageAsyncCallBack(ccTime dt)
|
||||
{
|
||||
// the image is generated in loading thread
|
||||
if (s_pImageAsync != NULL)
|
||||
{
|
||||
std::queue<ImageInfo*> *imagesQueue = s_pImageQueue;
|
||||
|
||||
SelectorProtocol *target = s_pAsyncObject->target;
|
||||
SEL_CallFuncO selector = s_pAsyncObject->selector;
|
||||
const char* filename = s_pAsyncObject->filename.c_str();
|
||||
pthread_mutex_lock(&s_ImageInfoMutex);
|
||||
if (imagesQueue->empty())
|
||||
{
|
||||
pthread_mutex_unlock(&s_ImageInfoMutex);
|
||||
}
|
||||
else
|
||||
{
|
||||
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
|
||||
CCTexture2D *texture = new CCTexture2D();
|
||||
texture->initWithImage(s_pImageAsync);
|
||||
texture->initWithImage(pImage);
|
||||
|
||||
// cache the texture
|
||||
m_pTextures->setObject(texture, filename);
|
||||
|
@ -207,13 +283,9 @@ void CCTextureCache::addImageAsyncCallBack(ccTime dt)
|
|||
|
||||
(target->*selector)(texture);
|
||||
|
||||
// the object is newed in addImageAsync() and will be assigned in the loading thread
|
||||
delete s_pAsyncObject;
|
||||
|
||||
delete s_pImageAsync;
|
||||
s_pImageAsync = NULL;
|
||||
|
||||
pthread_cond_signal(&s_condition);
|
||||
delete pImage;
|
||||
delete pAsyncStruct;
|
||||
delete pImageInfo;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
:: 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
|
||||
|
||||
:: 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
|
||||
|
||||
:: 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
|
||||
|
||||
:: create android project
|
||||
|
|
|
@ -1 +1 @@
|
|||
dd5941759f1e46eade02974d86ba7cbe12e19a17
|
||||
951c67fac55daba4ee275b27a56bc63831d0ac44
|
|
@ -2,22 +2,14 @@ LOCAL_PATH := $(call my-dir)
|
|||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := game
|
||||
|
||||
LOCAL_SRC_FILES := main.cpp \
|
||||
../../../Classes/AppDelegate.cpp \
|
||||
../../../Classes/HelloWorldScene.cpp
|
||||
LOCAL_SRC_FILES := main.cpp
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
||||
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
||||
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
||||
$(LOCAL_PATH)/../../../../CocosDenshion/include \
|
||||
$(LOCAL_PATH)/../../../Classes
|
||||
|
||||
# it is used for ndk-r5
|
||||
# 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) \
|
||||
-lcocos2d -llog -lcocosdenshion \
|
||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl
|
||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||
-lcocos2d -llog -lgame_logic
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
|
|
@ -5,6 +5,6 @@ subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
|||
cocos2dx \
|
||||
CocosDenshion/android \
|
||||
))
|
||||
subdirs += $(LOCAL_PATH)/helloworld/Android.mk
|
||||
subdirs += $(LOCAL_PATH)/../../Classes/Android.mk $(LOCAL_PATH)/helloworld/Android.mk
|
||||
|
||||
include $(subdirs)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# it is needed for ndk-r5
|
||||
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(){
|
||||
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
|
||||
if [ -f $file ];then
|
||||
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
|
||||
# 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
|
||||
TESTS_ROOT=$COCOS2DX_ROOT/tests/test.android
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@ include $(CLEAR_VARS)
|
|||
subdirs := $(addprefix $(LOCAL_PATH)/../../../,$(addsuffix /Android.mk, \
|
||||
Box2D \
|
||||
chipmunk \
|
||||
cocos2dx \
|
||||
CocosDenshion/android \
|
||||
))
|
||||
cocos2dx \
|
||||
CocosDenshion/android \
|
||||
))
|
||||
|
||||
subdirs += $(LOCAL_PATH)/tests/Android.mk
|
||||
subdirs += $(LOCAL_PATH)/../../Android.mk $(LOCAL_PATH)/tests/Android.mk
|
||||
|
||||
include $(subdirs)
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
APP_STL := stlport_static
|
||||
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)
|
||||
LOCAL_MODULE := tests
|
||||
|
||||
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_SRC_FILES := main.cpp
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../cocos2dx \
|
||||
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
||||
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
||||
$(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/ \
|
||||
$(LOCAL_PATH)/../../../tests \
|
||||
$(LOCAL_PATH)/../../../.. \
|
||||
$(LOCAL_PATH)/../../.. \
|
||||
$(LOCAL_PATH)/../../../../chipmunk/include/chipmunk \
|
||||
$(LOCAL_PATH)/../../../../CocosDenshion/include
|
||||
$(LOCAL_PATH)/../../../../cocos2dx/platform \
|
||||
$(LOCAL_PATH)/../../../../cocos2dx/include \
|
||||
$(LOCAL_PATH)/../../..
|
||||
|
||||
|
||||
# it is used for ndk-r5
|
||||
# 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) \
|
||||
LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)) \
|
||||
-lGLESv1_CM \
|
||||
-lcocos2d -llog -lcocosdenshion \
|
||||
-lbox2d -lchipmunk \
|
||||
-L$(call host-path, $(LOCAL_PATH)/../../../../cocos2dx/platform/third_party/android/libraries) -lcurl
|
||||
-lcocos2d -llog -lgame_logic
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ public class TestsDemo extends Cocos2dxActivity{
|
|||
System.loadLibrary("chipmunk");
|
||||
System.loadLibrary("box2d");
|
||||
System.loadLibrary("cocos2d");
|
||||
System.loadLibrary("game_logic");
|
||||
System.loadLibrary("tests");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,8 +3,10 @@
|
|||
|
||||
#include "TextureCacheTest.h"
|
||||
|
||||
using namespace cocos2d;
|
||||
|
||||
TextureCacheTest::TextureCacheTest()
|
||||
: m_nNumberOfSprites(24)
|
||||
: m_nNumberOfSprites(20)
|
||||
, m_nNumberOfLoadedSprites(0)
|
||||
{
|
||||
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/background2.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-hd.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
||||
}
|
||||
|
||||
void TextureCacheTest::loadingCallBack(CCObject *obj)
|
||||
|
@ -89,11 +87,7 @@ void TextureCacheTest::addSprite()
|
|||
CCSprite *s16 = CCSprite::spriteWithFile("Images/background1.png");
|
||||
CCSprite *s17 = CCSprite::spriteWithFile("Images/background2.png");
|
||||
CCSprite *s18 = CCSprite::spriteWithFile("Images/background3.png");
|
||||
CCSprite *s19 = CCSprite::spriteWithFile("Images/background1-hd.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");
|
||||
CCSprite *s19 = CCSprite::spriteWithFile("Images/blocks.png");
|
||||
|
||||
s1->setPosition(CCPointMake(50, 50));
|
||||
s2->setPosition(CCPointMake(60, 50));
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
#ifndef _TEXTURECACHE_TEST_H_
|
||||
#define _TEXTURECACHE_TEST_H_
|
||||
|
||||
|
||||
#include "cocos2d.h"
|
||||
#include "../testBasic.h"
|
||||
#include "platform/platform.h"
|
||||
|
||||
class TextureCacheTest : public CCLayer
|
||||
{
|
||||
|
@ -16,7 +18,6 @@ private:
|
|||
cocos2d::CCLabelTTF *m_pLabelPercent;
|
||||
int m_nNumberOfSprites;
|
||||
int m_nNumberOfLoadedSprites;
|
||||
|
||||
};
|
||||
|
||||
class TextureCacheTestScene : public TestScene
|
||||
|
|
Loading…
Reference in New Issue