Merge branch 'develop' into develop_nutty_Mergemasterbranchtodevelopbranch

Conflicts:
	cocos/gui/UIHelper.h
This commit is contained in:
CaiWenzhi 2013-11-06 16:13:10 +08:00
commit 7a207431cd
103 changed files with 882 additions and 893 deletions

View File

@ -628,6 +628,7 @@ Developers:
HoGarfield (garfield_ho) HoGarfield (garfield_ho)
Fixed a bug that CCBReader can't play sequence automatically in JSB. Fixed a bug that CCBReader can't play sequence automatically in JSB.
Could not set next animation in CCBAnimationCompleted callback. Could not set next animation in CCBAnimationCompleted callback.
Fixed missing to add JSAutoCompartment when invoking JS functions from C++.
lite3 lite3
Fixed a bug that Node's anchor point was changed after being added to ScrollView. Fixed a bug that Node's anchor point was changed after being added to ScrollView.

View File

@ -10,21 +10,25 @@ cocos2d-x-3.0alpha1 @??? 2013
[FIX] Could not set next animation in CCBAnimationCompleted callback. [FIX] Could not set next animation in CCBAnimationCompleted callback.
[FIX] The Node's anchor point was changed after being added to ScrollView. [FIX] The Node's anchor point was changed after being added to ScrollView.
[FIX] Refactored and improved EventDispatcher. [FIX] Refactored and improved EventDispatcher.
[NEW] Added Mouse Support For Desktop Platforms.
[FIX] EventListeners can't be removed sometimes. [FIX] EventListeners can't be removed sometimes.
[FIX] When parsing XML using TinyXML, the data size has to be specified. [FIX] When parsing XML using TinyXML, the data size has to be specified.
[FIX] Parameter type: const char* -> const string&
[NEW] Arm64 support.
[NEW] Added Mouse Support For Desktop Platforms.
[Android] [Android]
[FIX] Added EGL_RENDERABLE_TYPE to OpenGL attributes [FIX] Added EGL_RENDERABLE_TYPE to OpenGL attributes
[NEW] Added Cocos2dxHelper.runOnGLThread(Runnable) again
[FIX] Fixed application will crash when pause and resume. [FIX] Fixed application will crash when pause and resume.
[FIX] Clear NoSuchMethodError Exception when JniHelper fails to find method id [FIX] Clear NoSuchMethodError Exception when JniHelper fails to find method id
[NEW] Added xlargeScreens="true" to supports-screens [NEW] Added xlargeScreens="true" to supports-screens
[NEW] Added build/android-build.py to build all Android samples, and remove all build_native.sh/cmd [NEW] Added build/android-build.py to build all Android samples, and remove all build_native.sh/cmd
[NEW] Added build_native.py to build template projects, and remove build_native.sh/cmd [NEW] Added build_native.py to build template projects, and remove build_native.sh/cmd
[NEW] Added Cocos2dxHelper.runOnGLThread(Runnable) again
[Mac] [Mac]
[FIX] Removed unused CCLOG() from GL initialization [FIX] Removed unused CCLOG() from GL initialization
[iOS] [iOS]
[FIX] Can't click the area that outside of keyboard to close keyboard when using EditBox. [FIX] Can't click the area that outside of keyboard to close keyboard when using EditBox.
[Linux]
[NEW] Used CMake to build linux projects.
[Desktop] [Desktop]
[FIX] Trigger onKeyReleased only after the key has been released. [FIX] Trigger onKeyReleased only after the key has been released.
[Javascript binding] [Javascript binding]

View File

@ -1,53 +1,13 @@
# This file was copied from GamePlay macro(pre_build TARGET_NAME)
# Copies files for the given game into the target res directory add_custom_target( ${TARGET_NAME}_PRE_BUILD ALL )
# GAME_NAME name of the game
# REL_DIR to which directory these files are relative
# SRC_FILES which files from the REL_DIR to copy (GLOB)
macro(COPY_RES_FILES GAME_NAME GAME_RES_TARGET REL_DIR SRC_FILES)
file( GLOB_RECURSE RES_FILES RELATIVE ${REL_DIR} ${SRC_FILES} )
set(ALL_FILES) add_custom_command(
foreach(SRC_FILE ${RES_FILES}) TARGET ${TARGET_NAME}_PRE_BUILD
IF(NOT (SRC_FILE MATCHES "(^\\.\\.)")) ${ARGN}
add_custom_command( PRE_BUILD
OUTPUT "${APP_BIN_DIR}/${SRC_FILE}" COMMENT "${TARGET_NAME}_PRE_BUILD ..."
COMMAND ${CMAKE_COMMAND} -E copy_if_different )
"${REL_DIR}/${SRC_FILE}"
"${APP_BIN_DIR}/Resources/${SRC_FILE}"
COMMENT "Copy ${SRC_FILE}"
)
list(APPEND ALL_FILES "${APP_BIN_DIR}/${SRC_FILE}" )
ENDIF(NOT (SRC_FILE MATCHES "(^\\.\\.)"))
endforeach()
# create target for copying these files
add_custom_target( ${GAME_RES_TARGET} DEPENDS ${ALL_FILES} )
endmacro()
# convenience to call above with current directory and everything in "res" add_custom_target( ${TARGET_NAME}_CORE_PRE_BUILD )
macro(COPY_RES GAME_NAME) add_dependencies( ${TARGET_NAME}_PRE_BUILD ${TARGET_NAME}_CORE_PRE_BUILD )
# a target for all addition asserts (will be done in default compile, but if you target the executable
# it won't be done -- good for testing)
add_custom_target( ${GAME_NAME}_ASSETS ALL )
# copy entire "res" directory and "game.config" if there is one
set(CRG_PATTERN "*")
COPY_RES_FILES( ${GAME_NAME} ${GAME_NAME}_CORE_RES
${CMAKE_CURRENT_SOURCE_DIR}/Resources
"${CRG_PATTERN}"
)
add_dependencies( ${GAME_NAME}_ASSETS ${GAME_NAME}_CORE_RES )
endmacro()
# Copies resources from an additional directory
# GAME_NAME name of the game
# REL_DIR from which directory
# ARGN which patterns to copy (should include res/ in name if to be placed in the res/ output)
macro(COPY_RES_EXTRA GAME_NAME EXTRA_RES REL_DIR)
# convert src's to full paths (based on rel_dir)
set(SRC_FILES)
foreach(SRC_FILE ${ARGN} )
list(APPEND SRC_FILES "${REL_DIR}/${SRC_FILE}")
endforeach()
COPY_RES_FILES( ${GAME_NAME} ${GAME_NAME}_${EXTRA_RES} ${REL_DIR} "${SRC_FILES}" )
add_dependencies( ${GAME_NAME}_ASSETS ${GAME_NAME}_${EXTRA_RES} )
endmacro() endmacro()

View File

@ -1 +1 @@
12034db6a7c20a09b3e866ab79a536bfc0208d3f 30ca6c02884f9bc20405b3e657b444c0153bead7

View File

@ -1 +1 @@
f441e32e09388d5c434035e100e591cf9a6d29fd 3ff18018375c71f683a484652678740cc6395eaf

View File

@ -65,55 +65,55 @@ ActionManager::~ActionManager(void)
// private // private
void ActionManager::deleteHashElement(tHashElement *pElement) void ActionManager::deleteHashElement(tHashElement *element)
{ {
ccArrayFree(pElement->actions); ccArrayFree(element->actions);
HASH_DEL(_targets, pElement); HASH_DEL(_targets, element);
pElement->target->release(); element->target->release();
free(pElement); free(element);
} }
void ActionManager::actionAllocWithHashElement(tHashElement *pElement) void ActionManager::actionAllocWithHashElement(tHashElement *element)
{ {
// 4 actions per Node by default // 4 actions per Node by default
if (pElement->actions == NULL) if (element->actions == NULL)
{ {
pElement->actions = ccArrayNew(4); element->actions = ccArrayNew(4);
}else }else
if (pElement->actions->num == pElement->actions->max) if (element->actions->num == element->actions->max)
{ {
ccArrayDoubleCapacity(pElement->actions); ccArrayDoubleCapacity(element->actions);
} }
} }
void ActionManager::removeActionAtIndex(int index, tHashElement *pElement) void ActionManager::removeActionAtIndex(long index, tHashElement *element)
{ {
Action *pAction = (Action*)pElement->actions->arr[index]; Action *action = (Action*)element->actions->arr[index];
if (pAction == pElement->currentAction && (! pElement->currentActionSalvaged)) if (action == element->currentAction && (! element->currentActionSalvaged))
{ {
pElement->currentAction->retain(); element->currentAction->retain();
pElement->currentActionSalvaged = true; element->currentActionSalvaged = true;
} }
ccArrayRemoveObjectAtIndex(pElement->actions, index, true); ccArrayRemoveObjectAtIndex(element->actions, index, true);
// update actionIndex in case we are in tick. looping over the actions // update actionIndex in case we are in tick. looping over the actions
if (pElement->actionIndex >= index) if (element->actionIndex >= index)
{ {
pElement->actionIndex--; element->actionIndex--;
} }
if (pElement->actions->num == 0) if (element->actions->num == 0)
{ {
if (_currentTarget == pElement) if (_currentTarget == element)
{ {
_currentTargetSalvaged = true; _currentTargetSalvaged = true;
} }
else else
{ {
deleteHashElement(pElement); deleteHashElement(element);
} }
} }
} }
@ -122,21 +122,21 @@ void ActionManager::removeActionAtIndex(int index, tHashElement *pElement)
void ActionManager::pauseTarget(Object *target) void ActionManager::pauseTarget(Object *target)
{ {
tHashElement *pElement = NULL; tHashElement *element = NULL;
HASH_FIND_INT(_targets, &target, pElement); HASH_FIND_INT(_targets, &target, element);
if (pElement) if (element)
{ {
pElement->paused = true; element->paused = true;
} }
} }
void ActionManager::resumeTarget(Object *target) void ActionManager::resumeTarget(Object *target)
{ {
tHashElement *pElement = NULL; tHashElement *element = NULL;
HASH_FIND_INT(_targets, &target, pElement); HASH_FIND_INT(_targets, &target, element);
if (pElement) if (element)
{ {
pElement->paused = false; element->paused = false;
} }
} }
@ -168,40 +168,40 @@ void ActionManager::resumeTargets(cocos2d::Set *targetsToResume)
// run // run
void ActionManager::addAction(Action *pAction, Node *target, bool paused) void ActionManager::addAction(Action *action, Node *target, bool paused)
{ {
CCASSERT(pAction != NULL, ""); CCASSERT(action != NULL, "");
CCASSERT(target != NULL, ""); CCASSERT(target != NULL, "");
tHashElement *pElement = NULL; tHashElement *element = NULL;
// we should convert it to Object*, because we save it as Object* // we should convert it to Object*, because we save it as Object*
Object *tmp = target; Object *tmp = target;
HASH_FIND_INT(_targets, &tmp, pElement); HASH_FIND_INT(_targets, &tmp, element);
if (! pElement) if (! element)
{ {
pElement = (tHashElement*)calloc(sizeof(*pElement), 1); element = (tHashElement*)calloc(sizeof(*element), 1);
pElement->paused = paused; element->paused = paused;
target->retain(); target->retain();
pElement->target = target; element->target = target;
HASH_ADD_INT(_targets, target, pElement); HASH_ADD_INT(_targets, target, element);
} }
actionAllocWithHashElement(pElement); actionAllocWithHashElement(element);
CCASSERT(! ccArrayContainsObject(pElement->actions, pAction), ""); CCASSERT(! ccArrayContainsObject(element->actions, action), "");
ccArrayAppendObject(pElement->actions, pAction); ccArrayAppendObject(element->actions, action);
pAction->startWithTarget(target); action->startWithTarget(target);
} }
// remove // remove
void ActionManager::removeAllActions(void) void ActionManager::removeAllActions(void)
{ {
for (tHashElement *pElement = _targets; pElement != NULL; ) for (tHashElement *element = _targets; element != NULL; )
{ {
Object *target = pElement->target; Object *target = element->target;
pElement = (tHashElement*)pElement->hh.next; element = (tHashElement*)element->hh.next;
removeAllActionsFromTarget(target); removeAllActionsFromTarget(target);
} }
} }
@ -214,24 +214,24 @@ void ActionManager::removeAllActionsFromTarget(Object *target)
return; return;
} }
tHashElement *pElement = NULL; tHashElement *element = NULL;
HASH_FIND_INT(_targets, &target, pElement); HASH_FIND_INT(_targets, &target, element);
if (pElement) if (element)
{ {
if (ccArrayContainsObject(pElement->actions, pElement->currentAction) && (! pElement->currentActionSalvaged)) if (ccArrayContainsObject(element->actions, element->currentAction) && (! element->currentActionSalvaged))
{ {
pElement->currentAction->retain(); element->currentAction->retain();
pElement->currentActionSalvaged = true; element->currentActionSalvaged = true;
} }
ccArrayRemoveAllObjects(pElement->actions); ccArrayRemoveAllObjects(element->actions);
if (_currentTarget == pElement) if (_currentTarget == element)
{ {
_currentTargetSalvaged = true; _currentTargetSalvaged = true;
} }
else else
{ {
deleteHashElement(pElement); deleteHashElement(element);
} }
} }
else else
@ -240,23 +240,23 @@ void ActionManager::removeAllActionsFromTarget(Object *target)
} }
} }
void ActionManager::removeAction(Action *pAction) void ActionManager::removeAction(Action *action)
{ {
// explicit null handling // explicit null handling
if (pAction == NULL) if (action == NULL)
{ {
return; return;
} }
tHashElement *pElement = NULL; tHashElement *element = NULL;
Object *target = pAction->getOriginalTarget(); Object *target = action->getOriginalTarget();
HASH_FIND_INT(_targets, &target, pElement); HASH_FIND_INT(_targets, &target, element);
if (pElement) if (element)
{ {
unsigned int i = ccArrayGetIndexOfObject(pElement->actions, pAction); long i = ccArrayGetIndexOfObject(element->actions, action);
if (UINT_MAX != i) if (i != CC_INVALID_INDEX)
{ {
removeActionAtIndex(i, pElement); removeActionAtIndex(i, element);
} }
} }
else else
@ -270,19 +270,19 @@ void ActionManager::removeActionByTag(int tag, Object *target)
CCASSERT(tag != Action::INVALID_TAG, ""); CCASSERT(tag != Action::INVALID_TAG, "");
CCASSERT(target != NULL, ""); CCASSERT(target != NULL, "");
tHashElement *pElement = NULL; tHashElement *element = NULL;
HASH_FIND_INT(_targets, &target, pElement); HASH_FIND_INT(_targets, &target, element);
if (pElement) if (element)
{ {
unsigned int limit = pElement->actions->num; long limit = element->actions->num;
for (unsigned int i = 0; i < limit; ++i) for (long i = 0; i < limit; ++i)
{ {
Action *pAction = (Action*)pElement->actions->arr[i]; Action *action = (Action*)element->actions->arr[i];
if (pAction->getTag() == (int)tag && pAction->getOriginalTarget() == target) if (action->getTag() == (int)tag && action->getOriginalTarget() == target)
{ {
removeActionAtIndex(i, pElement); removeActionAtIndex(i, element);
break; break;
} }
} }
@ -297,21 +297,21 @@ Action* ActionManager::getActionByTag(int tag, const Object *target) const
{ {
CCASSERT(tag != Action::INVALID_TAG, ""); CCASSERT(tag != Action::INVALID_TAG, "");
tHashElement *pElement = NULL; tHashElement *element = NULL;
HASH_FIND_INT(_targets, &target, pElement); HASH_FIND_INT(_targets, &target, element);
if (pElement) if (element)
{ {
if (pElement->actions != NULL) if (element->actions != NULL)
{ {
unsigned int limit = pElement->actions->num; long limit = element->actions->num;
for (unsigned int i = 0; i < limit; ++i) for (long i = 0; i < limit; ++i)
{ {
Action *pAction = (Action*)pElement->actions->arr[i]; Action *action = (Action*)element->actions->arr[i];
if (pAction->getTag() == (int)tag) if (action->getTag() == (int)tag)
{ {
return pAction; return action;
} }
} }
} }
@ -329,11 +329,11 @@ Action* ActionManager::getActionByTag(int tag, const Object *target) const
// and, it is not possible to get the address of a reference // and, it is not possible to get the address of a reference
unsigned int ActionManager::getNumberOfRunningActionsInTarget(const Object *target) const unsigned int ActionManager::getNumberOfRunningActionsInTarget(const Object *target) const
{ {
tHashElement *pElement = NULL; tHashElement *element = NULL;
HASH_FIND_INT(_targets, &target, pElement); HASH_FIND_INT(_targets, &target, element);
if (pElement) if (element)
{ {
return pElement->actions ? pElement->actions->num : 0; return element->actions ? element->actions->num : 0;
} }
return 0; return 0;
@ -374,10 +374,10 @@ void ActionManager::update(float dt)
{ {
_currentTarget->currentAction->stop(); _currentTarget->currentAction->stop();
Action *pAction = _currentTarget->currentAction; Action *action = _currentTarget->currentAction;
// Make currentAction nil to prevent removeAction from salvaging it. // Make currentAction nil to prevent removeAction from salvaging it.
_currentTarget->currentAction = NULL; _currentTarget->currentAction = NULL;
removeAction(pAction); removeAction(action);
} }
_currentTarget->currentAction = NULL; _currentTarget->currentAction = NULL;

View File

@ -126,7 +126,7 @@ public:
protected: protected:
// declared in ActionManager.m // declared in ActionManager.m
void removeActionAtIndex(int index, struct _hashElement *pElement); void removeActionAtIndex(long index, struct _hashElement *pElement);
void deleteHashElement(struct _hashElement *pElement); void deleteHashElement(struct _hashElement *pElement);
void actionAllocWithHashElement(struct _hashElement *pElement); void actionAllocWithHashElement(struct _hashElement *pElement);
void update(float dt); void update(float dt);

View File

@ -71,22 +71,20 @@ AnimationCache::~AnimationCache()
CC_SAFE_RELEASE(_animations); CC_SAFE_RELEASE(_animations);
} }
void AnimationCache::addAnimation(Animation *animation, const char * name) void AnimationCache::addAnimation(Animation *animation, const std::string& name)
{ {
_animations->setObject(animation, name); _animations->setObject(animation, name);
} }
void AnimationCache::removeAnimation(const char* name) void AnimationCache::removeAnimation(const std::string& name)
{ {
if (! name) if (name.size()==0)
{
return; return;
}
_animations->removeObjectForKey(name); _animations->removeObjectForKey(name);
} }
Animation* AnimationCache::getAnimation(const char* name) Animation* AnimationCache::getAnimation(const std::string& name)
{ {
return (Animation*)_animations->objectForKey(name); return (Animation*)_animations->objectForKey(name);
} }
@ -95,17 +93,17 @@ void AnimationCache::parseVersion1(Dictionary* animations)
{ {
SpriteFrameCache *frameCache = SpriteFrameCache::getInstance(); SpriteFrameCache *frameCache = SpriteFrameCache::getInstance();
DictElement* pElement = NULL; DictElement* element = NULL;
CCDICT_FOREACH(animations, pElement) CCDICT_FOREACH(animations, element)
{ {
Dictionary* animationDict = static_cast<Dictionary*>(pElement->getObject()); Dictionary* animationDict = static_cast<Dictionary*>(element->getObject());
Array* frameNames = static_cast<Array*>(animationDict->objectForKey("frames")); Array* frameNames = static_cast<Array*>(animationDict->objectForKey("frames"));
float delay = animationDict->valueForKey("delay")->floatValue(); float delay = animationDict->valueForKey("delay")->floatValue();
Animation* animation = NULL; Animation* animation = NULL;
if ( frameNames == NULL ) if ( frameNames == NULL )
{ {
CCLOG("cocos2d: AnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", pElement->getStrKey()); CCLOG("cocos2d: AnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", element->getStrKey());
continue; continue;
} }
@ -115,11 +113,11 @@ void AnimationCache::parseVersion1(Dictionary* animations)
Object* pObj = NULL; Object* pObj = NULL;
CCARRAY_FOREACH(frameNames, pObj) CCARRAY_FOREACH(frameNames, pObj)
{ {
const char* frameName = static_cast<String*>(pObj)->getCString(); const std::string& frameName = static_cast<String*>(pObj)->getCString();
SpriteFrame* spriteFrame = frameCache->getSpriteFrameByName(frameName); SpriteFrame* spriteFrame = frameCache->getSpriteFrameByName(frameName);
if ( ! spriteFrame ) { if ( ! spriteFrame ) {
CCLOG("cocos2d: AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the SpriteFrameCache. This frame will not be added to the animation.", pElement->getStrKey(), frameName); CCLOG("cocos2d: AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the SpriteFrameCache. This frame will not be added to the animation.", element->getStrKey(), frameName.c_str());
continue; continue;
} }
@ -131,15 +129,15 @@ void AnimationCache::parseVersion1(Dictionary* animations)
} }
if ( frames->count() == 0 ) { if ( frames->count() == 0 ) {
CCLOG("cocos2d: AnimationCache: None of the frames for animation '%s' were found in the SpriteFrameCache. Animation is not being added to the Animation Cache.", pElement->getStrKey()); CCLOG("cocos2d: AnimationCache: None of the frames for animation '%s' were found in the SpriteFrameCache. Animation is not being added to the Animation Cache.", element->getStrKey());
continue; continue;
} else if ( frames->count() != frameNames->count() ) { } else if ( frames->count() != frameNames->count() ) {
CCLOG("cocos2d: AnimationCache: An animation in your dictionary refers to a frame which is not in the SpriteFrameCache. Some or all of the frames for the animation '%s' may be missing.", pElement->getStrKey()); CCLOG("cocos2d: AnimationCache: An animation in your dictionary refers to a frame which is not in the SpriteFrameCache. Some or all of the frames for the animation '%s' may be missing.", element->getStrKey());
} }
animation = Animation::create(frames, delay, 1); animation = Animation::create(frames, delay, 1);
AnimationCache::getInstance()->addAnimation(animation, pElement->getStrKey()); AnimationCache::getInstance()->addAnimation(animation, element->getStrKey());
frames->release(); frames->release();
} }
} }
@ -148,11 +146,11 @@ void AnimationCache::parseVersion2(Dictionary* animations)
{ {
SpriteFrameCache *frameCache = SpriteFrameCache::getInstance(); SpriteFrameCache *frameCache = SpriteFrameCache::getInstance();
DictElement* pElement = NULL; DictElement* element = NULL;
CCDICT_FOREACH(animations, pElement) CCDICT_FOREACH(animations, element)
{ {
const char* name = pElement->getStrKey(); const char* name = element->getStrKey();
Dictionary* animationDict = static_cast<Dictionary*>(pElement->getObject()); Dictionary* animationDict = static_cast<Dictionary*>(element->getObject());
const String* loops = animationDict->valueForKey("loops"); const String* loops = animationDict->valueForKey("loops");
bool restoreOriginalFrame = animationDict->valueForKey("restoreOriginalFrame")->boolValue(); bool restoreOriginalFrame = animationDict->valueForKey("restoreOriginalFrame")->boolValue();
@ -241,9 +239,9 @@ void AnimationCache::addAnimationsWithDictionary(Dictionary* dictionary)
} }
/** Read an NSDictionary from a plist file and parse it automatically for animations */ /** Read an NSDictionary from a plist file and parse it automatically for animations */
void AnimationCache::addAnimationsWithFile(const char* plist) void AnimationCache::addAnimationsWithFile(const std::string& plist)
{ {
CCASSERT( plist, "Invalid texture file name"); CCASSERT( plist.size()>0, "Invalid texture file name");
std::string path = FileUtils::getInstance()->fullPathForFilename(plist); std::string path = FileUtils::getInstance()->fullPathForFilename(plist);
Dictionary* dict = Dictionary::createWithContentsOfFile(path.c_str()); Dictionary* dict = Dictionary::createWithContentsOfFile(path.c_str());

View File

@ -76,29 +76,29 @@ public:
/** Adds a Animation with a name. /** Adds a Animation with a name.
*/ */
void addAnimation(Animation *animation, const char * name); void addAnimation(Animation *animation, const std::string& name);
/** Deletes a Animation from the cache. /** Deletes a Animation from the cache.
*/ */
void removeAnimation(const char* name); void removeAnimation(const std::string& name);
/** @deprecated. Use removeAnimation() instead /** @deprecated. Use removeAnimation() instead
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
CC_DEPRECATED_ATTRIBUTE void removeAnimationByName(const char* name){ removeAnimation(name);} CC_DEPRECATED_ATTRIBUTE void removeAnimationByName(const std::string& name){ removeAnimation(name);}
/** Returns a Animation that was previously added. /** Returns a Animation that was previously added.
If the name is not found it will return nil. If the name is not found it will return nil.
You should retain the returned copy if you are going to use it. You should retain the returned copy if you are going to use it.
*/ */
Animation* getAnimation(const char* name); Animation* getAnimation(const std::string& name);
/** /**
@deprecated. Use getAnimation() instead @deprecated. Use getAnimation() instead
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
CC_DEPRECATED_ATTRIBUTE Animation* animationByName(const char* name){ return getAnimation(name); } CC_DEPRECATED_ATTRIBUTE Animation* animationByName(const std::string& name){ return getAnimation(name); }
/** Adds an animation from an NSDictionary /** Adds an animation from an NSDictionary
Make sure that the frames were previously loaded in the SpriteFrameCache. Make sure that the frames were previously loaded in the SpriteFrameCache.
@ -112,7 +112,7 @@ public:
* @js addAnimations * @js addAnimations
* @lua addAnimations * @lua addAnimations
*/ */
void addAnimationsWithFile(const char* plist); void addAnimationsWithFile(const std::string& plist);
private: private:
void parseVersion1(Dictionary* animations); void parseVersion1(Dictionary* animations);

View File

@ -831,7 +831,7 @@ void Director::calculateMPF()
} }
// returns the FPS image data pointer and len // returns the FPS image data pointer and len
void Director::getFPSImageData(unsigned char** datapointer, unsigned int* length) void Director::getFPSImageData(unsigned char** datapointer, long* length)
{ {
// XXX fixed me if it should be used // XXX fixed me if it should be used
*datapointer = cc_fps_images_png; *datapointer = cc_fps_images_png;
@ -855,7 +855,7 @@ void Director::createStatsLabel()
Texture2D::PixelFormat currentFormat = Texture2D::getDefaultAlphaPixelFormat(); Texture2D::PixelFormat currentFormat = Texture2D::getDefaultAlphaPixelFormat();
Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444); Texture2D::setDefaultAlphaPixelFormat(Texture2D::PixelFormat::RGBA4444);
unsigned char *data = nullptr; unsigned char *data = nullptr;
unsigned int dataLength = 0; long dataLength = 0;
getFPSImageData(&data, &dataLength); getFPSImageData(&data, &dataLength);
Image* image = new Image(); Image* image = new Image();

View File

@ -376,7 +376,7 @@ protected:
void showStats(); void showStats();
void createStatsLabel(); void createStatsLabel();
void calculateMPF(); void calculateMPF();
void getFPSImageData(unsigned char** datapointer, unsigned int* length); void getFPSImageData(unsigned char** datapointer, long* length);
/** calculates delta time since last time it was called */ /** calculates delta time since last time it was called */
void calculateDeltaTime(); void calculateDeltaTime();

View File

@ -75,7 +75,7 @@ void Font::setCurrentGlyphCollection(GlyphCollection glyphs, const char *customG
default: default:
if (customGlyphs) if (customGlyphs)
{ {
int lenght = strlen(customGlyphs); size_t lenght = strlen(customGlyphs);
_customGlyphs = new char [lenght + 2]; _customGlyphs = new char [lenght + 2];
memcpy(_customGlyphs, customGlyphs, lenght); memcpy(_customGlyphs, customGlyphs, lenght);

View File

@ -99,8 +99,8 @@ bool FontFreeType::createFontObject(const std::string &fontName, int fontSize)
{ {
FT_Face face; FT_Face face;
int len = 0; long len = 0;
_ttfData = FileUtils::getInstance()->getFileData(fontName.c_str(), "rb", (unsigned long *)(&len)); _ttfData = FileUtils::getInstance()->getFileData(fontName.c_str(), "rb", &len);
if (!_ttfData) if (!_ttfData)
return false; return false;

View File

@ -29,9 +29,9 @@
NS_CC_BEGIN NS_CC_BEGIN
Label* Label::createWithTTF( const char* label, const char* fontFilePath, int fontSize, int lineSize, TextHAlignment alignment, GlyphCollection glyphs, const char *customGlyphs ) Label* Label::createWithTTF(const std::string& label, const std::string& fontFilePath, int fontSize, int lineSize, TextHAlignment alignment, GlyphCollection glyphs, const char *customGlyphs )
{ {
FontAtlas *tmpAtlas = FontAtlasCache::getFontAtlasTTF(fontFilePath, fontSize, glyphs, customGlyphs); FontAtlas *tmpAtlas = FontAtlasCache::getFontAtlasTTF(fontFilePath.c_str(), fontSize, glyphs, customGlyphs);
if (!tmpAtlas) if (!tmpAtlas)
return nullptr; return nullptr;
@ -48,10 +48,10 @@ Label* Label::createWithTTF( const char* label, const char* fontFilePath, int fo
return nullptr; return nullptr;
} }
Label* Label::createWithBMFont( const char* label, const char* bmfontFilePath, TextHAlignment alignment, int lineSize) Label* Label::createWithBMFont(const std::string& label, const std::string& bmfontFilePath, TextHAlignment alignment, int lineSize)
{ {
FontAtlas *tmpAtlas = FontAtlasCache::getFontAtlasFNT(bmfontFilePath); FontAtlas *tmpAtlas = FontAtlasCache::getFontAtlasFNT(bmfontFilePath.c_str());
if (!tmpAtlas) if (!tmpAtlas)
return 0; return 0;
@ -135,12 +135,12 @@ bool Label::init()
return true; return true;
} }
void Label::setString(const char *stringToRender) void Label::setString(const std::string &stringToRender)
{ {
setText(stringToRender, _width, TextHAlignment::CENTER, false); setText(stringToRender, _width, TextHAlignment::CENTER, false);
} }
bool Label::setText(const char *stringToRender, float lineWidth, TextHAlignment alignment, bool lineBreakWithoutSpaces) bool Label::setText(const std::string& stringToRender, float lineWidth, TextHAlignment alignment, bool lineBreakWithoutSpaces)
{ {
if (!_fontAtlas) if (!_fontAtlas)
return false; return false;
@ -158,8 +158,8 @@ bool Label::setText(const char *stringToRender, float lineWidth, TextHAlignment
if (_commonLineHeight <= 0) if (_commonLineHeight <= 0)
return false; return false;
int numLetter = 0; // int numLetter = 0;
unsigned short* utf16String = cc_utf8_to_utf16(stringToRender); unsigned short* utf16String = cc_utf8_to_utf16(stringToRender.c_str());
if(!utf16String) if(!utf16String)
return false; return false;

View File

@ -51,13 +51,13 @@ class CC_DLL Label : public SpriteBatchNode, public LabelProtocol, public RGBAPr
public: public:
// static create // static create
static Label* createWithTTF(const char* label, const char* fontFilePath, int fontSize, int lineSize = 0, TextHAlignment alignment = TextHAlignment::CENTER, GlyphCollection glyphs = GlyphCollection::NEHE, const char *customGlyphs = 0); static Label* createWithTTF(const std::string& label, const std::string& fontFilePath, int fontSize, int lineSize = 0, TextHAlignment alignment = TextHAlignment::CENTER, GlyphCollection glyphs = GlyphCollection::NEHE, const char *customGlyphs = 0);
static Label* createWithBMFont(const char* label, const char* bmfontFilePath, TextHAlignment alignment = TextHAlignment::CENTER, int lineSize = 0); static Label* createWithBMFont(const std::string& label, const std::string& bmfontFilePath, TextHAlignment alignment = TextHAlignment::CENTER, int lineSize = 0);
bool setText(const char *stringToRender, float lineWidth, TextHAlignment alignment = TextHAlignment::LEFT, bool lineBreakWithoutSpaces = false); bool setText(const std::string& stringToRender, float lineWidth, TextHAlignment alignment = TextHAlignment::LEFT, bool lineBreakWithoutSpaces = false);
virtual void setString(const char *stringToRender) override; virtual void setString(const std::string &stringToRender) override;
virtual void setAlignment(TextHAlignment alignment); virtual void setAlignment(TextHAlignment alignment);
virtual void setWidth(float width); virtual void setWidth(float width);
virtual void setLineBreakWithoutSpace(bool breakWithoutSpace); virtual void setLineBreakWithoutSpace(bool breakWithoutSpace);

View File

@ -113,7 +113,7 @@ bool LabelAtlas::initWithString(const char *theString, const char *fntFile)
//CCLabelAtlas - Atlas generation //CCLabelAtlas - Atlas generation
void LabelAtlas::updateAtlasValues() void LabelAtlas::updateAtlasValues()
{ {
int n = _string.length(); size_t n = _string.length();
const unsigned char *s = (unsigned char*)_string.c_str(); const unsigned char *s = (unsigned char*)_string.c_str();
@ -186,9 +186,9 @@ void LabelAtlas::updateAtlasValues()
} }
//CCLabelAtlas - LabelProtocol //CCLabelAtlas - LabelProtocol
void LabelAtlas::setString(const char *label) void LabelAtlas::setString(const std::string &label)
{ {
int len = strlen(label); size_t len = label.size();
if (len > _textureAtlas->getTotalQuads()) if (len > _textureAtlas->getTotalQuads())
{ {
_textureAtlas->resizeCapacity(len); _textureAtlas->resizeCapacity(len);

View File

@ -87,7 +87,7 @@ public:
// super methods // super methods
virtual void updateAtlasValues(); virtual void updateAtlasValues();
virtual void setString(const char *label); virtual void setString(const std::string &label);
virtual const char* getString(void) const; virtual const char* getString(void) const;
#if CC_LABELATLAS_DEBUG_DRAW #if CC_LABELATLAS_DEBUG_DRAW

View File

@ -62,7 +62,7 @@ static unsigned short* copyUTF16StringN(unsigned short* str)
// //
static Dictionary* s_pConfigurations = NULL; static Dictionary* s_pConfigurations = NULL;
CCBMFontConfiguration* FNTConfigLoadFile( const char *fntFile) CCBMFontConfiguration* FNTConfigLoadFile(const std::string& fntFile)
{ {
CCBMFontConfiguration* pRet = NULL; CCBMFontConfiguration* pRet = NULL;
@ -75,7 +75,7 @@ CCBMFontConfiguration* FNTConfigLoadFile( const char *fntFile)
pRet = static_cast<CCBMFontConfiguration*>( s_pConfigurations->objectForKey(fntFile) ); pRet = static_cast<CCBMFontConfiguration*>( s_pConfigurations->objectForKey(fntFile) );
if( pRet == NULL ) if( pRet == NULL )
{ {
pRet = CCBMFontConfiguration::create(fntFile); pRet = CCBMFontConfiguration::create(fntFile.c_str());
if (pRet) if (pRet)
{ {
s_pConfigurations->setObject(pRet, fntFile); s_pConfigurations->setObject(pRet, fntFile);
@ -180,7 +180,7 @@ void CCBMFontConfiguration::purgeFontDefDictionary()
} }
} }
std::set<unsigned int>* CCBMFontConfiguration::parseConfigFile(const char *controlFile) std::set<unsigned int>* CCBMFontConfiguration::parseConfigFile(const std::string& controlFile)
{ {
std::string fullpath = FileUtils::getInstance()->fullPathForFilename(controlFile); std::string fullpath = FileUtils::getInstance()->fullPathForFilename(controlFile);
String *contents = String::createWithContentsOfFile(fullpath.c_str()); String *contents = String::createWithContentsOfFile(fullpath.c_str());
@ -191,7 +191,7 @@ std::set<unsigned int>* CCBMFontConfiguration::parseConfigFile(const char *contr
if (!contents) if (!contents)
{ {
CCLOG("cocos2d: Error parsing FNTfile %s", controlFile); CCLOG("cocos2d: Error parsing FNTfile %s", controlFile.c_str());
return NULL; return NULL;
} }
@ -200,7 +200,7 @@ std::set<unsigned int>* CCBMFontConfiguration::parseConfigFile(const char *contr
std::string strLeft = contents->getCString(); std::string strLeft = contents->getCString();
while (strLeft.length() > 0) while (strLeft.length() > 0)
{ {
int pos = strLeft.find('\n'); size_t pos = strLeft.find('\n');
if (pos != (int)std::string::npos) if (pos != (int)std::string::npos)
{ {
@ -259,7 +259,7 @@ std::set<unsigned int>* CCBMFontConfiguration::parseConfigFile(const char *contr
return validCharsString; return validCharsString;
} }
void CCBMFontConfiguration::parseImageFileName(std::string line, const char *fntFile) void CCBMFontConfiguration::parseImageFileName(std::string line, const std::string& fntFile)
{ {
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// line to parse: // line to parse:
@ -267,8 +267,8 @@ void CCBMFontConfiguration::parseImageFileName(std::string line, const char *fnt
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// page ID. Sanity check // page ID. Sanity check
int index = line.find('=')+1; long index = line.find('=')+1;
int index2 = line.find(' ', index); long index2 = line.find(' ', index);
std::string value = line.substr(index, index2-index); std::string value = line.substr(index, index2-index);
CCASSERT(atoi(value.c_str()) == 0, "LabelBMFont file could not be found"); CCASSERT(atoi(value.c_str()) == 0, "LabelBMFont file could not be found");
// file // file
@ -288,8 +288,8 @@ void CCBMFontConfiguration::parseInfoArguments(std::string line)
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// padding // padding
int index = line.find("padding="); long index = line.find("padding=");
int index2 = line.find(' ', index); long index2 = line.find(' ', index);
std::string value = line.substr(index, index2-index); std::string value = line.substr(index, index2-index);
sscanf(value.c_str(), "padding=%d,%d,%d,%d", &_padding.top, &_padding.right, &_padding.bottom, &_padding.left); sscanf(value.c_str(), "padding=%d,%d,%d,%d", &_padding.top, &_padding.right, &_padding.bottom, &_padding.left);
CCLOG("cocos2d: padding: %d,%d,%d,%d", _padding.left, _padding.top, _padding.right, _padding.bottom); CCLOG("cocos2d: padding: %d,%d,%d,%d", _padding.left, _padding.top, _padding.right, _padding.bottom);
@ -303,8 +303,8 @@ void CCBMFontConfiguration::parseCommonArguments(std::string line)
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Height // Height
int index = line.find("lineHeight="); long index = line.find("lineHeight=");
int index2 = line.find(' ', index); long index2 = line.find(' ', index);
std::string value = line.substr(index, index2-index); std::string value = line.substr(index, index2-index);
sscanf(value.c_str(), "lineHeight=%d", &_commonHeight); sscanf(value.c_str(), "lineHeight=%d", &_commonHeight);
// scaleW. sanity check // scaleW. sanity check
@ -334,8 +334,8 @@ void CCBMFontConfiguration::parseCharacterDefinition(std::string line, ccBMFontD
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Character ID // Character ID
int index = line.find("id="); long index = line.find("id=");
int index2 = line.find(' ', index); long index2 = line.find(' ', index);
std::string value = line.substr(index, index2-index); std::string value = line.substr(index, index2-index);
sscanf(value.c_str(), "id=%u", &characterDefinition->charID); sscanf(value.c_str(), "id=%u", &characterDefinition->charID);
@ -385,8 +385,8 @@ void CCBMFontConfiguration::parseKerningEntry(std::string line)
// first // first
int first; int first;
int index = line.find("first="); long index = line.find("first=");
int index2 = line.find(' ', index); long index2 = line.find(' ', index);
std::string value = line.substr(index, index2-index); std::string value = line.substr(index, index2-index);
sscanf(value.c_str(), "first=%d", &first); sscanf(value.c_str(), "first=%d", &first);
@ -431,23 +431,23 @@ LabelBMFont * LabelBMFont::create()
return NULL; return NULL;
} }
LabelBMFont * LabelBMFont::create(const char *str, const char *fntFile, float width, TextHAlignment alignment) LabelBMFont * LabelBMFont::create(const std::string& str, const std::string& fntFile, float width, TextHAlignment alignment)
{ {
return LabelBMFont::create(str, fntFile, width, alignment, Point::ZERO); return LabelBMFont::create(str, fntFile, width, alignment, Point::ZERO);
} }
LabelBMFont * LabelBMFont::create(const char *str, const char *fntFile, float width) LabelBMFont * LabelBMFont::create(const std::string& str, const std::string& fntFile, float width)
{ {
return LabelBMFont::create(str, fntFile, width, TextHAlignment::LEFT, Point::ZERO); return LabelBMFont::create(str, fntFile, width, TextHAlignment::LEFT, Point::ZERO);
} }
LabelBMFont * LabelBMFont::create(const char *str, const char *fntFile) LabelBMFont * LabelBMFont::create(const std::string& str, const std::string& fntFile)
{ {
return LabelBMFont::create(str, fntFile, kLabelAutomaticWidth, TextHAlignment::LEFT, Point::ZERO); return LabelBMFont::create(str, fntFile, kLabelAutomaticWidth, TextHAlignment::LEFT, Point::ZERO);
} }
//LabelBMFont - Creation & Init //LabelBMFont - Creation & Init
LabelBMFont *LabelBMFont::create(const char *str, const char *fntFile, float width/* = kLabelAutomaticWidth*/, TextHAlignment alignment/* = TextHAlignment::LEFT*/, Point imageOffset/* = Point::ZERO*/) LabelBMFont *LabelBMFont::create(const std::string& str, const std::string& fntFile, float width/* = kLabelAutomaticWidth*/, TextHAlignment alignment/* = TextHAlignment::LEFT*/, Point imageOffset/* = Point::ZERO*/)
{ {
LabelBMFont *pRet = new LabelBMFont(); LabelBMFont *pRet = new LabelBMFont();
if(pRet && pRet->initWithString(str, fntFile, width, alignment, imageOffset)) if(pRet && pRet->initWithString(str, fntFile, width, alignment, imageOffset))
@ -461,22 +461,21 @@ LabelBMFont *LabelBMFont::create(const char *str, const char *fntFile, float wid
bool LabelBMFont::init() bool LabelBMFont::init()
{ {
return initWithString(NULL, NULL, kLabelAutomaticWidth, TextHAlignment::LEFT, Point::ZERO); return initWithString("", "", kLabelAutomaticWidth, TextHAlignment::LEFT, Point::ZERO);
} }
bool LabelBMFont::initWithString(const char *theString, const char *fntFile, float width/* = kLabelAutomaticWidth*/, TextHAlignment alignment/* = TextHAlignment::LEFT*/, Point imageOffset/* = Point::ZERO*/) bool LabelBMFont::initWithString(const std::string& theString, const std::string& fntFile, float width/* = kLabelAutomaticWidth*/, TextHAlignment alignment/* = TextHAlignment::LEFT*/, Point imageOffset/* = Point::ZERO*/)
{ {
CCASSERT(!_configuration, "re-init is no longer supported"); CCASSERT(!_configuration, "re-init is no longer supported");
CCASSERT( (theString && fntFile) || (theString==NULL && fntFile==NULL), "Invalid params for LabelBMFont");
Texture2D *texture = NULL; Texture2D *texture = NULL;
if (fntFile) if (fntFile.size() > 0 )
{ {
CCBMFontConfiguration *newConf = FNTConfigLoadFile(fntFile); CCBMFontConfiguration *newConf = FNTConfigLoadFile(fntFile);
if (!newConf) if (!newConf)
{ {
CCLOG("cocos2d: WARNING. LabelBMFont: Impossible to create font. Please check file: '%s'", fntFile); CCLOG("cocos2d: WARNING. LabelBMFont: Impossible to create font. Please check file: '%s'", fntFile.c_str());
release(); release();
return false; return false;
} }
@ -495,12 +494,7 @@ bool LabelBMFont::initWithString(const char *theString, const char *fntFile, flo
texture->autorelease(); texture->autorelease();
} }
if (theString == NULL) if (SpriteBatchNode::initWithTexture(texture, theString.size()))
{
theString = "";
}
if (SpriteBatchNode::initWithTexture(texture, strlen(theString)))
{ {
_width = width; _width = width;
_alignment = alignment; _alignment = alignment;
@ -724,20 +718,17 @@ void LabelBMFont::createFontChars()
} }
//LabelBMFont - LabelProtocol protocol //LabelBMFont - LabelProtocol protocol
void LabelBMFont::setString(const char *newString) void LabelBMFont::setString(const std::string &newString)
{ {
this->setString(newString, true); this->setString(newString, true);
} }
void LabelBMFont::setString(const char *newString, bool needUpdateLabel) void LabelBMFont::setString(const std::string &newString, bool needUpdateLabel)
{ {
if (newString == NULL) {
newString = "";
}
if (needUpdateLabel) { if (needUpdateLabel) {
_initialStringUTF8 = newString; _initialStringUTF8 = newString;
} }
unsigned short* utf16String = cc_utf8_to_utf16(newString); unsigned short* utf16String = cc_utf8_to_utf16(newString.c_str());
setString(utf16String, needUpdateLabel); setString(utf16String, needUpdateLabel);
CC_SAFE_DELETE_ARRAY(utf16String); CC_SAFE_DELETE_ARRAY(utf16String);
} }

View File

@ -145,16 +145,16 @@ public:
/** initializes a BitmapFontConfiguration with a FNT file */ /** initializes a BitmapFontConfiguration with a FNT file */
bool initWithFNTfile(const char *FNTfile); bool initWithFNTfile(const char *FNTfile);
inline const char* getAtlasName(){ return _atlasName.c_str(); } inline const std::string& getAtlasName(){ return _atlasName; }
inline void setAtlasName(const char* atlasName) { _atlasName = atlasName; } inline void setAtlasName(const std::string& atlasName) { _atlasName = atlasName; }
std::set<unsigned int>* getCharacterSet() const; std::set<unsigned int>* getCharacterSet() const;
private: private:
std::set<unsigned int>* parseConfigFile(const char *controlFile); std::set<unsigned int>* parseConfigFile(const std::string& controlFile);
void parseCharacterDefinition(std::string line, ccBMFontDef *characterDefinition); void parseCharacterDefinition(std::string line, ccBMFontDef *characterDefinition);
void parseInfoArguments(std::string line); void parseInfoArguments(std::string line);
void parseCommonArguments(std::string line); void parseCommonArguments(std::string line);
void parseImageFileName(std::string line, const char *fntFile); void parseImageFileName(std::string line, const std::string& fntFile);
void parseKerningEntry(std::string line); void parseKerningEntry(std::string line);
void purgeKerningDictionary(); void purgeKerningDictionary();
void purgeFontDefDictionary(); void purgeFontDefDictionary();
@ -209,13 +209,13 @@ public:
static void purgeCachedData(); static void purgeCachedData();
/** creates a bitmap font atlas with an initial string and the FNT file */ /** creates a bitmap font atlas with an initial string and the FNT file */
static LabelBMFont * create(const char *str, const char *fntFile, float width, TextHAlignment alignment, Point imageOffset); static LabelBMFont * create(const std::string& str, const std::string& fntFile, float width, TextHAlignment alignment, Point imageOffset);
static LabelBMFont * create(const char *str, const char *fntFile, float width, TextHAlignment alignment); static LabelBMFont * create(const std::string& str, const std::string& fntFile, float width, TextHAlignment alignment);
static LabelBMFont * create(const char *str, const char *fntFile, float width); static LabelBMFont * create(const std::string& str, const std::string& fntFile, float width);
static LabelBMFont * create(const char *str, const char *fntFile); static LabelBMFont * create(const std::string& str, const std::string& fntFile);
/** Creates an label. /** Creates an label.
*/ */
@ -223,15 +223,15 @@ public:
bool init(); bool init();
/** init a bitmap font atlas with an initial string and the FNT file */ /** init a bitmap font atlas with an initial string and the FNT file */
bool initWithString(const char *str, const char *fntFile, float width = kLabelAutomaticWidth, TextHAlignment alignment = TextHAlignment::LEFT, Point imageOffset = Point::ZERO); bool initWithString(const std::string& str, const std::string& fntFile, float width = kLabelAutomaticWidth, TextHAlignment alignment = TextHAlignment::LEFT, Point imageOffset = Point::ZERO);
/** updates the font chars based on the string to render */ /** updates the font chars based on the string to render */
void createFontChars(); void createFontChars();
// super method // super method
virtual void setString(const char *newString); virtual void setString(const std::string& newString);
virtual void setString(const char *newString, bool needUpdateLabel); virtual void setString(const std::string& newString, bool needUpdateLabel);
virtual const char* getString(void) const; virtual const char* getString() const;
virtual void setCString(const char *label); virtual void setCString(const char *label);
virtual void setAnchorPoint(const Point& var); virtual void setAnchorPoint(const Point& var);
virtual void updateLabel(); virtual void updateLabel();
@ -264,7 +264,7 @@ public:
virtual void draw(); virtual void draw();
#endif // CC_LABELBMFONT_DEBUG_DRAW #endif // CC_LABELBMFONT_DEBUG_DRAW
private: private:
char * atlasNameFromFntFile(const char *fntFile); char * atlasNameFromFntFile(const std::string& fntFile);
int kerningAmountForFirst(unsigned short first, unsigned short second); int kerningAmountForFirst(unsigned short first, unsigned short second);
float getLetterPosXLeft( Sprite* characterSprite ); float getLetterPosXLeft( Sprite* characterSprite );
float getLetterPosXRight( Sprite* characterSprite ); float getLetterPosXRight( Sprite* characterSprite );
@ -309,7 +309,7 @@ protected:
/** Free function that parses a FNT file a place it on the cache /** Free function that parses a FNT file a place it on the cache
*/ */
CC_DLL CCBMFontConfiguration * FNTConfigLoadFile( const char *file ); CC_DLL CCBMFontConfiguration * FNTConfigLoadFile(const std::string &file);
/** Purges the FNT config cache /** Purges the FNT config cache
*/ */
CC_DLL void FNTConfigRemoveCache( void ); CC_DLL void FNTConfigRemoveCache( void );

View File

@ -171,10 +171,8 @@ bool LabelTTF::initWithStringAndTextDefinition(const char *string, FontDefinitio
} }
void LabelTTF::setString(const char *string) void LabelTTF::setString(const std::string &string)
{ {
CCASSERT(string != NULL, "Invalid string");
if (_string.compare(string)) if (_string.compare(string))
{ {
_string = string; _string = string;

View File

@ -144,7 +144,7 @@ public:
/** changes the string to render /** changes the string to render
* @warning Changing the string is as expensive as creating a new LabelTTF. To obtain better performance use LabelAtlas * @warning Changing the string is as expensive as creating a new LabelTTF. To obtain better performance use LabelAtlas
*/ */
virtual void setString(const char *label); virtual void setString(const std::string &label);
virtual const char* getString(void) const; virtual const char* getString(void) const;
TextHAlignment getHorizontalAlignment() const; TextHAlignment getHorizontalAlignment() const;

View File

@ -402,7 +402,7 @@ void Node::setPositionY(float y)
setPosition(Point(_position.x, y)); setPosition(Point(_position.x, y));
} }
unsigned int Node::getChildrenCount() const long Node::getChildrenCount() const
{ {
return _children ? _children->count() : 0; return _children ? _children->count() : 0;
} }
@ -694,7 +694,7 @@ void Node::removeChild(Node* child, bool cleanup /* = true */)
return; return;
} }
int index = _children->getIndexOfObject(child); long index = _children->getIndexOfObject(child);
if( index != CC_INVALID_INDEX ) if( index != CC_INVALID_INDEX )
this->detachChild( child, index, cleanup ); this->detachChild( child, index, cleanup );
} }
@ -754,7 +754,7 @@ void Node::removeAllChildrenWithCleanup(bool cleanup)
} }
void Node::detachChild(Node *child, int childIndex, bool doCleanup) void Node::detachChild(Node *child, long childIndex, bool doCleanup)
{ {
// IMPORTANT: // IMPORTANT:
// -1st do onExit // -1st do onExit

View File

@ -644,7 +644,7 @@ public:
* *
* @return The amount of children. * @return The amount of children.
*/ */
unsigned int getChildrenCount() const; long getChildrenCount() const;
/** /**
* Sets the parent node * Sets the parent node
@ -1421,7 +1421,7 @@ protected:
void insertChild(Node* child, int z); void insertChild(Node* child, int z);
/// Removes a child, call child->onExit(), do cleanup, remove it from children array. /// Removes a child, call child->onExit(), do cleanup, remove it from children array.
void detachChild(Node *child, int index, bool doCleanup); void detachChild(Node *child, long index, bool doCleanup);
/// Convert cocos2d coordinates to UI windows coordinate. /// Convert cocos2d coordinates to UI windows coordinate.
Point convertToWindowSpace(const Point& nodePoint) const; Point convertToWindowSpace(const Point& nodePoint) const;

View File

@ -136,7 +136,7 @@ ParticleSystem::ParticleSystem()
} }
// implementation ParticleSystem // implementation ParticleSystem
ParticleSystem * ParticleSystem::create(const char *plistFile) ParticleSystem * ParticleSystem::create(const std::string& plistFile)
{ {
ParticleSystem *pRet = new ParticleSystem(); ParticleSystem *pRet = new ParticleSystem();
if (pRet && pRet->initWithFile(plistFile)) if (pRet && pRet->initWithFile(plistFile))
@ -165,7 +165,7 @@ bool ParticleSystem::init()
return initWithTotalParticles(150); return initWithTotalParticles(150);
} }
bool ParticleSystem::initWithFile(const char *plistFile) bool ParticleSystem::initWithFile(const std::string& plistFile)
{ {
bool bRet = false; bool bRet = false;
_plistFile = FileUtils::getInstance()->fullPathForFilename(plistFile); _plistFile = FileUtils::getInstance()->fullPathForFilename(plistFile);
@ -195,7 +195,7 @@ bool ParticleSystem::initWithDictionary(Dictionary *dictionary)
return initWithDictionary(dictionary, ""); return initWithDictionary(dictionary, "");
} }
bool ParticleSystem::initWithDictionary(Dictionary *dictionary, const char *dirname) bool ParticleSystem::initWithDictionary(Dictionary *dictionary, const std::string& dirname)
{ {
bool bRet = false; bool bRet = false;
unsigned char *buffer = NULL; unsigned char *buffer = NULL;
@ -353,17 +353,17 @@ bool ParticleSystem::initWithDictionary(Dictionary *dictionary, const char *dirn
{ {
string textureDir = textureName.substr(0, rPos + 1); string textureDir = textureName.substr(0, rPos + 1);
if (dirname != NULL && textureDir != dirname) if (dirname.size()>0 && textureDir != dirname)
{ {
textureName = textureName.substr(rPos+1); textureName = textureName.substr(rPos+1);
textureName = string(dirname) + textureName; textureName = dirname + textureName;
} }
} }
else else
{ {
if (dirname != NULL) if (dirname.size()>0)
{ {
textureName = string(dirname) + textureName; textureName = dirname + textureName;
} }
} }
@ -388,7 +388,7 @@ bool ParticleSystem::initWithDictionary(Dictionary *dictionary, const char *dirn
const char *textureData = dictionary->valueForKey("textureImageData")->getCString(); const char *textureData = dictionary->valueForKey("textureImageData")->getCString();
CCASSERT(textureData, ""); CCASSERT(textureData, "");
int dataLen = strlen(textureData); long dataLen = strlen(textureData);
if(dataLen != 0) if(dataLen != 0)
{ {
// if it fails, try to get it from the base64-gzipped data // if it fails, try to get it from the base64-gzipped data

View File

@ -167,7 +167,7 @@ public:
http://particledesigner.71squared.com/ http://particledesigner.71squared.com/
@since v2.0 @since v2.0
*/ */
static ParticleSystem * create(const char *plistFile); static ParticleSystem * create(const std::string& plistFile);
//! create a system with a fixed number of particles //! create a system with a fixed number of particles
static ParticleSystem* createWithTotalParticles(unsigned int numberOfParticles); static ParticleSystem* createWithTotalParticles(unsigned int numberOfParticles);
@ -188,7 +188,7 @@ public:
http://particledesigner.71squared.com/ http://particledesigner.71squared.com/
@since v0.99.3 @since v0.99.3
*/ */
bool initWithFile(const char *plistFile); bool initWithFile(const std::string& plistFile);
/** initializes a QuadParticleSystem from a Dictionary. /** initializes a QuadParticleSystem from a Dictionary.
@since v0.99.3 @since v0.99.3
@ -198,7 +198,7 @@ public:
/** initializes a particle system from a NSDictionary and the path from where to load the png /** initializes a particle system from a NSDictionary and the path from where to load the png
@since v2.1 @since v2.1
*/ */
bool initWithDictionary(Dictionary *dictionary, const char *dirname); bool initWithDictionary(Dictionary *dictionary, const std::string& dirname);
//! Initializes a system with a fixed number of particles //! Initializes a system with a fixed number of particles
virtual bool initWithTotalParticles(unsigned int numberOfParticles); virtual bool initWithTotalParticles(unsigned int numberOfParticles);

View File

@ -166,7 +166,7 @@ void ProfilingEndTimingBlock(const char *timerName)
CCASSERT(timer, "CCProfilingTimer not found"); CCASSERT(timer, "CCProfilingTimer not found");
int duration = chrono::duration_cast<chrono::microseconds>(now - timer->_startTime).count(); long duration = chrono::duration_cast<chrono::microseconds>(now - timer->_startTime).count();
timer->totalTime += duration; timer->totalTime += duration;
timer->_averageTime1 = (timer->_averageTime1 + duration) / 2.0f; timer->_averageTime1 = (timer->_averageTime1 + duration) / 2.0f;

View File

@ -134,12 +134,12 @@ public:
std::string _nameStr; std::string _nameStr;
std::chrono::high_resolution_clock::time_point _startTime; std::chrono::high_resolution_clock::time_point _startTime;
int _averageTime1; long _averageTime1;
int _averageTime2; long _averageTime2;
int minTime; long minTime;
int maxTime; long maxTime;
long long totalTime; long totalTime;
int numberOfCalls; long numberOfCalls;
}; };
extern void ProfilingBeginTimingBlock(const char *timerName); extern void ProfilingBeginTimingBlock(const char *timerName);

View File

@ -229,7 +229,7 @@ public:
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
virtual void setString(const char *label) = 0; virtual void setString(const std::string &label) = 0;
/** /**
* Returns the string that is currently being used in this label * Returns the string that is currently being used in this label

View File

@ -198,8 +198,8 @@ bool RenderTexture::initWithWidthAndHeight(int w, int h, Texture2D::PixelFormat
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &_oldFBO); glGetIntegerv(GL_FRAMEBUFFER_BINDING, &_oldFBO);
// textures must be power of two squared // textures must be power of two squared
unsigned int powW = 0; long powW = 0;
unsigned int powH = 0; long powH = 0;
if (Configuration::getInstance()->supportsNPOT()) if (Configuration::getInstance()->supportsNPOT())
{ {
@ -212,7 +212,7 @@ bool RenderTexture::initWithWidthAndHeight(int w, int h, Texture2D::PixelFormat
powH = ccNextPOT(h); powH = ccNextPOT(h);
} }
int dataLen = (int)(powW * powH * 4); long dataLen = (long)(powW * powH * 4);
data = malloc(dataLen); data = malloc(dataLen);
CC_BREAK_IF(! data); CC_BREAK_IF(! data);

View File

@ -82,7 +82,7 @@ Sprite* Sprite::createWithTexture(Texture2D *texture, const Rect& rect)
return NULL; return NULL;
} }
Sprite* Sprite::create(const char *filename) Sprite* Sprite::create(const std::string& filename)
{ {
Sprite *sprite = new Sprite(); Sprite *sprite = new Sprite();
if (sprite && sprite->initWithFile(filename)) if (sprite && sprite->initWithFile(filename))
@ -94,7 +94,7 @@ Sprite* Sprite::create(const char *filename)
return NULL; return NULL;
} }
Sprite* Sprite::create(const char *filename, const Rect& rect) Sprite* Sprite::create(const std::string& filename, const Rect& rect)
{ {
Sprite *sprite = new Sprite(); Sprite *sprite = new Sprite();
if (sprite && sprite->initWithFile(filename, rect)) if (sprite && sprite->initWithFile(filename, rect))
@ -118,13 +118,13 @@ Sprite* Sprite::createWithSpriteFrame(SpriteFrame *spriteFrame)
return NULL; return NULL;
} }
Sprite* Sprite::createWithSpriteFrameName(const char *spriteFrameName) Sprite* Sprite::createWithSpriteFrameName(const std::string& spriteFrameName)
{ {
SpriteFrame *frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(spriteFrameName); SpriteFrame *frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(spriteFrameName);
#if COCOS2D_DEBUG > 0 #if COCOS2D_DEBUG > 0
char msg[256] = {0}; char msg[256] = {0};
sprintf(msg, "Invalid spriteFrameName: %s", spriteFrameName); sprintf(msg, "Invalid spriteFrameName: %s", spriteFrameName.c_str());
CCASSERT(frame != NULL, msg); CCASSERT(frame != NULL, msg);
#endif #endif
@ -215,9 +215,9 @@ bool Sprite::initWithTexture(Texture2D *texture)
return initWithTexture(texture, rect); return initWithTexture(texture, rect);
} }
bool Sprite::initWithFile(const char *filename) bool Sprite::initWithFile(const std::string& filename)
{ {
CCASSERT(filename != NULL, "Invalid filename for sprite"); CCASSERT(filename.size()>0, "Invalid filename for sprite");
Texture2D *texture = TextureCache::getInstance()->addImage(filename); Texture2D *texture = TextureCache::getInstance()->addImage(filename);
if (texture) if (texture)
@ -233,9 +233,9 @@ bool Sprite::initWithFile(const char *filename)
return false; return false;
} }
bool Sprite::initWithFile(const char *filename, const Rect& rect) bool Sprite::initWithFile(const std::string &filename, const Rect& rect)
{ {
CCASSERT(filename != NULL, ""); CCASSERT(filename.size()>0, "Invalid filename");
Texture2D *texture = TextureCache::getInstance()->addImage(filename); Texture2D *texture = TextureCache::getInstance()->addImage(filename);
if (texture) if (texture)
@ -259,9 +259,9 @@ bool Sprite::initWithSpriteFrame(SpriteFrame *spriteFrame)
return bRet; return bRet;
} }
bool Sprite::initWithSpriteFrameName(const char *spriteFrameName) bool Sprite::initWithSpriteFrameName(const std::string& spriteFrameName)
{ {
CCASSERT(spriteFrameName != NULL, ""); CCASSERT(spriteFrameName.size() > 0, "Invalid spriteFrameName");
SpriteFrame *frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(spriteFrameName); SpriteFrame *frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(spriteFrameName);
return initWithSpriteFrame(frame); return initWithSpriteFrame(frame);
@ -992,9 +992,9 @@ void Sprite::setDisplayFrame(SpriteFrame *pNewFrame)
setTextureRect(pNewFrame->getRect(), _rectRotated, pNewFrame->getOriginalSize()); setTextureRect(pNewFrame->getRect(), _rectRotated, pNewFrame->getOriginalSize());
} }
void Sprite::setDisplayFrameWithAnimationName(const char *animationName, int frameIndex) void Sprite::setDisplayFrameWithAnimationName(const std::string& animationName, int frameIndex)
{ {
CCASSERT(animationName, "CCSprite#setDisplayFrameWithAnimationName. animationName must not be NULL"); CCASSERT(animationName.size()>0, "CCSprite#setDisplayFrameWithAnimationName. animationName must not be NULL");
Animation *a = AnimationCache::getInstance()->getAnimation(animationName); Animation *a = AnimationCache::getInstance()->getAnimation(animationName);

View File

@ -105,7 +105,7 @@ public:
* @param filename The string which indicates a path to image file, e.g., "scene1/monster.png". * @param filename The string which indicates a path to image file, e.g., "scene1/monster.png".
* @return A valid sprite object that is marked as autoreleased. * @return A valid sprite object that is marked as autoreleased.
*/ */
static Sprite* create(const char *filename); static Sprite* create(const std::string& filename);
/** /**
* Creates a sprite with an image filename and a rect. * Creates a sprite with an image filename and a rect.
@ -114,7 +114,7 @@ public:
* @param rect Only the contents inside rect of filename's texture will be applied for this sprite. * @param rect Only the contents inside rect of filename's texture will be applied for this sprite.
* @return A valid sprite object that is marked as autoreleased. * @return A valid sprite object that is marked as autoreleased.
*/ */
static Sprite* create(const char *filename, const Rect& rect); static Sprite* create(const std::string& filename, const Rect& rect);
/** /**
* Creates a sprite with an exsiting texture contained in a Texture2D object * Creates a sprite with an exsiting texture contained in a Texture2D object
@ -154,7 +154,7 @@ public:
* @param spriteFrameName A null terminated string which indicates the sprite frame name. * @param spriteFrameName A null terminated string which indicates the sprite frame name.
* @return A valid sprite object that is marked as autoreleased. * @return A valid sprite object that is marked as autoreleased.
*/ */
static Sprite* createWithSpriteFrameName(const char *spriteFrameName); static Sprite* createWithSpriteFrameName(const std::string& spriteFrameName);
/// @} end of creators group /// @} end of creators group
@ -233,7 +233,7 @@ public:
* @param spriteFrameName A key string that can fected a volid SpriteFrame from SpriteFrameCache * @param spriteFrameName A key string that can fected a volid SpriteFrame from SpriteFrameCache
* @return true if the sprite is initialized properly, false otherwise. * @return true if the sprite is initialized properly, false otherwise.
*/ */
virtual bool initWithSpriteFrameName(const char *spriteFrameName); virtual bool initWithSpriteFrameName(const std::string& spriteFrameName);
/** /**
* Initializes a sprite with an image filename. * Initializes a sprite with an image filename.
@ -247,7 +247,7 @@ public:
* @js init * @js init
* @lua init * @lua init
*/ */
virtual bool initWithFile(const char *filename); virtual bool initWithFile(const std::string& filename);
/** /**
* Initializes a sprite with an image filename, and a rect. * Initializes a sprite with an image filename, and a rect.
@ -262,7 +262,7 @@ public:
* @js init * @js init
* @lua init * @lua init
*/ */
virtual bool initWithFile(const char *filename, const Rect& rect); virtual bool initWithFile(const std::string& filename, const Rect& rect);
/// @} end of initializers /// @} end of initializers
@ -354,7 +354,7 @@ public:
* Changes the display frame with animation name and index. * Changes the display frame with animation name and index.
* The animation name will be get from the AnimationCache * The animation name will be get from the AnimationCache
*/ */
virtual void setDisplayFrameWithAnimationName(const char *animationName, int frameIndex); virtual void setDisplayFrameWithAnimationName(const std::string& animationName, int frameIndex);
/// @} /// @}

View File

@ -64,7 +64,7 @@ SpriteBatchNode* SpriteBatchNode::createWithTexture(Texture2D* tex, int capacity
* creation with File Image * creation with File Image
*/ */
SpriteBatchNode* SpriteBatchNode::create(const char *fileImage, int capacity/* = DEFAULT_CAPACITY*/) SpriteBatchNode* SpriteBatchNode::create(const char *fileImage, long capacity/* = DEFAULT_CAPACITY*/)
{ {
SpriteBatchNode *batchNode = new SpriteBatchNode(); SpriteBatchNode *batchNode = new SpriteBatchNode();
batchNode->initWithFile(fileImage, capacity); batchNode->initWithFile(fileImage, capacity);
@ -76,7 +76,7 @@ SpriteBatchNode* SpriteBatchNode::create(const char *fileImage, int capacity/* =
/* /*
* init with Texture2D * init with Texture2D
*/ */
bool SpriteBatchNode::initWithTexture(Texture2D *tex, int capacity) bool SpriteBatchNode::initWithTexture(Texture2D *tex, long capacity)
{ {
CCASSERT(capacity>=0, "Capacity must be >= 0"); CCASSERT(capacity>=0, "Capacity must be >= 0");
@ -112,7 +112,7 @@ bool SpriteBatchNode::init()
/* /*
* init with FileImage * init with FileImage
*/ */
bool SpriteBatchNode::initWithFile(const char* fileImage, int capacity) bool SpriteBatchNode::initWithFile(const char* fileImage, long capacity)
{ {
Texture2D *texture2D = TextureCache::getInstance()->addImage(fileImage); Texture2D *texture2D = TextureCache::getInstance()->addImage(fileImage);
return initWithTexture(texture2D, capacity); return initWithTexture(texture2D, capacity);

View File

@ -74,7 +74,7 @@ public:
The capacity will be increased in 33% in runtime if it run out of space. The capacity will be increased in 33% in runtime if it run out of space.
The file will be loaded using the TextureMgr. The file will be loaded using the TextureMgr.
*/ */
static SpriteBatchNode* create(const char* fileImage, int capacity = DEFAULT_CAPACITY); static SpriteBatchNode* create(const char* fileImage, long capacity = DEFAULT_CAPACITY);
/** /**
* @js ctor * @js ctor
*/ */
@ -88,14 +88,14 @@ public:
/** initializes a SpriteBatchNode with a texture2d and capacity of children. /** initializes a SpriteBatchNode with a texture2d and capacity of children.
The capacity will be increased in 33% in runtime if it run out of space. The capacity will be increased in 33% in runtime if it run out of space.
*/ */
bool initWithTexture(Texture2D *tex, int capacity); bool initWithTexture(Texture2D *tex, long capacity);
/** initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children. /** initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children.
The capacity will be increased in 33% in runtime if it run out of space. The capacity will be increased in 33% in runtime if it run out of space.
The file will be loaded using the TextureMgr. The file will be loaded using the TextureMgr.
* @js init * @js init
* @lua init * @lua init
*/ */
bool initWithFile(const char* fileImage, int capacity); bool initWithFile(const char* fileImage, long capacity);
bool init(); bool init();
/** returns the TextureAtlas object */ /** returns the TextureAtlas object */

View File

@ -31,61 +31,61 @@ NS_CC_BEGIN
// implementation of SpriteFrame // implementation of SpriteFrame
SpriteFrame* SpriteFrame::create(const char* filename, const Rect& rect) SpriteFrame* SpriteFrame::create(const std::string& filename, const Rect& rect)
{ {
SpriteFrame *pSpriteFrame = new SpriteFrame();; SpriteFrame *pSpriteFrame = new SpriteFrame();
pSpriteFrame->initWithTextureFilename(filename, rect); pSpriteFrame->initWithTextureFilename(filename, rect);
pSpriteFrame->autorelease(); pSpriteFrame->autorelease();
return pSpriteFrame; return pSpriteFrame;
} }
SpriteFrame* SpriteFrame::createWithTexture(Texture2D *pobTexture, const Rect& rect) SpriteFrame* SpriteFrame::createWithTexture(Texture2D *texture, const Rect& rect)
{ {
SpriteFrame *pSpriteFrame = new SpriteFrame();; SpriteFrame *pSpriteFrame = new SpriteFrame();
pSpriteFrame->initWithTexture(pobTexture, rect); pSpriteFrame->initWithTexture(texture, rect);
pSpriteFrame->autorelease(); pSpriteFrame->autorelease();
return pSpriteFrame; return pSpriteFrame;
} }
SpriteFrame* SpriteFrame::createWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize) SpriteFrame* SpriteFrame::createWithTexture(Texture2D* texture, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize)
{ {
SpriteFrame *pSpriteFrame = new SpriteFrame();; SpriteFrame *pSpriteFrame = new SpriteFrame();
pSpriteFrame->initWithTexture(pobTexture, rect, rotated, offset, originalSize); pSpriteFrame->initWithTexture(texture, rect, rotated, offset, originalSize);
pSpriteFrame->autorelease(); pSpriteFrame->autorelease();
return pSpriteFrame; return pSpriteFrame;
} }
SpriteFrame* SpriteFrame::create(const char* filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize) SpriteFrame* SpriteFrame::create(const std::string& filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize)
{ {
SpriteFrame *pSpriteFrame = new SpriteFrame();; SpriteFrame *pSpriteFrame = new SpriteFrame();
pSpriteFrame->initWithTextureFilename(filename, rect, rotated, offset, originalSize); pSpriteFrame->initWithTextureFilename(filename, rect, rotated, offset, originalSize);
pSpriteFrame->autorelease(); pSpriteFrame->autorelease();
return pSpriteFrame; return pSpriteFrame;
} }
bool SpriteFrame::initWithTexture(Texture2D* pobTexture, const Rect& rect) bool SpriteFrame::initWithTexture(Texture2D* texture, const Rect& rect)
{ {
Rect rectInPixels = CC_RECT_POINTS_TO_PIXELS(rect); Rect rectInPixels = CC_RECT_POINTS_TO_PIXELS(rect);
return initWithTexture(pobTexture, rectInPixels, false, Point::ZERO, rectInPixels.size); return initWithTexture(texture, rectInPixels, false, Point::ZERO, rectInPixels.size);
} }
bool SpriteFrame::initWithTextureFilename(const char* filename, const Rect& rect) bool SpriteFrame::initWithTextureFilename(const std::string& filename, const Rect& rect)
{ {
Rect rectInPixels = CC_RECT_POINTS_TO_PIXELS( rect ); Rect rectInPixels = CC_RECT_POINTS_TO_PIXELS( rect );
return initWithTextureFilename(filename, rectInPixels, false, Point::ZERO, rectInPixels.size); return initWithTextureFilename(filename, rectInPixels, false, Point::ZERO, rectInPixels.size);
} }
bool SpriteFrame::initWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize) bool SpriteFrame::initWithTexture(Texture2D* texture, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize)
{ {
_texture = pobTexture; _texture = texture;
if (pobTexture) if (texture)
{ {
pobTexture->retain(); texture->retain();
} }
_rectInPixels = rect; _rectInPixels = rect;
@ -99,7 +99,7 @@ bool SpriteFrame::initWithTexture(Texture2D* pobTexture, const Rect& rect, bool
return true; return true;
} }
bool SpriteFrame::initWithTextureFilename(const char* filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize) bool SpriteFrame::initWithTextureFilename(const std::string& filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize)
{ {
_texture = NULL; _texture = NULL;
_textureFilename = filename; _textureFilename = filename;

View File

@ -58,12 +58,12 @@ public:
/** Create a SpriteFrame with a texture filename, rect in points. /** Create a SpriteFrame with a texture filename, rect in points.
It is assumed that the frame was not trimmed. It is assumed that the frame was not trimmed.
*/ */
static SpriteFrame* create(const char* filename, const Rect& rect); static SpriteFrame* create(const std::string& filename, const Rect& rect);
/** Create a SpriteFrame with a texture filename, rect, rotated, offset and originalSize in pixels. /** Create a SpriteFrame with a texture filename, rect, rotated, offset and originalSize in pixels.
The originalSize is the size in pixels of the frame before being trimmed. The originalSize is the size in pixels of the frame before being trimmed.
*/ */
static SpriteFrame* create(const char* filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize); static SpriteFrame* create(const std::string& filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize);
/** Create a SpriteFrame with a texture, rect in points. /** Create a SpriteFrame with a texture, rect in points.
It is assumed that the frame was not trimmed. It is assumed that the frame was not trimmed.
@ -88,7 +88,7 @@ public:
/** Initializes a SpriteFrame with a texture filename, rect in points; /** Initializes a SpriteFrame with a texture filename, rect in points;
It is assumed that the frame was not trimmed. It is assumed that the frame was not trimmed.
*/ */
bool initWithTextureFilename(const char* filename, const Rect& rect); bool initWithTextureFilename(const std::string& filename, const Rect& rect);
/** Initializes a SpriteFrame with a texture, rect, rotated, offset and originalSize in pixels. /** Initializes a SpriteFrame with a texture, rect, rotated, offset and originalSize in pixels.
The originalSize is the size in points of the frame before being trimmed. The originalSize is the size in points of the frame before being trimmed.
@ -100,7 +100,7 @@ public:
@since v1.1 @since v1.1
*/ */
bool initWithTextureFilename(const char* filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize); bool initWithTextureFilename(const std::string& filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize);
// attributes // attributes

View File

@ -102,11 +102,11 @@ void SpriteFrameCache::addSpriteFramesWithDictionary(Dictionary* dictionary, Tex
// check the format // check the format
CCASSERT(format >=0 && format <= 3, "format is not supported for SpriteFrameCache addSpriteFramesWithDictionary:textureFilename:"); CCASSERT(format >=0 && format <= 3, "format is not supported for SpriteFrameCache addSpriteFramesWithDictionary:textureFilename:");
DictElement* pElement = NULL; DictElement* element = NULL;
CCDICT_FOREACH(framesDict, pElement) CCDICT_FOREACH(framesDict, element)
{ {
Dictionary* frameDict = static_cast<Dictionary*>(pElement->getObject()); Dictionary* frameDict = static_cast<Dictionary*>(element->getObject());
std::string spriteFrameName = pElement->getStrKey(); std::string spriteFrameName = element->getStrKey();
SpriteFrame* spriteFrame = static_cast<SpriteFrame*>(_spriteFrames->objectForKey(spriteFrameName)); SpriteFrame* spriteFrame = static_cast<SpriteFrame*>(_spriteFrames->objectForKey(spriteFrameName));
if (spriteFrame) if (spriteFrame)
{ {
@ -203,7 +203,7 @@ void SpriteFrameCache::addSpriteFramesWithDictionary(Dictionary* dictionary, Tex
} }
} }
void SpriteFrameCache::addSpriteFramesWithFile(const char *pszPlist, Texture2D *pobTexture) void SpriteFrameCache::addSpriteFramesWithFile(const std::string& pszPlist, Texture2D *pobTexture)
{ {
std::string fullPath = FileUtils::getInstance()->fullPathForFilename(pszPlist); std::string fullPath = FileUtils::getInstance()->fullPathForFilename(pszPlist);
Dictionary *dict = Dictionary::createWithContentsOfFileThreadSafe(fullPath.c_str()); Dictionary *dict = Dictionary::createWithContentsOfFileThreadSafe(fullPath.c_str());
@ -212,9 +212,9 @@ void SpriteFrameCache::addSpriteFramesWithFile(const char *pszPlist, Texture2D *
dict->release(); dict->release();
} }
void SpriteFrameCache::addSpriteFramesWithFile(const char* plist, const char* textureFileName) void SpriteFrameCache::addSpriteFramesWithFile(const std::string& plist, const std::string& textureFileName)
{ {
CCASSERT(textureFileName, "texture name should not be null"); CCASSERT(textureFileName.size()>0, "texture name should not be null");
Texture2D *texture = TextureCache::getInstance()->addImage(textureFileName); Texture2D *texture = TextureCache::getInstance()->addImage(textureFileName);
if (texture) if (texture)
@ -223,13 +223,13 @@ void SpriteFrameCache::addSpriteFramesWithFile(const char* plist, const char* te
} }
else else
{ {
CCLOG("cocos2d: SpriteFrameCache: couldn't load texture file. File not found %s", textureFileName); CCLOG("cocos2d: SpriteFrameCache: couldn't load texture file. File not found %s", textureFileName.c_str());
} }
} }
void SpriteFrameCache::addSpriteFramesWithFile(const char *pszPlist) void SpriteFrameCache::addSpriteFramesWithFile(const std::string& pszPlist)
{ {
CCASSERT(pszPlist, "plist filename should not be NULL"); CCASSERT(pszPlist.size()>0, "plist filename should not be NULL");
if (_loadedFileNames->find(pszPlist) == _loadedFileNames->end()) if (_loadedFileNames->find(pszPlist) == _loadedFileNames->end())
{ {
@ -280,7 +280,7 @@ void SpriteFrameCache::addSpriteFramesWithFile(const char *pszPlist)
} }
} }
void SpriteFrameCache::addSpriteFrame(SpriteFrame *pobFrame, const char *pszFrameName) void SpriteFrameCache::addSpriteFrame(SpriteFrame *pobFrame, const std::string& pszFrameName)
{ {
_spriteFrames->setObject(pobFrame, pszFrameName); _spriteFrames->setObject(pobFrame, pszFrameName);
} }
@ -295,14 +295,14 @@ void SpriteFrameCache::removeSpriteFrames(void)
void SpriteFrameCache::removeUnusedSpriteFrames(void) void SpriteFrameCache::removeUnusedSpriteFrames(void)
{ {
bool bRemoved = false; bool bRemoved = false;
DictElement* pElement = NULL; DictElement* element = NULL;
CCDICT_FOREACH(_spriteFrames, pElement) CCDICT_FOREACH(_spriteFrames, element)
{ {
SpriteFrame* spriteFrame = static_cast<SpriteFrame*>(pElement->getObject()); SpriteFrame* spriteFrame = static_cast<SpriteFrame*>(element->getObject());
if( spriteFrame->retainCount() == 1 ) if( spriteFrame->retainCount() == 1 )
{ {
CCLOG("cocos2d: SpriteFrameCache: removing unused frame: %s", pElement->getStrKey()); CCLOG("cocos2d: SpriteFrameCache: removing unused frame: %s", element->getStrKey());
_spriteFrames->removeObjectForElememt(pElement); _spriteFrames->removeObjectForElememt(element);
bRemoved = true; bRemoved = true;
} }
} }
@ -315,16 +315,14 @@ void SpriteFrameCache::removeUnusedSpriteFrames(void)
} }
void SpriteFrameCache::removeSpriteFrameByName(const char *pszName) void SpriteFrameCache::removeSpriteFrameByName(const std::string& name)
{ {
// explicit nil handling // explicit nil handling
if( ! pszName ) if( ! name.size()>0 )
{
return; return;
}
// Is this an alias ? // Is this an alias ?
String* key = (String*)_spriteFramesAliases->objectForKey(pszName); String* key = (String*)_spriteFramesAliases->objectForKey(name);
if (key) if (key)
{ {
@ -333,20 +331,20 @@ void SpriteFrameCache::removeSpriteFrameByName(const char *pszName)
} }
else else
{ {
_spriteFrames->removeObjectForKey(pszName); _spriteFrames->removeObjectForKey(name);
} }
// XXX. Since we don't know the .plist file that originated the frame, we must remove all .plist from the cache // XXX. Since we don't know the .plist file that originated the frame, we must remove all .plist from the cache
_loadedFileNames->clear(); _loadedFileNames->clear();
} }
void SpriteFrameCache::removeSpriteFramesFromFile(const char* plist) void SpriteFrameCache::removeSpriteFramesFromFile(const std::string& plist)
{ {
std::string fullPath = FileUtils::getInstance()->fullPathForFilename(plist); std::string fullPath = FileUtils::getInstance()->fullPathForFilename(plist);
Dictionary* dict = Dictionary::createWithContentsOfFileThreadSafe(fullPath.c_str()); Dictionary* dict = Dictionary::createWithContentsOfFileThreadSafe(fullPath.c_str());
if (dict == nullptr) if (dict == nullptr)
{ {
CCLOG("cocos2d:SpriteFrameCache:removeSpriteFramesFromFile: create dict by %s fail.",plist); CCLOG("cocos2d:SpriteFrameCache:removeSpriteFramesFromFile: create dict by %s fail.",plist.c_str());
return; return;
} }
removeSpriteFramesFromDictionary((Dictionary*)dict); removeSpriteFramesFromDictionary((Dictionary*)dict);
@ -365,12 +363,12 @@ void SpriteFrameCache::removeSpriteFramesFromDictionary(Dictionary* dictionary)
Dictionary* framesDict = static_cast<Dictionary*>(dictionary->objectForKey("frames")); Dictionary* framesDict = static_cast<Dictionary*>(dictionary->objectForKey("frames"));
Array* keysToRemove = Array::create(); Array* keysToRemove = Array::create();
DictElement* pElement = NULL; DictElement* element = NULL;
CCDICT_FOREACH(framesDict, pElement) CCDICT_FOREACH(framesDict, element)
{ {
if (_spriteFrames->objectForKey(pElement->getStrKey())) if (_spriteFrames->objectForKey(element->getStrKey()))
{ {
keysToRemove->addObject(String::create(pElement->getStrKey())); keysToRemove->addObject(String::create(element->getStrKey()));
} }
} }
@ -381,33 +379,33 @@ void SpriteFrameCache::removeSpriteFramesFromTexture(Texture2D* texture)
{ {
Array* keysToRemove = Array::create(); Array* keysToRemove = Array::create();
DictElement* pElement = NULL; DictElement* element = NULL;
CCDICT_FOREACH(_spriteFrames, pElement) CCDICT_FOREACH(_spriteFrames, element)
{ {
string key = pElement->getStrKey(); string key = element->getStrKey();
SpriteFrame* frame = static_cast<SpriteFrame*>(_spriteFrames->objectForKey(key.c_str())); SpriteFrame* frame = static_cast<SpriteFrame*>(_spriteFrames->objectForKey(key.c_str()));
if (frame && (frame->getTexture() == texture)) if (frame && (frame->getTexture() == texture))
{ {
keysToRemove->addObject(String::create(pElement->getStrKey())); keysToRemove->addObject(String::create(element->getStrKey()));
} }
} }
_spriteFrames->removeObjectsForKeys(keysToRemove); _spriteFrames->removeObjectsForKeys(keysToRemove);
} }
SpriteFrame* SpriteFrameCache::getSpriteFrameByName(const char *pszName) SpriteFrame* SpriteFrameCache::getSpriteFrameByName(const std::string& name)
{ {
SpriteFrame* frame = (SpriteFrame*)_spriteFrames->objectForKey(pszName); SpriteFrame* frame = (SpriteFrame*)_spriteFrames->objectForKey(name);
if (!frame) if (!frame)
{ {
// try alias dictionary // try alias dictionary
String *key = (String*)_spriteFramesAliases->objectForKey(pszName); String *key = (String*)_spriteFramesAliases->objectForKey(name);
if (key) if (key)
{ {
frame = (SpriteFrame*)_spriteFrames->objectForKey(key->getCString()); frame = (SpriteFrame*)_spriteFrames->objectForKey(key->getCString());
if (! frame) if (! frame)
{ {
CCLOG("cocos2d: SpriteFrameCache: Frame '%s' not found", pszName); CCLOG("cocos2d: SpriteFrameCache: Frame '%s' not found", name.c_str());
} }
} }
} }

View File

@ -85,29 +85,29 @@ public:
public: public:
/** Adds multiple Sprite Frames from a plist file. /** Adds multiple Sprite Frames from a plist file.
* A texture will be loaded automatically. The texture name will composed by replacing the .plist suffix with .png * A texture will be loaded automatically. The texture name will composed by replacing the .plist suffix with .png
* If you want to use another texture, you should use the addSpriteFramesWithFile(const char *plist, const char *textureFileName) method. * If you want to use another texture, you should use the addSpriteFramesWithFile(const std::string& plist, const std::string& textureFileName) method.
* @js addSpriteFrames * @js addSpriteFrames
* @lua addSpriteFrames * @lua addSpriteFrames
*/ */
void addSpriteFramesWithFile(const char *plist); void addSpriteFramesWithFile(const std::string& plist);
/** Adds multiple Sprite Frames from a plist file. The texture will be associated with the created sprite frames. /** Adds multiple Sprite Frames from a plist file. The texture will be associated with the created sprite frames.
@since v0.99.5 @since v0.99.5
* @js addSpriteFrames * @js addSpriteFrames
* @lua addSpriteFrames * @lua addSpriteFrames
*/ */
void addSpriteFramesWithFile(const char* plist, const char* textureFileName); void addSpriteFramesWithFile(const std::string& plist, const std::string& textureFileName);
/** Adds multiple Sprite Frames from a plist file. The texture will be associated with the created sprite frames. /** Adds multiple Sprite Frames from a plist file. The texture will be associated with the created sprite frames.
* @js addSpriteFrames * @js addSpriteFrames
* @lua addSpriteFrames * @lua addSpriteFrames
*/ */
void addSpriteFramesWithFile(const char *plist, Texture2D *texture); void addSpriteFramesWithFile(const std::string&plist, Texture2D *texture);
/** Adds an sprite frame with a given name. /** Adds an sprite frame with a given name.
If the name already exists, then the contents of the old name will be replaced with the new one. If the name already exists, then the contents of the old name will be replaced with the new one.
*/ */
void addSpriteFrame(SpriteFrame *frame, const char *frameName); void addSpriteFrame(SpriteFrame *frame, const std::string& frameName);
/** Purges the dictionary of loaded sprite frames. /** Purges the dictionary of loaded sprite frames.
* Call this method if you receive the "Memory Warning". * Call this method if you receive the "Memory Warning".
@ -124,14 +124,14 @@ public:
void removeUnusedSpriteFrames(void); void removeUnusedSpriteFrames(void);
/** Deletes an sprite frame from the sprite frame cache. */ /** Deletes an sprite frame from the sprite frame cache. */
void removeSpriteFrameByName(const char *name); void removeSpriteFrameByName(const std::string& name);
/** Removes multiple Sprite Frames from a plist file. /** Removes multiple Sprite Frames from a plist file.
* Sprite Frames stored in this file will be removed. * Sprite Frames stored in this file will be removed.
* It is convenient to call this method when a specific texture needs to be removed. * It is convenient to call this method when a specific texture needs to be removed.
* @since v0.99.5 * @since v0.99.5
*/ */
void removeSpriteFramesFromFile(const char* plist); void removeSpriteFramesFromFile(const std::string& plist);
/** Removes all Sprite Frames associated with the specified textures. /** Removes all Sprite Frames associated with the specified textures.
* It is convenient to call this method when a specific texture needs to be removed. * It is convenient to call this method when a specific texture needs to be removed.
@ -145,10 +145,10 @@ public:
* @js getSpriteFrame * @js getSpriteFrame
* @lua getSpriteFrame * @lua getSpriteFrame
*/ */
SpriteFrame* getSpriteFrameByName(const char *name); SpriteFrame* getSpriteFrameByName(const std::string& name);
/** @deprecated use getSpriteFrameByName() instead */ /** @deprecated use getSpriteFrameByName() instead */
CC_DEPRECATED_ATTRIBUTE SpriteFrame* spriteFrameByName(const char *name) { return getSpriteFrameByName(name); } CC_DEPRECATED_ATTRIBUTE SpriteFrame* spriteFrameByName(const std::string&name) { return getSpriteFrameByName(name); }
private: private:
/*Adds multiple Sprite Frames with a dictionary. The texture will be associated with the created sprite frames. /*Adds multiple Sprite Frames with a dictionary. The texture will be associated with the created sprite frames.

View File

@ -119,7 +119,7 @@ static bool _PVRHaveAlphaPremultiplied = false;
//conventer function //conventer function
// IIIIIIII -> RRRRRRRRGGGGGGGGGBBBBBBBB // IIIIIIII -> RRRRRRRRGGGGGGGGGBBBBBBBB
void Texture2D::convertI8ToRGB888(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertI8ToRGB888(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i=0; i < dataLen; ++i) for (int i=0; i < dataLen; ++i)
{ {
@ -130,7 +130,7 @@ void Texture2D::convertI8ToRGB888(const unsigned char* data, int dataLen, unsign
} }
// IIIIIIIIAAAAAAAA -> RRRRRRRRGGGGGGGGBBBBBBBB // IIIIIIIIAAAAAAAA -> RRRRRRRRGGGGGGGGBBBBBBBB
void Texture2D::convertAI88ToRGB888(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertAI88ToRGB888(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 1; i < l; i += 2) for (int i = 0, l = dataLen - 1; i < l; i += 2)
{ {
@ -141,7 +141,7 @@ void Texture2D::convertAI88ToRGB888(const unsigned char* data, int dataLen, unsi
} }
// IIIIIIII -> RRRRRRRRGGGGGGGGGBBBBBBBBAAAAAAAA // IIIIIIII -> RRRRRRRRGGGGGGGGGBBBBBBBBAAAAAAAA
void Texture2D::convertI8ToRGBA8888(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertI8ToRGBA8888(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0; i < dataLen; ++i) for (int i = 0; i < dataLen; ++i)
{ {
@ -153,7 +153,7 @@ void Texture2D::convertI8ToRGBA8888(const unsigned char* data, int dataLen, unsi
} }
// IIIIIIIIAAAAAAAA -> RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA // IIIIIIIIAAAAAAAA -> RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA
void Texture2D::convertAI88ToRGBA8888(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertAI88ToRGBA8888(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 1; i < l; i += 2) for (int i = 0, l = dataLen - 1; i < l; i += 2)
{ {
@ -165,7 +165,7 @@ void Texture2D::convertAI88ToRGBA8888(const unsigned char* data, int dataLen, un
} }
// IIIIIIII -> RRRRRGGGGGGBBBBB // IIIIIIII -> RRRRRGGGGGGBBBBB
void Texture2D::convertI8ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertI8ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0; i < dataLen; ++i) for (int i = 0; i < dataLen; ++i)
@ -177,7 +177,7 @@ void Texture2D::convertI8ToRGB565(const unsigned char* data, int dataLen, unsign
} }
// IIIIIIIIAAAAAAAA -> RRRRRGGGGGGBBBBB // IIIIIIIIAAAAAAAA -> RRRRRGGGGGGBBBBB
void Texture2D::convertAI88ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertAI88ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 1; i < l; i += 2) for (int i = 0, l = dataLen - 1; i < l; i += 2)
@ -189,7 +189,7 @@ void Texture2D::convertAI88ToRGB565(const unsigned char* data, int dataLen, unsi
} }
// IIIIIIII -> RRRRGGGGBBBBAAAA // IIIIIIII -> RRRRGGGGBBBBAAAA
void Texture2D::convertI8ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertI8ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0; i < dataLen; ++i) for (int i = 0; i < dataLen; ++i)
@ -202,7 +202,7 @@ void Texture2D::convertI8ToRGBA4444(const unsigned char* data, int dataLen, unsi
} }
// IIIIIIIIAAAAAAAA -> RRRRGGGGBBBBAAAA // IIIIIIIIAAAAAAAA -> RRRRGGGGBBBBAAAA
void Texture2D::convertAI88ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertAI88ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 1; i < l; i += 2) for (int i = 0, l = dataLen - 1; i < l; i += 2)
@ -215,7 +215,7 @@ void Texture2D::convertAI88ToRGBA4444(const unsigned char* data, int dataLen, un
} }
// IIIIIIII -> RRRRRGGGGGBBBBBA // IIIIIIII -> RRRRRGGGGGBBBBBA
void Texture2D::convertI8ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertI8ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0; i < dataLen; ++i) for (int i = 0; i < dataLen; ++i)
@ -228,7 +228,7 @@ void Texture2D::convertI8ToRGB5A1(const unsigned char* data, int dataLen, unsign
} }
// IIIIIIIIAAAAAAAA -> RRRRRGGGGGBBBBBA // IIIIIIIIAAAAAAAA -> RRRRRGGGGGBBBBBA
void Texture2D::convertAI88ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertAI88ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 1; i < l; i += 2) for (int i = 0, l = dataLen - 1; i < l; i += 2)
@ -241,7 +241,7 @@ void Texture2D::convertAI88ToRGB5A1(const unsigned char* data, int dataLen, unsi
} }
// IIIIIIII -> IIIIIIIIAAAAAAAA // IIIIIIII -> IIIIIIIIAAAAAAAA
void Texture2D::convertI8ToAI88(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertI8ToAI88(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0; i < dataLen; ++i) for (int i = 0; i < dataLen; ++i)
@ -252,7 +252,7 @@ void Texture2D::convertI8ToAI88(const unsigned char* data, int dataLen, unsigned
} }
// IIIIIIIIAAAAAAAA -> AAAAAAAA // IIIIIIIIAAAAAAAA -> AAAAAAAA
void Texture2D::convertAI88ToA8(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertAI88ToA8(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 1; i < dataLen; i += 2) for (int i = 1; i < dataLen; i += 2)
{ {
@ -261,7 +261,7 @@ void Texture2D::convertAI88ToA8(const unsigned char* data, int dataLen, unsigned
} }
// IIIIIIIIAAAAAAAA -> IIIIIIII // IIIIIIIIAAAAAAAA -> IIIIIIII
void Texture2D::convertAI88ToI8(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertAI88ToI8(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 1; i < l; i += 2) for (int i = 0, l = dataLen - 1; i < l; i += 2)
{ {
@ -270,7 +270,7 @@ void Texture2D::convertAI88ToI8(const unsigned char* data, int dataLen, unsigned
} }
// RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA // RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA
void Texture2D::convertRGB888ToRGBA8888(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGB888ToRGBA8888(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 2; i < l; i += 3) for (int i = 0, l = dataLen - 2; i < l; i += 3)
{ {
@ -282,7 +282,7 @@ void Texture2D::convertRGB888ToRGBA8888(const unsigned char* data, int dataLen,
} }
// RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> RRRRRRRRGGGGGGGGBBBBBBBB // RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> RRRRRRRRGGGGGGGGBBBBBBBB
void Texture2D::convertRGBA8888ToRGB888(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGBA8888ToRGB888(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 3; i < l; i += 4) for (int i = 0, l = dataLen - 3; i < l; i += 4)
{ {
@ -293,7 +293,7 @@ void Texture2D::convertRGBA8888ToRGB888(const unsigned char* data, int dataLen,
} }
// RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRGGGGGGBBBBB // RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRGGGGGGBBBBB
void Texture2D::convertRGB888ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGB888ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 2; i < l; i += 3) for (int i = 0, l = dataLen - 2; i < l; i += 3)
@ -305,7 +305,7 @@ void Texture2D::convertRGB888ToRGB565(const unsigned char* data, int dataLen, un
} }
// RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> RRRRRGGGGGGBBBBB // RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> RRRRRGGGGGGBBBBB
void Texture2D::convertRGBA8888ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGBA8888ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 3; i < l; i += 4) for (int i = 0, l = dataLen - 3; i < l; i += 4)
@ -317,7 +317,7 @@ void Texture2D::convertRGBA8888ToRGB565(const unsigned char* data, int dataLen,
} }
// RRRRRRRRGGGGGGGGBBBBBBBB -> IIIIIIII // RRRRRRRRGGGGGGGGBBBBBBBB -> IIIIIIII
void Texture2D::convertRGB888ToI8(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGB888ToI8(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 2; i < l; i += 3) for (int i = 0, l = dataLen - 2; i < l; i += 3)
{ {
@ -326,7 +326,7 @@ void Texture2D::convertRGB888ToI8(const unsigned char* data, int dataLen, unsign
} }
// RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> IIIIIIII // RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> IIIIIIII
void Texture2D::convertRGBA8888ToI8(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGBA8888ToI8(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 3; i < l; i += 4) for (int i = 0, l = dataLen - 3; i < l; i += 4)
{ {
@ -335,7 +335,7 @@ void Texture2D::convertRGBA8888ToI8(const unsigned char* data, int dataLen, unsi
} }
// RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> AAAAAAAA // RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> AAAAAAAA
void Texture2D::convertRGBA8888ToA8(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGBA8888ToA8(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen -3; i < l; i += 4) for (int i = 0, l = dataLen -3; i < l; i += 4)
{ {
@ -344,7 +344,7 @@ void Texture2D::convertRGBA8888ToA8(const unsigned char* data, int dataLen, unsi
} }
// RRRRRRRRGGGGGGGGBBBBBBBB -> IIIIIIIIAAAAAAAA // RRRRRRRRGGGGGGGGBBBBBBBB -> IIIIIIIIAAAAAAAA
void Texture2D::convertRGB888ToAI88(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGB888ToAI88(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 2; i < l; i += 3) for (int i = 0, l = dataLen - 2; i < l; i += 3)
{ {
@ -355,7 +355,7 @@ void Texture2D::convertRGB888ToAI88(const unsigned char* data, int dataLen, unsi
// RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> IIIIIIIIAAAAAAAA // RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> IIIIIIIIAAAAAAAA
void Texture2D::convertRGBA8888ToAI88(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGBA8888ToAI88(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
for (int i = 0, l = dataLen - 3; i < l; i += 4) for (int i = 0, l = dataLen - 3; i < l; i += 4)
{ {
@ -365,7 +365,7 @@ void Texture2D::convertRGBA8888ToAI88(const unsigned char* data, int dataLen, un
} }
// RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRGGGGBBBBAAAA // RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRGGGGBBBBAAAA
void Texture2D::convertRGB888ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGB888ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 2; i < l; i += 3) for (int i = 0, l = dataLen - 2; i < l; i += 3)
@ -378,7 +378,7 @@ void Texture2D::convertRGB888ToRGBA4444(const unsigned char* data, int dataLen,
} }
// RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> RRRRGGGGBBBBAAAA // RRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA -> RRRRGGGGBBBBAAAA
void Texture2D::convertRGBA8888ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGBA8888ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 3; i < l; i += 4) for (int i = 0, l = dataLen - 3; i < l; i += 4)
@ -391,10 +391,10 @@ void Texture2D::convertRGBA8888ToRGBA4444(const unsigned char* data, int dataLen
} }
// RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRGGGGGBBBBBA // RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRGGGGGBBBBBA
void Texture2D::convertRGB888ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGB888ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 2; i < l; i += 3) for (long i = 0, l = dataLen - 2; i < l; i += 3)
{ {
*out16++ = (data[i] & 0x00F8) << 8 //R *out16++ = (data[i] & 0x00F8) << 8 //R
| (data[i + 1] & 0x00F8) << 3 //G | (data[i + 1] & 0x00F8) << 3 //G
@ -404,10 +404,10 @@ void Texture2D::convertRGB888ToRGB5A1(const unsigned char* data, int dataLen, un
} }
// RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRGGGGGBBBBBA // RRRRRRRRGGGGGGGGBBBBBBBB -> RRRRRGGGGGBBBBBA
void Texture2D::convertRGBA8888ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData) void Texture2D::convertRGBA8888ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData)
{ {
unsigned short* out16 = (unsigned short*)outData; unsigned short* out16 = (unsigned short*)outData;
for (int i = 0, l = dataLen - 2; i < l; i += 4) for (long i = 0, l = dataLen - 2; i < l; i += 4)
{ {
*out16++ = (data[i] & 0x00F8) << 8 //R *out16++ = (data[i] & 0x00F8) << 8 //R
| (data[i + 1] & 0x00F8) << 3 //G | (data[i + 1] & 0x00F8) << 3 //G
@ -451,12 +451,12 @@ Texture2D::PixelFormat Texture2D::getPixelFormat() const
return _pixelFormat; return _pixelFormat;
} }
unsigned int Texture2D::getPixelsWide() const long Texture2D::getPixelsWide() const
{ {
return _pixelsWide; return _pixelsWide;
} }
unsigned int Texture2D::getPixelsHigh() const long Texture2D::getPixelsHigh() const
{ {
return _pixelsHigh; return _pixelsHigh;
} }
@ -529,8 +529,10 @@ bool Texture2D::hasPremultipliedAlpha() const
return _hasPremultipliedAlpha; return _hasPremultipliedAlpha;
} }
bool Texture2D::initWithData(const void *data, int dataLen, Texture2D::PixelFormat pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh, const Size& contentSize) bool Texture2D::initWithData(const void *data, long dataLen, Texture2D::PixelFormat pixelFormat, long pixelsWide, long pixelsHigh, const Size& contentSize)
{ {
CCASSERT(dataLen>0 && pixelsWide>0 && pixelsHigh>0, "Invalid size");
//if data has no mipmaps, we will consider it has only one mipmap //if data has no mipmaps, we will consider it has only one mipmap
MipmapInfo mipmap; MipmapInfo mipmap;
mipmap.address = (unsigned char*)data; mipmap.address = (unsigned char*)data;
@ -544,10 +546,11 @@ bool Texture2D::initWithData(const void *data, int dataLen, Texture2D::PixelForm
} }
bool Texture2D::initWithMipmaps(MipmapInfo* mipmaps, int mipmapsNum, PixelFormat pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh) bool Texture2D::initWithMipmaps(MipmapInfo* mipmaps, int mipmapsNum, PixelFormat pixelFormat, long pixelsWide, long pixelsHigh)
{ {
//the pixelFormat must be a certain value //the pixelFormat must be a certain value
CCAssert(pixelFormat != PixelFormat::NONE && pixelFormat != PixelFormat::AUTO, "the \"pixelFormat\" param must be a certain value!"); CCASSERT(pixelFormat != PixelFormat::NONE && pixelFormat != PixelFormat::AUTO, "the \"pixelFormat\" param must be a certain value!");
CCASSERT(pixelsWide>0 && pixelsHigh>0, "Invalid size");
if (mipmapsNum <= 0) if (mipmapsNum <= 0)
{ {
@ -670,7 +673,7 @@ bool Texture2D::initWithMipmaps(MipmapInfo* mipmaps, int mipmapsNum, PixelFormat
const char* Texture2D::description(void) const const char* Texture2D::description(void) const
{ {
return String::createWithFormat("<Texture2D | Name = %u | Dimensions = %u x %u | Coordinates = (%.2f, %.2f)>", _name, _pixelsWide, _pixelsHigh, _maxS, _maxT)->getCString(); return String::createWithFormat("<Texture2D | Name = %u | Dimensions = %ld x %ld | Coordinates = (%.2f, %.2f)>", _name, (long)_pixelsWide, (long)_pixelsHigh, _maxS, _maxT)->getCString();
} }
// implementation Texture2D (Image) // implementation Texture2D (Image)
@ -771,7 +774,7 @@ bool Texture2D::initWithImage(Image *image, PixelFormat format)
} }
} }
Texture2D::PixelFormat Texture2D::convertI8ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen) Texture2D::PixelFormat Texture2D::convertI8ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen)
{ {
switch (format) switch (format)
{ {
@ -820,7 +823,7 @@ Texture2D::PixelFormat Texture2D::convertI8ToFormat(const unsigned char* data, i
return format; return format;
} }
Texture2D::PixelFormat Texture2D::convertAI88ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen) Texture2D::PixelFormat Texture2D::convertAI88ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen)
{ {
switch (format) switch (format)
{ {
@ -875,7 +878,7 @@ Texture2D::PixelFormat Texture2D::convertAI88ToFormat(const unsigned char* data,
return format; return format;
} }
Texture2D::PixelFormat Texture2D::convertRGB888ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen) Texture2D::PixelFormat Texture2D::convertRGB888ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen)
{ {
switch (format) switch (format)
{ {
@ -923,7 +926,7 @@ Texture2D::PixelFormat Texture2D::convertRGB888ToFormat(const unsigned char* dat
return format; return format;
} }
Texture2D::PixelFormat Texture2D::convertRGBA8888ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen) Texture2D::PixelFormat Texture2D::convertRGBA8888ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen)
{ {
switch (format) switch (format)
@ -995,7 +998,7 @@ rgb(2) -> 1235678
rgba(1) -> 12345678 rgba(1) -> 12345678
*/ */
Texture2D::PixelFormat Texture2D::convertDataToFormat(const unsigned char* data, int dataLen, PixelFormat originFormat, PixelFormat format, unsigned char** outData, int* outDataLen) Texture2D::PixelFormat Texture2D::convertDataToFormat(const unsigned char* data, long dataLen, PixelFormat originFormat, PixelFormat format, unsigned char** outData, int* outDataLen)
{ {
switch (originFormat) switch (originFormat)
{ {

View File

@ -120,13 +120,13 @@ public:
struct PixelFormatInfo { struct PixelFormatInfo {
PixelFormatInfo(GLenum internalFormat, GLenum format, GLenum type, int bpp, bool compressed, bool alpha) PixelFormatInfo(GLenum anInternalFormat, GLenum aFormat, GLenum aType, int aBpp, bool aCompressed, bool anAlpha)
: internalFormat(internalFormat) : internalFormat(anInternalFormat)
, format(format) , format(aFormat)
, type(type) , type(aType)
, bpp(bpp) , bpp(aBpp)
, compressed(compressed) , compressed(aCompressed)
, alpha(alpha) , alpha(anAlpha)
{} {}
GLenum internalFormat; GLenum internalFormat;
@ -216,10 +216,10 @@ public:
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
bool initWithData(const void *data, int dataLen, Texture2D::PixelFormat pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh, const Size& contentSize); bool initWithData(const void *data, long dataLen, Texture2D::PixelFormat pixelFormat, long pixelsWide, long pixelsHigh, const Size& contentSize);
/** Initializes with mipmaps */ /** Initializes with mipmaps */
bool initWithMipmaps(MipmapInfo* mipmaps, int mipmapsNum, Texture2D::PixelFormat pixelFormat, unsigned int pixelsWide, unsigned int pixelsHigh); bool initWithMipmaps(MipmapInfo* mipmaps, int mipmapsNum, Texture2D::PixelFormat pixelFormat, long pixelsWide, long pixelsHigh);
/** /**
Drawing extensions to make it easy to draw basic quads using a Texture2D object. Drawing extensions to make it easy to draw basic quads using a Texture2D object.
@ -326,10 +326,10 @@ public:
Texture2D::PixelFormat getPixelFormat() const; Texture2D::PixelFormat getPixelFormat() const;
/** Gets the width of the texture in pixels */ /** Gets the width of the texture in pixels */
unsigned int getPixelsWide() const; long getPixelsWide() const;
/** Gets the height of the texture in pixels */ /** Gets the height of the texture in pixels */
unsigned int getPixelsHigh() const; long getPixelsHigh() const;
/** Gets the texture name */ /** Gets the texture name */
GLuint getName() const; GLuint getName() const;
@ -360,56 +360,56 @@ private:
Convert the format to the format param you specified, if the format is PixelFormat::Automatic, it will detect it automatically and convert to the closest format for you. Convert the format to the format param you specified, if the format is PixelFormat::Automatic, it will detect it automatically and convert to the closest format for you.
It will return the converted format to you. if the outData != data, you must delete it manually. It will return the converted format to you. if the outData != data, you must delete it manually.
*/ */
static PixelFormat convertDataToFormat(const unsigned char* data, int dataLen, PixelFormat originFormat, PixelFormat format, unsigned char** outData, int* outDataLen); static PixelFormat convertDataToFormat(const unsigned char* data, long dataLen, PixelFormat originFormat, PixelFormat format, unsigned char** outData, int* outDataLen);
static PixelFormat convertI8ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen); static PixelFormat convertI8ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen);
static PixelFormat convertAI88ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen); static PixelFormat convertAI88ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen);
static PixelFormat convertRGB888ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen); static PixelFormat convertRGB888ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen);
static PixelFormat convertRGBA8888ToFormat(const unsigned char* data, int dataLen, PixelFormat format, unsigned char** outData, int* outDataLen); static PixelFormat convertRGBA8888ToFormat(const unsigned char* data, long dataLen, PixelFormat format, unsigned char** outData, int* outDataLen);
//I8 to XXX //I8 to XXX
static void convertI8ToRGB888(const unsigned char* data, int dataLen, unsigned char* outData); static void convertI8ToRGB888(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertI8ToRGBA8888(const unsigned char* data, int dataLen, unsigned char* outData); static void convertI8ToRGBA8888(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertI8ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData); static void convertI8ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertI8ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData); static void convertI8ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertI8ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData); static void convertI8ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertI8ToAI88(const unsigned char* data, int dataLen, unsigned char* outData); static void convertI8ToAI88(const unsigned char* data, long dataLen, unsigned char* outData);
//AI88 to XXX //AI88 to XXX
static void convertAI88ToRGB888(const unsigned char* data, int dataLen, unsigned char* outData); static void convertAI88ToRGB888(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertAI88ToRGBA8888(const unsigned char* data, int dataLen, unsigned char* outData); static void convertAI88ToRGBA8888(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertAI88ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData); static void convertAI88ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertAI88ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData); static void convertAI88ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertAI88ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData); static void convertAI88ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertAI88ToA8(const unsigned char* data, int dataLen, unsigned char* outData); static void convertAI88ToA8(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertAI88ToI8(const unsigned char* data, int dataLen, unsigned char* outData); static void convertAI88ToI8(const unsigned char* data, long dataLen, unsigned char* outData);
//RGB888 to XXX //RGB888 to XXX
static void convertRGB888ToRGBA8888(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGB888ToRGBA8888(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGB888ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGB888ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGB888ToI8(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGB888ToI8(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGB888ToAI88(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGB888ToAI88(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGB888ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGB888ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGB888ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGB888ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData);
//RGBA8888 to XXX //RGBA8888 to XXX
static void convertRGBA8888ToRGB888(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGBA8888ToRGB888(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGBA8888ToRGB565(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGBA8888ToRGB565(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGBA8888ToI8(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGBA8888ToI8(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGBA8888ToA8(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGBA8888ToA8(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGBA8888ToAI88(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGBA8888ToAI88(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGBA8888ToRGBA4444(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGBA8888ToRGBA4444(const unsigned char* data, long dataLen, unsigned char* outData);
static void convertRGBA8888ToRGB5A1(const unsigned char* data, int dataLen, unsigned char* outData); static void convertRGBA8888ToRGB5A1(const unsigned char* data, long dataLen, unsigned char* outData);
protected: protected:
/** pixel format of the texture */ /** pixel format of the texture */
Texture2D::PixelFormat _pixelFormat; Texture2D::PixelFormat _pixelFormat;
/** width in pixels */ /** width in pixels */
unsigned int _pixelsWide; long _pixelsWide;
/** height in pixels */ /** height in pixels */
unsigned int _pixelsHigh; long _pixelsHigh;
/** texture name */ /** texture name */
GLuint _name; GLuint _name;

View File

@ -107,7 +107,7 @@ void TextureAtlas::setQuads(V3F_C4B_T2F_Quad* quads)
// TextureAtlas - alloc & init // TextureAtlas - alloc & init
TextureAtlas * TextureAtlas::create(const char* file, int capacity) TextureAtlas * TextureAtlas::create(const char* file, long capacity)
{ {
TextureAtlas * textureAtlas = new TextureAtlas(); TextureAtlas * textureAtlas = new TextureAtlas();
if(textureAtlas && textureAtlas->initWithFile(file, capacity)) if(textureAtlas && textureAtlas->initWithFile(file, capacity))
@ -119,7 +119,7 @@ TextureAtlas * TextureAtlas::create(const char* file, int capacity)
return NULL; return NULL;
} }
TextureAtlas * TextureAtlas::createWithTexture(Texture2D *texture, int capacity) TextureAtlas * TextureAtlas::createWithTexture(Texture2D *texture, long capacity)
{ {
TextureAtlas * textureAtlas = new TextureAtlas(); TextureAtlas * textureAtlas = new TextureAtlas();
if (textureAtlas && textureAtlas->initWithTexture(texture, capacity)) if (textureAtlas && textureAtlas->initWithTexture(texture, capacity))
@ -131,7 +131,7 @@ TextureAtlas * TextureAtlas::createWithTexture(Texture2D *texture, int capacity)
return NULL; return NULL;
} }
bool TextureAtlas::initWithFile(const char * file, int capacity) bool TextureAtlas::initWithFile(const char * file, long capacity)
{ {
// retained in property // retained in property
Texture2D *texture = TextureCache::getInstance()->addImage(file); Texture2D *texture = TextureCache::getInstance()->addImage(file);
@ -147,7 +147,7 @@ bool TextureAtlas::initWithFile(const char * file, int capacity)
} }
} }
bool TextureAtlas::initWithTexture(Texture2D *texture, int capacity) bool TextureAtlas::initWithTexture(Texture2D *texture, long capacity)
{ {
CCASSERT(capacity>=0, "Capacity must be >= 0"); CCASSERT(capacity>=0, "Capacity must be >= 0");
@ -310,7 +310,7 @@ void TextureAtlas::mapBuffers()
// TextureAtlas - Update, Insert, Move & Remove // TextureAtlas - Update, Insert, Move & Remove
void TextureAtlas::updateQuad(V3F_C4B_T2F_Quad *quad, int index) void TextureAtlas::updateQuad(V3F_C4B_T2F_Quad *quad, long index)
{ {
CCASSERT( index >= 0 && index < _capacity, "updateQuadWithTexture: Invalid index"); CCASSERT( index >= 0 && index < _capacity, "updateQuadWithTexture: Invalid index");
@ -323,7 +323,7 @@ void TextureAtlas::updateQuad(V3F_C4B_T2F_Quad *quad, int index)
} }
void TextureAtlas::insertQuad(V3F_C4B_T2F_Quad *quad, int index) void TextureAtlas::insertQuad(V3F_C4B_T2F_Quad *quad, long index)
{ {
CCASSERT( index>=0 && index<_capacity, "insertQuadWithTexture: Invalid index"); CCASSERT( index>=0 && index<_capacity, "insertQuadWithTexture: Invalid index");
@ -347,7 +347,7 @@ void TextureAtlas::insertQuad(V3F_C4B_T2F_Quad *quad, int index)
} }
void TextureAtlas::insertQuads(V3F_C4B_T2F_Quad* quads, int index, int amount) void TextureAtlas::insertQuads(V3F_C4B_T2F_Quad* quads, long index, long amount)
{ {
CCASSERT(index>=0 && amount>=0 && index+amount<=_capacity, "insertQuadWithTexture: Invalid index + amount"); CCASSERT(index>=0 && amount>=0 && index+amount<=_capacity, "insertQuadWithTexture: Invalid index + amount");
@ -378,7 +378,7 @@ void TextureAtlas::insertQuads(V3F_C4B_T2F_Quad* quads, int index, int amount)
_dirty = true; _dirty = true;
} }
void TextureAtlas::insertQuadFromIndex(int oldIndex, int newIndex) void TextureAtlas::insertQuadFromIndex(long oldIndex, long newIndex)
{ {
CCASSERT( newIndex >= 0 && newIndex < _totalQuads, "insertQuadFromIndex:atIndex: Invalid index"); CCASSERT( newIndex >= 0 && newIndex < _totalQuads, "insertQuadFromIndex:atIndex: Invalid index");
CCASSERT( oldIndex >= 0 && oldIndex < _totalQuads, "insertQuadFromIndex:atIndex: Invalid index"); CCASSERT( oldIndex >= 0 && oldIndex < _totalQuads, "insertQuadFromIndex:atIndex: Invalid index");
@ -407,7 +407,7 @@ void TextureAtlas::insertQuadFromIndex(int oldIndex, int newIndex)
_dirty = true; _dirty = true;
} }
void TextureAtlas::removeQuadAtIndex(int index) void TextureAtlas::removeQuadAtIndex(long index)
{ {
CCASSERT( index>=0 && index<_totalQuads, "removeQuadAtIndex: Invalid index"); CCASSERT( index>=0 && index<_totalQuads, "removeQuadAtIndex: Invalid index");
@ -426,7 +426,7 @@ void TextureAtlas::removeQuadAtIndex(int index)
_dirty = true; _dirty = true;
} }
void TextureAtlas::removeQuadsAtIndex(int index, int amount) void TextureAtlas::removeQuadsAtIndex(long index, long amount)
{ {
CCASSERT(index>=0 && amount>=0 && index+amount<=_totalQuads, "removeQuadAtIndex: index + amount out of bounds"); CCASSERT(index>=0 && amount>=0 && index+amount<=_totalQuads, "removeQuadAtIndex: index + amount out of bounds");
@ -448,7 +448,7 @@ void TextureAtlas::removeAllQuads()
} }
// TextureAtlas - Resize // TextureAtlas - Resize
bool TextureAtlas::resizeCapacity(int newCapacity) bool TextureAtlas::resizeCapacity(long newCapacity)
{ {
CCASSERT(newCapacity>=0, "capacity >= 0"); CCASSERT(newCapacity>=0, "capacity >= 0");
if( newCapacity == _capacity ) if( newCapacity == _capacity )
@ -522,13 +522,13 @@ bool TextureAtlas::resizeCapacity(int newCapacity)
return true; return true;
} }
void TextureAtlas::increaseTotalQuadsWith(int amount) void TextureAtlas::increaseTotalQuadsWith(long amount)
{ {
CCASSERT(amount>=0, "amount >= 0"); CCASSERT(amount>=0, "amount >= 0");
_totalQuads += amount; _totalQuads += amount;
} }
void TextureAtlas::moveQuadsFromIndex(int oldIndex, int amount, int newIndex) void TextureAtlas::moveQuadsFromIndex(long oldIndex, long amount, long newIndex)
{ {
CCASSERT(oldIndex>=0 && amount>=0 && newIndex>=0, "values must be >= 0"); CCASSERT(oldIndex>=0 && amount>=0 && newIndex>=0, "values must be >= 0");
CCASSERT(newIndex + amount <= _totalQuads, "insertQuadFromIndex:atIndex: Invalid index"); CCASSERT(newIndex + amount <= _totalQuads, "insertQuadFromIndex:atIndex: Invalid index");
@ -560,7 +560,7 @@ void TextureAtlas::moveQuadsFromIndex(int oldIndex, int amount, int newIndex)
_dirty = true; _dirty = true;
} }
void TextureAtlas::moveQuadsFromIndex(int index, int newIndex) void TextureAtlas::moveQuadsFromIndex(long index, long newIndex)
{ {
CCASSERT(index>=0 && newIndex>=0, "values must be >= 0"); CCASSERT(index>=0 && newIndex>=0, "values must be >= 0");
CCASSERT(newIndex + (_totalQuads - index) <= _capacity, "moveQuadsFromIndex move is out of bounds"); CCASSERT(newIndex + (_totalQuads - index) <= _capacity, "moveQuadsFromIndex move is out of bounds");
@ -568,7 +568,7 @@ void TextureAtlas::moveQuadsFromIndex(int index, int newIndex)
memmove(_quads + newIndex,_quads + index, (_totalQuads - index) * sizeof(_quads[0])); memmove(_quads + newIndex,_quads + index, (_totalQuads - index) * sizeof(_quads[0]));
} }
void TextureAtlas::fillWithEmptyQuadsFromIndex(int index, int amount) void TextureAtlas::fillWithEmptyQuadsFromIndex(long index, long amount)
{ {
CCASSERT(index>=0 && amount>=0, "values must be >= 0"); CCASSERT(index>=0 && amount>=0, "values must be >= 0");
V3F_C4B_T2F_Quad quad; V3F_C4B_T2F_Quad quad;
@ -588,13 +588,13 @@ void TextureAtlas::drawQuads()
this->drawNumberOfQuads(_totalQuads, 0); this->drawNumberOfQuads(_totalQuads, 0);
} }
void TextureAtlas::drawNumberOfQuads(int numberOfQuads) void TextureAtlas::drawNumberOfQuads(long numberOfQuads)
{ {
CCASSERT(numberOfQuads>=0, "numberOfQuads must be >= 0"); CCASSERT(numberOfQuads>=0, "numberOfQuads must be >= 0");
this->drawNumberOfQuads(numberOfQuads, 0); this->drawNumberOfQuads(numberOfQuads, 0);
} }
void TextureAtlas::drawNumberOfQuads(int numberOfQuads, int start) void TextureAtlas::drawNumberOfQuads(long numberOfQuads, long start)
{ {
CCASSERT(numberOfQuads>=0 && start>=0, "numberOfQuads and start must be >= 0"); CCASSERT(numberOfQuads>=0 && start>=0, "numberOfQuads and start must be >= 0");

View File

@ -59,13 +59,13 @@ public:
/** creates a TextureAtlas with an filename and with an initial capacity for Quads. /** creates a TextureAtlas with an filename and with an initial capacity for Quads.
* The TextureAtlas capacity can be increased in runtime. * The TextureAtlas capacity can be increased in runtime.
*/ */
static TextureAtlas* create(const char* file , int capacity); static TextureAtlas* create(const char* file , long capacity);
/** creates a TextureAtlas with a previously initialized Texture2D object, and /** creates a TextureAtlas with a previously initialized Texture2D object, and
* with an initial capacity for n Quads. * with an initial capacity for n Quads.
* The TextureAtlas capacity can be increased in runtime. * The TextureAtlas capacity can be increased in runtime.
*/ */
static TextureAtlas* createWithTexture(Texture2D *texture, int capacity); static TextureAtlas* createWithTexture(Texture2D *texture, long capacity);
/** /**
* @js ctor * @js ctor
*/ */
@ -81,7 +81,7 @@ public:
* *
* WARNING: Do not reinitialize the TextureAtlas because it will leak memory (issue #706) * WARNING: Do not reinitialize the TextureAtlas because it will leak memory (issue #706)
*/ */
bool initWithFile(const char* file, int capacity); bool initWithFile(const char* file, long capacity);
/** initializes a TextureAtlas with a previously initialized Texture2D object, and /** initializes a TextureAtlas with a previously initialized Texture2D object, and
* with an initial capacity for Quads. * with an initial capacity for Quads.
@ -89,43 +89,43 @@ public:
* *
* WARNING: Do not reinitialize the TextureAtlas because it will leak memory (issue #706) * WARNING: Do not reinitialize the TextureAtlas because it will leak memory (issue #706)
*/ */
bool initWithTexture(Texture2D *texture, int capacity); bool initWithTexture(Texture2D *texture, long capacity);
/** updates a Quad (texture, vertex and color) at a certain index /** updates a Quad (texture, vertex and color) at a certain index
* index must be between 0 and the atlas capacity - 1 * index must be between 0 and the atlas capacity - 1
@since v0.8 @since v0.8
*/ */
void updateQuad(V3F_C4B_T2F_Quad* quad, int index); void updateQuad(V3F_C4B_T2F_Quad* quad, long index);
/** Inserts a Quad (texture, vertex and color) at a certain index /** Inserts a Quad (texture, vertex and color) at a certain index
index must be between 0 and the atlas capacity - 1 index must be between 0 and the atlas capacity - 1
@since v0.8 @since v0.8
*/ */
void insertQuad(V3F_C4B_T2F_Quad* quad, int index); void insertQuad(V3F_C4B_T2F_Quad* quad, long index);
/** Inserts a c array of quads at a given index /** Inserts a c array of quads at a given index
index must be between 0 and the atlas capacity - 1 index must be between 0 and the atlas capacity - 1
this method doesn't enlarge the array when amount + index > totalQuads this method doesn't enlarge the array when amount + index > totalQuads
@since v1.1 @since v1.1
*/ */
void insertQuads(V3F_C4B_T2F_Quad* quads, int index, int amount); void insertQuads(V3F_C4B_T2F_Quad* quads, long index, long amount);
/** Removes the quad that is located at a certain index and inserts it at a new index /** Removes the quad that is located at a certain index and inserts it at a new index
This operation is faster than removing and inserting in a quad in 2 different steps This operation is faster than removing and inserting in a quad in 2 different steps
@since v0.7.2 @since v0.7.2
*/ */
void insertQuadFromIndex(int fromIndex, int newIndex); void insertQuadFromIndex(long fromIndex, long newIndex);
/** removes a quad at a given index number. /** removes a quad at a given index number.
The capacity remains the same, but the total number of quads to be drawn is reduced in 1 The capacity remains the same, but the total number of quads to be drawn is reduced in 1
@since v0.7.2 @since v0.7.2
*/ */
void removeQuadAtIndex(int index); void removeQuadAtIndex(long index);
/** removes a amount of quads starting from index /** removes a amount of quads starting from index
@since 1.1 @since 1.1
*/ */
void removeQuadsAtIndex(int index, int amount); void removeQuadsAtIndex(long index, long amount);
/** removes all Quads. /** removes all Quads.
The TextureAtlas capacity remains untouched. No memory is freed. The TextureAtlas capacity remains untouched. No memory is freed.
The total number of quads to be drawn will be 0 The total number of quads to be drawn will be 0
@ -138,19 +138,19 @@ public:
* It returns true if the resize was successful. * It returns true if the resize was successful.
* If it fails to resize the capacity it will return false with a new capacity of 0. * If it fails to resize the capacity it will return false with a new capacity of 0.
*/ */
bool resizeCapacity(int capacity); bool resizeCapacity(long capacity);
/** /**
Used internally by ParticleBatchNode Used internally by ParticleBatchNode
don't use this unless you know what you're doing don't use this unless you know what you're doing
@since 1.1 @since 1.1
*/ */
void increaseTotalQuadsWith(int amount); void increaseTotalQuadsWith(long amount);
/** Moves an amount of quads from oldIndex at newIndex /** Moves an amount of quads from oldIndex at newIndex
@since v1.1 @since v1.1
*/ */
void moveQuadsFromIndex(int oldIndex, int amount, int newIndex); void moveQuadsFromIndex(long oldIndex, long amount, long newIndex);
/** /**
Moves quads from index till totalQuads to the newIndex Moves quads from index till totalQuads to the newIndex
@ -158,26 +158,26 @@ public:
This method doesn't enlarge the array if newIndex + quads to be moved > capacity This method doesn't enlarge the array if newIndex + quads to be moved > capacity
@since 1.1 @since 1.1
*/ */
void moveQuadsFromIndex(int index, int newIndex); void moveQuadsFromIndex(long index, long newIndex);
/** /**
Ensures that after a realloc quads are still empty Ensures that after a realloc quads are still empty
Used internally by ParticleBatchNode Used internally by ParticleBatchNode
@since 1.1 @since 1.1
*/ */
void fillWithEmptyQuadsFromIndex(int index, int amount); void fillWithEmptyQuadsFromIndex(long index, long amount);
/** draws n quads /** draws n quads
* n can't be greater than the capacity of the Atlas * n can't be greater than the capacity of the Atlas
*/ */
void drawNumberOfQuads(int n); void drawNumberOfQuads(long n);
/** draws n quads from an index (offset). /** draws n quads from an index (offset).
n + start can't be greater than the capacity of the atlas n + start can't be greater than the capacity of the atlas
@since v1.0 @since v1.0
*/ */
void drawNumberOfQuads(int numberOfQuads, int start); void drawNumberOfQuads(long numberOfQuads, long start);
/** draws all the Atlas's Quads /** draws all the Atlas's Quads
*/ */

View File

@ -614,10 +614,10 @@ void VolatileTexture::reloadAllTextures()
case kImageFile: case kImageFile:
{ {
Image* image = new Image(); Image* image = new Image();
unsigned long nSize = 0; long size = 0;
unsigned char* pBuffer = FileUtils::getInstance()->getFileData(vt->_fileName.c_str(), "rb", &nSize); unsigned char* pBuffer = FileUtils::getInstance()->getFileData(vt->_fileName.c_str(), "rb", &size);
if (image && image->initWithImageData(pBuffer, nSize)) if (image && image->initWithImageData(pBuffer, size))
{ {
Texture2D::PixelFormat oldPixelFormat = Texture2D::getDefaultAlphaPixelFormat(); Texture2D::PixelFormat oldPixelFormat = Texture2D::getDefaultAlphaPixelFormat();
Texture2D::setDefaultAlphaPixelFormat(vt->_pixelFormat); Texture2D::setDefaultAlphaPixelFormat(vt->_pixelFormat);

View File

@ -58,7 +58,7 @@ static tinyxml2::XMLElement* getXMLNodeForKey(const char* pKey, tinyxml2::XMLEle
tinyxml2::XMLDocument* xmlDoc = new tinyxml2::XMLDocument(); tinyxml2::XMLDocument* xmlDoc = new tinyxml2::XMLDocument();
*doc = xmlDoc; *doc = xmlDoc;
//CCFileData data(UserDefault::getInstance()->getXMLFilePath().c_str(),"rt"); //CCFileData data(UserDefault::getInstance()->getXMLFilePath().c_str(),"rt");
unsigned long nSize; long nSize;
const char* pXmlBuffer = (const char*)FileUtils::getInstance()->getFileData(UserDefault::getInstance()->getXMLFilePath().c_str(), "rb", &nSize); const char* pXmlBuffer = (const char*)FileUtils::getInstance()->getFileData(UserDefault::getInstance()->getXMLFilePath().c_str(), "rb", &nSize);
//const char* pXmlBuffer = (const char*)data.getBuffer(); //const char* pXmlBuffer = (const char*)data.getBuffer();
if(NULL == pXmlBuffer) if(NULL == pXmlBuffer)

View File

@ -73,8 +73,8 @@ static tinyxml2::XMLElement* getXMLNodeForKey(const char* pKey, tinyxml2::XMLDoc
{ {
tinyxml2::XMLDocument* xmlDoc = new tinyxml2::XMLDocument(); tinyxml2::XMLDocument* xmlDoc = new tinyxml2::XMLDocument();
*doc = xmlDoc; *doc = xmlDoc;
unsigned long nSize; long size;
const char* pXmlBuffer = (const char*)FileUtils::getInstance()->getFileData(UserDefault::getInstance()->getXMLFilePath().c_str(), "rb", &nSize); const char* pXmlBuffer = (const char*)FileUtils::getInstance()->getFileData(UserDefault::getInstance()->getXMLFilePath().c_str(), "rb", &size);
//const char* pXmlBuffer = (const char*)data.getBuffer(); //const char* pXmlBuffer = (const char*)data.getBuffer();
if(NULL == pXmlBuffer) if(NULL == pXmlBuffer)
{ {

View File

@ -134,9 +134,11 @@ target_link_libraries(cocos2d
freetype freetype
fontconfig fontconfig
png png
pthread
glfw glfw
GLEW GLEW
GL GL
X11
rt rt
z z
) )

View File

@ -198,8 +198,8 @@ tImageTGA * tgaLoad(const char *filename)
int mode,total; int mode,total;
tImageTGA *info = NULL; tImageTGA *info = NULL;
unsigned long nSize = 0; long size = 0;
unsigned char* pBuffer = FileUtils::getInstance()->getFileData(filename, "rb", &nSize); unsigned char* pBuffer = FileUtils::getInstance()->getFileData(filename, "rb", &size);
do do
{ {
@ -207,7 +207,7 @@ tImageTGA * tgaLoad(const char *filename)
info = (tImageTGA *)malloc(sizeof(tImageTGA)); info = (tImageTGA *)malloc(sizeof(tImageTGA));
// get the file header info // get the file header info
if (! tgaLoadHeader(pBuffer, nSize, info)) if (! tgaLoadHeader(pBuffer, size, info))
{ {
info->status = TGA_ERROR_MEMORY; info->status = TGA_ERROR_MEMORY;
break; break;
@ -245,11 +245,11 @@ tImageTGA * tgaLoad(const char *filename)
// finally load the image pixels // finally load the image pixels
if ( info->type == 10 ) if ( info->type == 10 )
{ {
bLoadImage = tgaLoadRLEImageData(pBuffer, nSize, info); bLoadImage = tgaLoadRLEImageData(pBuffer, size, info);
} }
else else
{ {
bLoadImage = tgaLoadImageData(pBuffer, nSize, info); bLoadImage = tgaLoadImageData(pBuffer, size, info);
} }
// check for errors when reading the pixels // check for errors when reading the pixels

View File

@ -39,7 +39,7 @@ bool ZipUtils::s_bEncryptionKeyIsValid = false;
// --------------------- ZipUtils --------------------- // --------------------- ZipUtils ---------------------
inline void ZipUtils::ccDecodeEncodedPvr(unsigned int *data, int len) inline void ZipUtils::ccDecodeEncodedPvr(unsigned int *data, long len)
{ {
const int enclen = 1024; const int enclen = 1024;
const int securelen = 512; const int securelen = 512;
@ -108,7 +108,7 @@ inline void ZipUtils::ccDecodeEncodedPvr(unsigned int *data, int len)
} }
} }
inline unsigned int ZipUtils::ccChecksumPvr(const unsigned int *data, int len) inline unsigned int ZipUtils::ccChecksumPvr(const unsigned int *data, long len)
{ {
unsigned int cs = 0; unsigned int cs = 0;
const int cslen = 128; const int cslen = 128;
@ -127,12 +127,12 @@ inline unsigned int ZipUtils::ccChecksumPvr(const unsigned int *data, int len)
// Should buffer factor be 1.5 instead of 2 ? // Should buffer factor be 1.5 instead of 2 ?
#define BUFFER_INC_FACTOR (2) #define BUFFER_INC_FACTOR (2)
int ZipUtils::ccInflateMemoryWithHint(unsigned char *in, unsigned int inLength, unsigned char **out, unsigned int *outLength, unsigned int outLenghtHint) int ZipUtils::ccInflateMemoryWithHint(unsigned char *in, long inLength, unsigned char **out, long *outLength, long outLenghtHint)
{ {
/* ret value */ /* ret value */
int err = Z_OK; int err = Z_OK;
int bufferSize = outLenghtHint; long bufferSize = outLenghtHint;
*out = new unsigned char[bufferSize]; *out = new unsigned char[bufferSize];
z_stream d_stream; /* decompression stream */ z_stream d_stream; /* decompression stream */
@ -192,9 +192,9 @@ int ZipUtils::ccInflateMemoryWithHint(unsigned char *in, unsigned int inLength,
return err; return err;
} }
int ZipUtils::ccInflateMemoryWithHint(unsigned char *in, unsigned int inLength, unsigned char **out, unsigned int outLengthHint) int ZipUtils::ccInflateMemoryWithHint(unsigned char *in, long inLength, unsigned char **out, long outLengthHint)
{ {
unsigned int outLength = 0; long outLength = 0;
int err = ccInflateMemoryWithHint(in, inLength, out, &outLength, outLengthHint); int err = ccInflateMemoryWithHint(in, inLength, out, &outLength, outLengthHint);
if (err != Z_OK || *out == NULL) { if (err != Z_OK || *out == NULL) {
@ -223,7 +223,7 @@ int ZipUtils::ccInflateMemoryWithHint(unsigned char *in, unsigned int inLength,
return outLength; return outLength;
} }
int ZipUtils::ccInflateMemory(unsigned char *in, unsigned int inLength, unsigned char **out) int ZipUtils::ccInflateMemory(unsigned char *in, long inLength, unsigned char **out)
{ {
// 256k for hint // 256k for hint
return ccInflateMemoryWithHint(in, inLength, out, 256 * 1024); return ccInflateMemoryWithHint(in, inLength, out, 256 * 1024);
@ -304,7 +304,7 @@ bool ZipUtils::ccIsCCZFile(const char *path)
// load file into memory // load file into memory
unsigned char* compressed = NULL; unsigned char* compressed = NULL;
unsigned long fileLen = 0; long fileLen = 0;
compressed = FileUtils::getInstance()->getFileData(path, "rb", &fileLen); compressed = FileUtils::getInstance()->getFileData(path, "rb", &fileLen);
if(NULL == compressed || 0 == fileLen) if(NULL == compressed || 0 == fileLen)
@ -316,7 +316,7 @@ bool ZipUtils::ccIsCCZFile(const char *path)
return ccIsCCZBuffer(compressed, fileLen); return ccIsCCZBuffer(compressed, fileLen);
} }
bool ZipUtils::ccIsCCZBuffer(const unsigned char *buffer, int len) bool ZipUtils::ccIsCCZBuffer(const unsigned char *buffer, long len)
{ {
if (len < sizeof(struct CCZHeader)) if (len < sizeof(struct CCZHeader))
{ {
@ -333,7 +333,7 @@ bool ZipUtils::ccIsGZipFile(const char *path)
// load file into memory // load file into memory
unsigned char* compressed = NULL; unsigned char* compressed = NULL;
unsigned long fileLen = 0; long fileLen = 0;
compressed = FileUtils::getInstance()->getFileData(path, "rb", &fileLen); compressed = FileUtils::getInstance()->getFileData(path, "rb", &fileLen);
if(NULL == compressed || 0 == fileLen) if(NULL == compressed || 0 == fileLen)
@ -345,7 +345,7 @@ bool ZipUtils::ccIsGZipFile(const char *path)
return ccIsGZipBuffer(compressed, fileLen); return ccIsGZipBuffer(compressed, fileLen);
} }
bool ZipUtils::ccIsGZipBuffer(const unsigned char *buffer, int len) bool ZipUtils::ccIsGZipBuffer(const unsigned char *buffer, long len)
{ {
if (len < 2) if (len < 2)
{ {
@ -356,7 +356,7 @@ bool ZipUtils::ccIsGZipBuffer(const unsigned char *buffer, int len)
} }
int ZipUtils::ccInflateCCZBuffer(const unsigned char *buffer, int bufferLen, unsigned char **out) int ZipUtils::ccInflateCCZBuffer(const unsigned char *buffer, long bufferLen, unsigned char **out)
{ {
struct CCZHeader *header = (struct CCZHeader*) buffer; struct CCZHeader *header = (struct CCZHeader*) buffer;
@ -454,7 +454,7 @@ int ZipUtils::ccInflateCCZFile(const char *path, unsigned char **out)
// load file into memory // load file into memory
unsigned char* compressed = NULL; unsigned char* compressed = NULL;
unsigned long fileLen = 0; long fileLen = 0;
compressed = FileUtils::getInstance()->getFileData(path, "rb", &fileLen); compressed = FileUtils::getInstance()->getFileData(path, "rb", &fileLen);
if(NULL == compressed || 0 == fileLen) if(NULL == compressed || 0 == fileLen)
@ -582,7 +582,7 @@ bool ZipFile::fileExists(const std::string &fileName) const
return ret; return ret;
} }
unsigned char *ZipFile::getFileData(const std::string &fileName, unsigned long *pSize) unsigned char *ZipFile::getFileData(const std::string &fileName, long *pSize)
{ {
unsigned char * pBuffer = NULL; unsigned char * pBuffer = NULL;
if (pSize) if (pSize)

View File

@ -64,7 +64,7 @@ namespace cocos2d
* *
@since v0.8.1 @since v0.8.1
*/ */
static int ccInflateMemory(unsigned char *in, unsigned int inLength, unsigned char **out); static int ccInflateMemory(unsigned char *in, long inLength, unsigned char **out);
/** /**
* Inflates either zlib or gzip deflated memory. The inflated memory is * Inflates either zlib or gzip deflated memory. The inflated memory is
@ -76,7 +76,7 @@ namespace cocos2d
* *
@since v1.0.0 @since v1.0.0
*/ */
static int ccInflateMemoryWithHint(unsigned char *in, unsigned int inLength, unsigned char **out, unsigned int outLenghtHint); static int ccInflateMemoryWithHint(unsigned char *in, long inLength, unsigned char **out, long outLenghtHint);
/** inflates a GZip file into memory /** inflates a GZip file into memory
* *
@ -100,7 +100,7 @@ namespace cocos2d
* *
* @since v3.0 * @since v3.0
*/ */
static bool ccIsGZipBuffer(const unsigned char *buffer, int len); static bool ccIsGZipBuffer(const unsigned char *buffer, long len);
/** inflates a CCZ file into memory /** inflates a CCZ file into memory
* *
@ -116,7 +116,7 @@ namespace cocos2d
* *
* @since v3.0 * @since v3.0
*/ */
static int ccInflateCCZBuffer(const unsigned char *buffer, int len, unsigned char **out); static int ccInflateCCZBuffer(const unsigned char *buffer, long len, unsigned char **out);
/** test a file is a CCZ format file or not /** test a file is a CCZ format file or not
* *
@ -132,7 +132,7 @@ namespace cocos2d
* *
* @since v3.0 * @since v3.0
*/ */
static bool ccIsCCZBuffer(const unsigned char *buffer, int len); static bool ccIsCCZBuffer(const unsigned char *buffer, long len);
/** Sets the pvr.ccz encryption key parts separately for added /** Sets the pvr.ccz encryption key parts separately for added
* security. * security.
@ -187,10 +187,10 @@ namespace cocos2d
static void ccSetPvrEncryptionKey(unsigned int keyPart1, unsigned int keyPart2, unsigned int keyPart3, unsigned int keyPart4); static void ccSetPvrEncryptionKey(unsigned int keyPart1, unsigned int keyPart2, unsigned int keyPart3, unsigned int keyPart4);
private: private:
static int ccInflateMemoryWithHint(unsigned char *in, unsigned int inLength, unsigned char **out, unsigned int *outLength, static int ccInflateMemoryWithHint(unsigned char *in, long inLength, unsigned char **out, long *outLength,
unsigned int outLenghtHint); long outLenghtHint);
static inline void ccDecodeEncodedPvr (unsigned int *data, int len); static inline void ccDecodeEncodedPvr (unsigned int *data, long len);
static inline unsigned int ccChecksumPvr(const unsigned int *data, int len); static inline unsigned int ccChecksumPvr(const unsigned int *data, long len);
static unsigned int s_uEncryptedPvrKeyParts[4]; static unsigned int s_uEncryptedPvrKeyParts[4];
static unsigned int s_uEncryptionKey[1024]; static unsigned int s_uEncryptionKey[1024];
@ -253,7 +253,7 @@ namespace cocos2d
* *
* @since v2.0.5 * @since v2.0.5
*/ */
unsigned char *getFileData(const std::string &fileName, unsigned long *pSize); unsigned char *getFileData(const std::string &fileName, long *size);
private: private:
/** Internal data like zip file pointer / file list array and so on */ /** Internal data like zip file pointer / file list array and so on */

View File

@ -28,10 +28,10 @@ THE SOFTWARE.
NS_CC_BEGIN NS_CC_BEGIN
const int CC_INVALID_INDEX = -1; const long CC_INVALID_INDEX = -1;
/** Allocates and initializes a new array with specified capacity */ /** Allocates and initializes a new array with specified capacity */
ccArray* ccArrayNew(int capacity) ccArray* ccArrayNew(long capacity)
{ {
if (capacity == 0) if (capacity == 0)
capacity = 7; capacity = 7;
@ -68,7 +68,7 @@ void ccArrayDoubleCapacity(ccArray *arr)
arr->arr = newArr; arr->arr = newArr;
} }
void ccArrayEnsureExtraCapacity(ccArray *arr, int extra) void ccArrayEnsureExtraCapacity(ccArray *arr, long extra)
{ {
while (arr->max < arr->num + extra) while (arr->max < arr->num + extra)
{ {
@ -82,7 +82,7 @@ void ccArrayEnsureExtraCapacity(ccArray *arr, int extra)
void ccArrayShrink(ccArray *arr) void ccArrayShrink(ccArray *arr)
{ {
int newSize = 0; long newSize = 0;
//only resize when necessary //only resize when necessary
if (arr->max > arr->num && !(arr->num==0 && arr->max==1)) if (arr->max > arr->num && !(arr->num==0 && arr->max==1))
@ -104,11 +104,11 @@ void ccArrayShrink(ccArray *arr)
} }
/** Returns index of first occurrence of object, CC_INVALID_INDEX if object not found. */ /** Returns index of first occurrence of object, CC_INVALID_INDEX if object not found. */
int ccArrayGetIndexOfObject(ccArray *arr, Object* object) long ccArrayGetIndexOfObject(ccArray *arr, Object* object)
{ {
const int arrNum = arr->num; const long arrNum = arr->num;
Object** ptr = arr->arr; Object** ptr = arr->arr;
for(int i = 0; i < arrNum; ++i, ++ptr) for(long i = 0; i < arrNum; ++i, ++ptr)
{ {
if( *ptr == object ) if( *ptr == object )
return i; return i;
@ -143,7 +143,7 @@ void ccArrayAppendObjectWithResize(ccArray *arr, Object* object)
enough capacity. */ enough capacity. */
void ccArrayAppendArray(ccArray *arr, ccArray *plusArr) void ccArrayAppendArray(ccArray *arr, ccArray *plusArr)
{ {
for(int i = 0; i < plusArr->num; i++) for(long i = 0; i < plusArr->num; i++)
{ {
ccArrayAppendObject(arr, plusArr->arr[i]); ccArrayAppendObject(arr, plusArr->arr[i]);
} }
@ -157,14 +157,14 @@ void ccArrayAppendArrayWithResize(ccArray *arr, ccArray *plusArr)
} }
/** Inserts an object at index */ /** Inserts an object at index */
void ccArrayInsertObjectAtIndex(ccArray *arr, Object* object, int index) void ccArrayInsertObjectAtIndex(ccArray *arr, Object* object, long index)
{ {
CCASSERT(index<=arr->num, "Invalid index. Out of bounds"); CCASSERT(index<=arr->num, "Invalid index. Out of bounds");
CCASSERT(object != NULL, "Invalid parameter!"); CCASSERT(object != NULL, "Invalid parameter!");
ccArrayEnsureExtraCapacity(arr, 1); ccArrayEnsureExtraCapacity(arr, 1);
int remaining = arr->num - index; long remaining = arr->num - index;
if( remaining > 0) if( remaining > 0)
{ {
memmove((void *)&arr->arr[index+1], (void *)&arr->arr[index], sizeof(Object*) * remaining ); memmove((void *)&arr->arr[index+1], (void *)&arr->arr[index], sizeof(Object*) * remaining );
@ -176,7 +176,7 @@ void ccArrayInsertObjectAtIndex(ccArray *arr, Object* object, int index)
} }
/** Swaps two objects */ /** Swaps two objects */
void ccArraySwapObjectsAtIndexes(ccArray *arr, int index1, int index2) void ccArraySwapObjectsAtIndexes(ccArray *arr, long index1, long index2)
{ {
CCASSERT(index1>=0 && index1 < arr->num, "(1) Invalid index. Out of bounds"); CCASSERT(index1>=0 && index1 < arr->num, "(1) Invalid index. Out of bounds");
CCASSERT(index2>=0 && index2 < arr->num, "(2) Invalid index. Out of bounds"); CCASSERT(index2>=0 && index2 < arr->num, "(2) Invalid index. Out of bounds");
@ -198,7 +198,7 @@ void ccArrayRemoveAllObjects(ccArray *arr)
/** Removes object at specified index and pushes back all subsequent objects. /** Removes object at specified index and pushes back all subsequent objects.
Behavior undefined if index outside [0, num-1]. */ Behavior undefined if index outside [0, num-1]. */
void ccArrayRemoveObjectAtIndex(ccArray *arr, int index, bool bReleaseObj/* = true*/) void ccArrayRemoveObjectAtIndex(ccArray *arr, long index, bool bReleaseObj/* = true*/)
{ {
CCASSERT(arr && arr->num > 0 && index>=0 && index < arr->num, "Invalid index. Out of bounds"); CCASSERT(arr && arr->num > 0 && index>=0 && index < arr->num, "Invalid index. Out of bounds");
if (bReleaseObj) if (bReleaseObj)
@ -208,7 +208,7 @@ void ccArrayRemoveObjectAtIndex(ccArray *arr, int index, bool bReleaseObj/* = tr
arr->num--; arr->num--;
int remaining = arr->num - index; long remaining = arr->num - index;
if(remaining>0) if(remaining>0)
{ {
memmove((void *)&arr->arr[index], (void *)&arr->arr[index+1], remaining * sizeof(Object*)); memmove((void *)&arr->arr[index], (void *)&arr->arr[index+1], remaining * sizeof(Object*));
@ -218,16 +218,16 @@ void ccArrayRemoveObjectAtIndex(ccArray *arr, int index, bool bReleaseObj/* = tr
/** Removes object at specified index and fills the gap with the last object, /** Removes object at specified index and fills the gap with the last object,
thereby avoiding the need to push back subsequent objects. thereby avoiding the need to push back subsequent objects.
Behavior undefined if index outside [0, num-1]. */ Behavior undefined if index outside [0, num-1]. */
void ccArrayFastRemoveObjectAtIndex(ccArray *arr, int index) void ccArrayFastRemoveObjectAtIndex(ccArray *arr, long index)
{ {
CC_SAFE_RELEASE(arr->arr[index]); CC_SAFE_RELEASE(arr->arr[index]);
int last = --arr->num; long last = --arr->num;
arr->arr[index] = arr->arr[last]; arr->arr[index] = arr->arr[last];
} }
void ccArrayFastRemoveObject(ccArray *arr, Object* object) void ccArrayFastRemoveObject(ccArray *arr, Object* object)
{ {
int index = ccArrayGetIndexOfObject(arr, object); long index = ccArrayGetIndexOfObject(arr, object);
if (index != CC_INVALID_INDEX) if (index != CC_INVALID_INDEX)
{ {
ccArrayFastRemoveObjectAtIndex(arr, index); ccArrayFastRemoveObjectAtIndex(arr, index);
@ -238,7 +238,7 @@ void ccArrayFastRemoveObject(ccArray *arr, Object* object)
found the function has no effect. */ found the function has no effect. */
void ccArrayRemoveObject(ccArray *arr, Object* object, bool bReleaseObj/* = true*/) void ccArrayRemoveObject(ccArray *arr, Object* object, bool bReleaseObj/* = true*/)
{ {
int index = ccArrayGetIndexOfObject(arr, object); long index = ccArrayGetIndexOfObject(arr, object);
if (index != CC_INVALID_INDEX) if (index != CC_INVALID_INDEX)
{ {
ccArrayRemoveObjectAtIndex(arr, index, bReleaseObj); ccArrayRemoveObjectAtIndex(arr, index, bReleaseObj);
@ -249,7 +249,7 @@ void ccArrayRemoveObject(ccArray *arr, Object* object, bool bReleaseObj/* = true
first matching instance in arr will be removed. */ first matching instance in arr will be removed. */
void ccArrayRemoveArray(ccArray *arr, ccArray *minusArr) void ccArrayRemoveArray(ccArray *arr, ccArray *minusArr)
{ {
for(int i = 0; i < minusArr->num; i++) for(long i = 0; i < minusArr->num; i++)
{ {
ccArrayRemoveObject(arr, minusArr->arr[i]); ccArrayRemoveObject(arr, minusArr->arr[i]);
} }
@ -259,8 +259,8 @@ void ccArrayRemoveArray(ccArray *arr, ccArray *minusArr)
matching instances in arr will be removed. */ matching instances in arr will be removed. */
void ccArrayFullRemoveArray(ccArray *arr, ccArray *minusArr) void ccArrayFullRemoveArray(ccArray *arr, ccArray *minusArr)
{ {
int back = 0; long back = 0;
int i = 0; long i = 0;
for( i = 0; i < arr->num; i++) for( i = 0; i < arr->num; i++)
{ {
@ -282,7 +282,7 @@ void ccArrayFullRemoveArray(ccArray *arr, ccArray *minusArr)
// #pragma mark ccCArray for Values (c structures) // #pragma mark ccCArray for Values (c structures)
/** Allocates and initializes a new C array with specified capacity */ /** Allocates and initializes a new C array with specified capacity */
ccCArray* ccCArrayNew(int capacity) ccCArray* ccCArrayNew(long capacity)
{ {
if (capacity == 0) if (capacity == 0)
{ {
@ -317,15 +317,15 @@ void ccCArrayDoubleCapacity(ccCArray *arr)
} }
/** Increases array capacity such that max >= num + extra. */ /** Increases array capacity such that max >= num + extra. */
void ccCArrayEnsureExtraCapacity(ccCArray *arr, int extra) void ccCArrayEnsureExtraCapacity(ccCArray *arr, long extra)
{ {
ccArrayEnsureExtraCapacity((ccArray*)arr,extra); ccArrayEnsureExtraCapacity((ccArray*)arr,extra);
} }
/** Returns index of first occurrence of value, CC_INVALID_INDEX if value not found. */ /** Returns index of first occurrence of value, CC_INVALID_INDEX if value not found. */
int ccCArrayGetIndexOfValue(ccCArray *arr, void* value) long ccCArrayGetIndexOfValue(ccCArray *arr, void* value)
{ {
for( int i = 0; i < arr->num; i++) for(long i = 0; i < arr->num; i++)
{ {
if( arr->arr[i] == value ) if( arr->arr[i] == value )
return i; return i;
@ -340,11 +340,11 @@ bool ccCArrayContainsValue(ccCArray *arr, void* value)
} }
/** Inserts a value at a certain position. Behavior undefined if array doesn't have enough capacity */ /** Inserts a value at a certain position. Behavior undefined if array doesn't have enough capacity */
void ccCArrayInsertValueAtIndex( ccCArray *arr, void* value, int index) void ccCArrayInsertValueAtIndex( ccCArray *arr, void* value, long index)
{ {
CCASSERT( index < arr->max, "ccCArrayInsertValueAtIndex: invalid index"); CCASSERT( index < arr->max, "ccCArrayInsertValueAtIndex: invalid index");
int remaining = arr->num - index; long remaining = arr->num - index;
// make sure it has enough capacity // make sure it has enough capacity
if (arr->num + 1 == arr->max) if (arr->num + 1 == arr->max)
{ {
@ -385,7 +385,7 @@ void ccCArrayAppendValueWithResize(ccCArray *arr, void* value)
enough capacity. */ enough capacity. */
void ccCArrayAppendArray(ccCArray *arr, ccCArray *plusArr) void ccCArrayAppendArray(ccCArray *arr, ccCArray *plusArr)
{ {
for( int i = 0; i < plusArr->num; i++) for( long i = 0; i < plusArr->num; i++)
{ {
ccCArrayAppendValue(arr, plusArr->arr[i]); ccCArrayAppendValue(arr, plusArr->arr[i]);
} }
@ -408,9 +408,9 @@ void ccCArrayRemoveAllValues(ccCArray *arr)
Behavior undefined if index outside [0, num-1]. Behavior undefined if index outside [0, num-1].
@since v0.99.4 @since v0.99.4
*/ */
void ccCArrayRemoveValueAtIndex(ccCArray *arr, int index) void ccCArrayRemoveValueAtIndex(ccCArray *arr, long index)
{ {
for( int last = --arr->num; index < last; index++) for( long last = --arr->num; index < last; index++)
{ {
arr->arr[index] = arr->arr[index + 1]; arr->arr[index] = arr->arr[index + 1];
} }
@ -421,9 +421,9 @@ void ccCArrayRemoveValueAtIndex(ccCArray *arr, int index)
Behavior undefined if index outside [0, num-1]. Behavior undefined if index outside [0, num-1].
@since v0.99.4 @since v0.99.4
*/ */
void ccCArrayFastRemoveValueAtIndex(ccCArray *arr, int index) void ccCArrayFastRemoveValueAtIndex(ccCArray *arr, long index)
{ {
int last = --arr->num; long last = --arr->num;
arr->arr[index] = arr->arr[last]; arr->arr[index] = arr->arr[last];
} }
@ -432,7 +432,7 @@ void ccCArrayFastRemoveValueAtIndex(ccCArray *arr, int index)
*/ */
void ccCArrayRemoveValue(ccCArray *arr, void* value) void ccCArrayRemoveValue(ccCArray *arr, void* value)
{ {
int index = ccCArrayGetIndexOfValue(arr, value); long index = ccCArrayGetIndexOfValue(arr, value);
if (index != CC_INVALID_INDEX) if (index != CC_INVALID_INDEX)
{ {
ccCArrayRemoveValueAtIndex(arr, index); ccCArrayRemoveValueAtIndex(arr, index);
@ -444,7 +444,7 @@ void ccCArrayRemoveValue(ccCArray *arr, void* value)
*/ */
void ccCArrayRemoveArray(ccCArray *arr, ccCArray *minusArr) void ccCArrayRemoveArray(ccCArray *arr, ccCArray *minusArr)
{ {
for(int i = 0; i < minusArr->num; i++) for(long i = 0; i < minusArr->num; i++)
{ {
ccCArrayRemoveValue(arr, minusArr->arr[i]); ccCArrayRemoveValue(arr, minusArr->arr[i]);
} }
@ -455,9 +455,9 @@ void ccCArrayRemoveArray(ccCArray *arr, ccCArray *minusArr)
*/ */
void ccCArrayFullRemoveArray(ccCArray *arr, ccCArray *minusArr) void ccCArrayFullRemoveArray(ccCArray *arr, ccCArray *minusArr)
{ {
int back = 0; long back = 0;
for(int i = 0; i < arr->num; i++) for(long i = 0; i < arr->num; i++)
{ {
if( ccCArrayContainsValue(minusArr, arr->arr[i]) ) if( ccCArrayContainsValue(minusArr, arr->arr[i]) )
{ {

View File

@ -51,20 +51,20 @@ THE SOFTWARE.
NS_CC_BEGIN NS_CC_BEGIN
extern const int CC_INVALID_INDEX; extern const long CC_INVALID_INDEX;
// Easy integration // Easy integration
#define CCARRAYDATA_FOREACH(__array__, __object__) \ #define CCARRAYDATA_FOREACH(__array__, __object__) \
__object__=__array__->arr[0]; for(int i=0, num=__array__->num; i<num; i++, __object__=__array__->arr[i]) \ __object__=__array__->arr[0]; for(long i=0, num=__array__->num; i<num; i++, __object__=__array__->arr[i]) \
typedef struct _ccArray { typedef struct _ccArray {
int num, max; long num, max;
Object** arr; Object** arr;
} ccArray; } ccArray;
/** Allocates and initializes a new array with specified capacity */ /** Allocates and initializes a new array with specified capacity */
ccArray* ccArrayNew(int capacity); ccArray* ccArrayNew(long capacity);
/** Frees array after removing all remaining objects. Silently ignores nil arr. */ /** Frees array after removing all remaining objects. Silently ignores nil arr. */
void ccArrayFree(ccArray*& arr); void ccArrayFree(ccArray*& arr);
@ -73,13 +73,13 @@ void ccArrayFree(ccArray*& arr);
void ccArrayDoubleCapacity(ccArray *arr); void ccArrayDoubleCapacity(ccArray *arr);
/** Increases array capacity such that max >= num + extra. */ /** Increases array capacity such that max >= num + extra. */
void ccArrayEnsureExtraCapacity(ccArray *arr, int extra); void ccArrayEnsureExtraCapacity(ccArray *arr, long extra);
/** shrinks the array so the memory footprint corresponds with the number of items */ /** shrinks the array so the memory footprint corresponds with the number of items */
void ccArrayShrink(ccArray *arr); void ccArrayShrink(ccArray *arr);
/** Returns index of first occurrence of object, NSNotFound if object not found. */ /** Returns index of first occurrence of object, NSNotFound if object not found. */
int ccArrayGetIndexOfObject(ccArray *arr, Object* object); long ccArrayGetIndexOfObject(ccArray *arr, Object* object);
/** Returns a Boolean value that indicates whether object is present in array. */ /** Returns a Boolean value that indicates whether object is present in array. */
bool ccArrayContainsObject(ccArray *arr, Object* object); bool ccArrayContainsObject(ccArray *arr, Object* object);
@ -98,22 +98,22 @@ void ccArrayAppendArray(ccArray *arr, ccArray *plusArr);
void ccArrayAppendArrayWithResize(ccArray *arr, ccArray *plusArr); void ccArrayAppendArrayWithResize(ccArray *arr, ccArray *plusArr);
/** Inserts an object at index */ /** Inserts an object at index */
void ccArrayInsertObjectAtIndex(ccArray *arr, Object* object, int index); void ccArrayInsertObjectAtIndex(ccArray *arr, Object* object, long index);
/** Swaps two objects */ /** Swaps two objects */
void ccArraySwapObjectsAtIndexes(ccArray *arr, int index1, int index2); void ccArraySwapObjectsAtIndexes(ccArray *arr, long index1, long index2);
/** Removes all objects from arr */ /** Removes all objects from arr */
void ccArrayRemoveAllObjects(ccArray *arr); void ccArrayRemoveAllObjects(ccArray *arr);
/** Removes object at specified index and pushes back all subsequent objects. /** Removes object at specified index and pushes back all subsequent objects.
Behavior undefined if index outside [0, num-1]. */ Behavior undefined if index outside [0, num-1]. */
void ccArrayRemoveObjectAtIndex(ccArray *arr, int index, bool bReleaseObj = true); void ccArrayRemoveObjectAtIndex(ccArray *arr, long index, bool bReleaseObj = true);
/** Removes object at specified index and fills the gap with the last object, /** Removes object at specified index and fills the gap with the last object,
thereby avoiding the need to push back subsequent objects. thereby avoiding the need to push back subsequent objects.
Behavior undefined if index outside [0, num-1]. */ Behavior undefined if index outside [0, num-1]. */
void ccArrayFastRemoveObjectAtIndex(ccArray *arr, int index); void ccArrayFastRemoveObjectAtIndex(ccArray *arr, long index);
void ccArrayFastRemoveObject(ccArray *arr, Object* object); void ccArrayFastRemoveObject(ccArray *arr, Object* object);
@ -133,12 +133,12 @@ void ccArrayFullRemoveArray(ccArray *arr, ccArray *minusArr);
// #pragma mark ccCArray for Values (c structures) // #pragma mark ccCArray for Values (c structures)
typedef struct _ccCArray { typedef struct _ccCArray {
int num, max; long num, max;
void** arr; void** arr;
} ccCArray; } ccCArray;
/** Allocates and initializes a new C array with specified capacity */ /** Allocates and initializes a new C array with specified capacity */
ccCArray* ccCArrayNew(int capacity); ccCArray* ccCArrayNew(long capacity);
/** Frees C array after removing all remaining values. Silently ignores nil arr. */ /** Frees C array after removing all remaining values. Silently ignores nil arr. */
void ccCArrayFree(ccCArray *arr); void ccCArrayFree(ccCArray *arr);
@ -147,16 +147,16 @@ void ccCArrayFree(ccCArray *arr);
void ccCArrayDoubleCapacity(ccCArray *arr); void ccCArrayDoubleCapacity(ccCArray *arr);
/** Increases array capacity such that max >= num + extra. */ /** Increases array capacity such that max >= num + extra. */
void ccCArrayEnsureExtraCapacity(ccCArray *arr, int extra); void ccCArrayEnsureExtraCapacity(ccCArray *arr, long extra);
/** Returns index of first occurrence of value, NSNotFound if value not found. */ /** Returns index of first occurrence of value, NSNotFound if value not found. */
int ccCArrayGetIndexOfValue(ccCArray *arr, void* value); long ccCArrayGetIndexOfValue(ccCArray *arr, void* value);
/** Returns a Boolean value that indicates whether value is present in the C array. */ /** Returns a Boolean value that indicates whether value is present in the C array. */
bool ccCArrayContainsValue(ccCArray *arr, void* value); bool ccCArrayContainsValue(ccCArray *arr, void* value);
/** Inserts a value at a certain position. Behavior undefined if array doesn't have enough capacity */ /** Inserts a value at a certain position. Behavior undefined if array doesn't have enough capacity */
void ccCArrayInsertValueAtIndex( ccCArray *arr, void* value, int index); void ccCArrayInsertValueAtIndex( ccCArray *arr, void* value, long index);
/** Appends an value. Behavior undefined if array doesn't have enough capacity. */ /** Appends an value. Behavior undefined if array doesn't have enough capacity. */
void ccCArrayAppendValue(ccCArray *arr, void* value); void ccCArrayAppendValue(ccCArray *arr, void* value);
@ -178,14 +178,14 @@ void ccCArrayRemoveAllValues(ccCArray *arr);
Behavior undefined if index outside [0, num-1]. Behavior undefined if index outside [0, num-1].
@since v0.99.4 @since v0.99.4
*/ */
void ccCArrayRemoveValueAtIndex(ccCArray *arr, int index); void ccCArrayRemoveValueAtIndex(ccCArray *arr, long index);
/** Removes value at specified index and fills the gap with the last value, /** Removes value at specified index and fills the gap with the last value,
thereby avoiding the need to push back subsequent values. thereby avoiding the need to push back subsequent values.
Behavior undefined if index outside [0, num-1]. Behavior undefined if index outside [0, num-1].
@since v0.99.4 @since v0.99.4
*/ */
void ccCArrayFastRemoveValueAtIndex(ccCArray *arr, int index); void ccCArrayFastRemoveValueAtIndex(ccCArray *arr, long index);
/** Searches for the first occurrence of value and removes it. If value is not found the function has no effect. /** Searches for the first occurrence of value and removes it. If value is not found the function has no effect.
@since v0.99.4 @since v0.99.4

View File

@ -12,7 +12,7 @@ namespace {
static Touch* g_touches[EventTouch::MAX_TOUCHES] = { NULL }; static Touch* g_touches[EventTouch::MAX_TOUCHES] = { NULL };
static unsigned int g_indexBitsUsed = 0; static unsigned int g_indexBitsUsed = 0;
// System touch pointer ID (It may not be ascending order number) <-> Ascending order number from 0 // System touch pointer ID (It may not be ascending order number) <-> Ascending order number from 0
static std::map<int, int> g_touchIdReorderMap; static std::map<long, int> g_touchIdReorderMap;
static int getUnUsedIndex() static int getUnUsedIndex()
{ {
@ -201,9 +201,9 @@ const char* EGLViewProtocol::getViewName()
return _viewName; return _viewName;
} }
void EGLViewProtocol::handleTouchesBegin(int num, int ids[], float xs[], float ys[]) void EGLViewProtocol::handleTouchesBegin(int num, long ids[], float xs[], float ys[])
{ {
int id = 0; long id = 0;
float x = 0.0f; float x = 0.0f;
float y = 0.0f; float y = 0.0f;
int nUnusedIndex = 0; int nUnusedIndex = 0;
@ -251,9 +251,9 @@ void EGLViewProtocol::handleTouchesBegin(int num, int ids[], float xs[], float y
dispatcher->dispatchEvent(&touchEvent); dispatcher->dispatchEvent(&touchEvent);
} }
void EGLViewProtocol::handleTouchesMove(int num, int ids[], float xs[], float ys[]) void EGLViewProtocol::handleTouchesMove(int num, long ids[], float xs[], float ys[])
{ {
int id = 0; long id = 0;
float x = 0.0f; float x = 0.0f;
float y = 0.0f; float y = 0.0f;
EventTouch touchEvent; EventTouch touchEvent;
@ -283,7 +283,7 @@ void EGLViewProtocol::handleTouchesMove(int num, int ids[], float xs[], float ys
else else
{ {
// It is error, should return. // It is error, should return.
CCLOG("Moving touches with id: %d error", id); CCLOG("Moving touches with id: %ld error", id);
return; return;
} }
} }
@ -299,9 +299,9 @@ void EGLViewProtocol::handleTouchesMove(int num, int ids[], float xs[], float ys
dispatcher->dispatchEvent(&touchEvent); dispatcher->dispatchEvent(&touchEvent);
} }
void EGLViewProtocol::handleTouchesOfEndOrCancel(EventTouch::EventCode eventCode, int num, int ids[], float xs[], float ys[]) void EGLViewProtocol::handleTouchesOfEndOrCancel(EventTouch::EventCode eventCode, int num, long ids[], float xs[], float ys[])
{ {
int id = 0; long id = 0;
float x = 0.0f; float x = 0.0f;
float y = 0.0f; float y = 0.0f;
EventTouch touchEvent; EventTouch touchEvent;
@ -336,7 +336,7 @@ void EGLViewProtocol::handleTouchesOfEndOrCancel(EventTouch::EventCode eventCode
} }
else else
{ {
CCLOG("Ending touches with id: %d error", id); CCLOG("Ending touches with id: %ld error", id);
return; return;
} }
@ -359,12 +359,12 @@ void EGLViewProtocol::handleTouchesOfEndOrCancel(EventTouch::EventCode eventCode
} }
} }
void EGLViewProtocol::handleTouchesEnd(int num, int ids[], float xs[], float ys[]) void EGLViewProtocol::handleTouchesEnd(int num, long ids[], float xs[], float ys[])
{ {
handleTouchesOfEndOrCancel(EventTouch::EventCode::ENDED, num, ids, xs, ys); handleTouchesOfEndOrCancel(EventTouch::EventCode::ENDED, num, ids, xs, ys);
} }
void EGLViewProtocol::handleTouchesCancel(int num, int ids[], float xs[], float ys[]) void EGLViewProtocol::handleTouchesCancel(int num, long ids[], float xs[], float ys[])
{ {
handleTouchesOfEndOrCancel(EventTouch::EventCode::CANCELLED, num, ids, xs, ys); handleTouchesOfEndOrCancel(EventTouch::EventCode::CANCELLED, num, ids, xs, ys);
} }

View File

@ -136,10 +136,10 @@ public:
const char* getViewName(); const char* getViewName();
/** Touch events are handled by default; if you want to customize your handlers, please override these functions: */ /** Touch events are handled by default; if you want to customize your handlers, please override these functions: */
virtual void handleTouchesBegin(int num, int ids[], float xs[], float ys[]); virtual void handleTouchesBegin(int num, long ids[], float xs[], float ys[]);
virtual void handleTouchesMove(int num, int ids[], float xs[], float ys[]); virtual void handleTouchesMove(int num, long ids[], float xs[], float ys[]);
virtual void handleTouchesEnd(int num, int ids[], float xs[], float ys[]); virtual void handleTouchesEnd(int num, long ids[], float xs[], float ys[]);
virtual void handleTouchesCancel(int num, int ids[], float xs[], float ys[]); virtual void handleTouchesCancel(int num, long ids[], float xs[], float ys[]);
/** /**
* Get the opengl view port rectangle. * Get the opengl view port rectangle.
@ -156,7 +156,7 @@ public:
*/ */
float getScaleY() const; float getScaleY() const;
private: private:
void handleTouchesOfEndOrCancel(EventTouch::EventCode eventCode, int num, int ids[], float xs[], float ys[]); void handleTouchesOfEndOrCancel(EventTouch::EventCode eventCode, int num, long ids[], float xs[], float ys[]);
protected: protected:
EGLTouchDelegate* _delegate; EGLTouchDelegate* _delegate;

View File

@ -451,7 +451,7 @@ NS_CC_BEGIN
/* The subclass FileUtilsApple should override these two method. */ /* The subclass FileUtilsApple should override these two method. */
Dictionary* FileUtils::createDictionaryWithContentsOfFile(const std::string& filename) {return NULL;} Dictionary* FileUtils::createDictionaryWithContentsOfFile(const std::string& filename) {return NULL;}
bool FileUtils::writeToFile(cocos2d::Dictionary *dict, const std::string &fullPath) {return NULL;} bool FileUtils::writeToFile(cocos2d::Dictionary *dict, const std::string &fullPath) {return false;}
Array* FileUtils::createArrayWithContentsOfFile(const std::string& filename) {return NULL;} Array* FileUtils::createArrayWithContentsOfFile(const std::string& filename) {return NULL;}
#endif /* (CC_TARGET_PLATFORM != CC_PLATFORM_IOS) && (CC_TARGET_PLATFORM != CC_PLATFORM_MAC) */ #endif /* (CC_TARGET_PLATFORM != CC_PLATFORM_IOS) && (CC_TARGET_PLATFORM != CC_PLATFORM_MAC) */
@ -488,7 +488,7 @@ void FileUtils::purgeCachedEntries()
_fullPathCache.clear(); _fullPathCache.clear();
} }
unsigned char* FileUtils::getFileData(const char* filename, const char* mode, unsigned long * size) unsigned char* FileUtils::getFileData(const char* filename, const char* mode, long *size)
{ {
unsigned char * buffer = NULL; unsigned char * buffer = NULL;
CCASSERT(filename != NULL && size != NULL && mode != NULL, "Invalid parameters."); CCASSERT(filename != NULL && size != NULL && mode != NULL, "Invalid parameters.");
@ -518,7 +518,7 @@ unsigned char* FileUtils::getFileData(const char* filename, const char* mode, un
return buffer; return buffer;
} }
unsigned char* FileUtils::getFileDataFromZip(const char* zipFilePath, const char* filename, unsigned long * size) unsigned char* FileUtils::getFileDataFromZip(const char* zipFilePath, const char* filename, long *size)
{ {
unsigned char * buffer = NULL; unsigned char * buffer = NULL;
unzFile pFile = NULL; unzFile pFile = NULL;

View File

@ -88,7 +88,7 @@ public:
* @return Upon success, a pointer to the data is returned, otherwise NULL. * @return Upon success, a pointer to the data is returned, otherwise NULL.
* @warning Recall: you are responsible for calling delete[] on any Non-NULL pointer returned. * @warning Recall: you are responsible for calling delete[] on any Non-NULL pointer returned.
*/ */
virtual unsigned char* getFileData(const char* filename, const char* mode, unsigned long * size); virtual unsigned char* getFileData(const char* filename, const char* mode, long *size);
/** /**
* Gets resource file data from a zip file. * Gets resource file data from a zip file.
@ -98,7 +98,7 @@ public:
* @return Upon success, a pointer to the data is returned, otherwise NULL. * @return Upon success, a pointer to the data is returned, otherwise NULL.
* @warning Recall: you are responsible for calling delete[] on any Non-NULL pointer returned. * @warning Recall: you are responsible for calling delete[] on any Non-NULL pointer returned.
*/ */
virtual unsigned char* getFileDataFromZip(const char* zipFilePath, const char* filename, unsigned long *size); virtual unsigned char* getFileDataFromZip(const char* zipFilePath, const char* filename, long *size);
/** Returns the fullpath for a given filename. /** Returns the fullpath for a given filename.

View File

@ -119,10 +119,10 @@ public:
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
bool initWithImageData(const unsigned char * data, int dataLen); bool initWithImageData(const unsigned char * data, long dataLen);
// @warning kFmtRawData only support RGBA8888 // @warning kFmtRawData only support RGBA8888
bool initWithRawData(const unsigned char * data, int dataLen, int width, int height, int bitsPerComponent, bool preMulti = false); bool initWithRawData(const unsigned char * data, long dataLen, long width, long height, long bitsPerComponent, bool preMulti = false);
/** /**
@brief Create image with specified string. @brief Create image with specified string.

View File

@ -416,7 +416,7 @@ bool Image::initWithImageFile(const char * strPath)
SDL_FreeSurface(iSurf); SDL_FreeSurface(iSurf);
#else #else
unsigned long bufferLen = 0; long bufferLen = 0;
unsigned char* buffer = FileUtils::getInstance()->getFileData(fullPath.c_str(), "rb", &bufferLen); unsigned char* buffer = FileUtils::getInstance()->getFileData(fullPath.c_str(), "rb", &bufferLen);
if (buffer != nullptr && bufferLen > 0) if (buffer != nullptr && bufferLen > 0)
@ -432,23 +432,23 @@ bool Image::initWithImageFile(const char * strPath)
bool Image::initWithImageFileThreadSafe(const char *fullpath) bool Image::initWithImageFileThreadSafe(const char *fullpath)
{ {
bool bRet = false; bool ret = false;
unsigned long dataLen = 0; long dataLen = 0;
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
FileUtilsAndroid *fileUitls = (FileUtilsAndroid*)FileUtils::getInstance(); FileUtilsAndroid *fileUitls = (FileUtilsAndroid*)FileUtils::getInstance();
unsigned char *pBuffer = fileUitls->getFileDataForAsync(fullpath, "rb", &dataLen); unsigned char *buffer = fileUitls->getFileDataForAsync(fullpath, "rb", &dataLen);
#else #else
unsigned char *pBuffer = FileUtils::getInstance()->getFileData(fullpath, "rb", &dataLen); unsigned char *buffer = FileUtils::getInstance()->getFileData(fullpath, "rb", &dataLen);
#endif #endif
if (pBuffer != NULL && dataLen > 0) if (buffer != NULL && dataLen > 0)
{ {
bRet = initWithImageData(pBuffer, dataLen); ret = initWithImageData(buffer, dataLen);
} }
CC_SAFE_DELETE_ARRAY(pBuffer); CC_SAFE_DELETE_ARRAY(buffer);
return bRet; return ret;
} }
bool Image::initWithImageData(const unsigned char * data, int dataLen) bool Image::initWithImageData(const unsigned char * data, long dataLen)
{ {
bool ret = false; bool ret = false;
@ -1190,13 +1190,13 @@ bool Image::initWithPVRv2Data(const unsigned char * data, int dataLen)
if (!testFormatForPvr2TCSupport(formatFlags)) if (!testFormatForPvr2TCSupport(formatFlags))
{ {
CCLOG("cocos2d: WARNING: Unsupported PVR Pixel Format: 0x%02X. Re-encode it with a OpenGL pixel format variant", formatFlags); CCLOG("cocos2d: WARNING: Unsupported PVR Pixel Format: 0x%02X. Re-encode it with a OpenGL pixel format variant", (int)formatFlags);
return false; return false;
} }
if (v2_pixel_formathash.find(formatFlags) == v2_pixel_formathash.end()) if (v2_pixel_formathash.find(formatFlags) == v2_pixel_formathash.end())
{ {
CCLOG("cocos2d: WARNING: Unsupported PVR Pixel Format: 0x%02X. Re-encode it with a OpenGL pixel format variant", formatFlags); CCLOG("cocos2d: WARNING: Unsupported PVR Pixel Format: 0x%02X. Re-encode it with a OpenGL pixel format variant", (int)formatFlags);
return false; return false;
} }
@ -1204,7 +1204,7 @@ bool Image::initWithPVRv2Data(const unsigned char * data, int dataLen)
if (it == Texture2D::getPixelFormatInfoMap().end()) if (it == Texture2D::getPixelFormatInfoMap().end())
{ {
CCLOG("cocos2d: WARNING: Unsupported PVR Pixel Format: 0x%02X. Re-encode it with a OpenGL pixel format variant", formatFlags); CCLOG("cocos2d: WARNING: Unsupported PVR Pixel Format: 0x%02X. Re-encode it with a OpenGL pixel format variant", (int)formatFlags);
return false; return false;
} }
@ -1757,7 +1757,7 @@ bool Image::initWithWebpData(const unsigned char * data, int dataLen)
return bRet; return bRet;
} }
bool Image::initWithRawData(const unsigned char * data, int dataLen, int width, int height, int bitsPerComponent, bool preMulti) bool Image::initWithRawData(const unsigned char * data, long dataLen, long width, long height, long bitsPerComponent, bool preMulti)
{ {
bool bRet = false; bool bRet = false;
do do

View File

@ -114,15 +114,15 @@ bool SAXParser::parse(const char* pXMLData, unsigned int uDataLength)
bool SAXParser::parse(const char *pszFile) bool SAXParser::parse(const char *pszFile)
{ {
bool bRet = false; bool ret = false;
unsigned long size = 0; long size = 0;
char* pBuffer = (char*)FileUtils::getInstance()->getFileData(pszFile, "rt", &size); char* pBuffer = (char*)FileUtils::getInstance()->getFileData(pszFile, "rt", &size);
if (pBuffer != NULL && size > 0) if (pBuffer != NULL && size > 0)
{ {
bRet = parse(pBuffer, size); ret = parse(pBuffer, size);
} }
CC_SAFE_DELETE_ARRAY(pBuffer); CC_SAFE_DELETE_ARRAY(pBuffer);
return bRet; return ret;
} }
void SAXParser::startElement(void *ctx, const CC_XML_CHAR *name, const CC_XML_CHAR **atts) void SAXParser::startElement(void *ctx, const CC_XML_CHAR *name, const CC_XML_CHAR **atts)

View File

@ -292,7 +292,7 @@ static void engine_term_display(struct engine* engine) {
/* /*
* Get X, Y positions and ID's for all pointers * Get X, Y positions and ID's for all pointers
*/ */
static void getTouchPos(AInputEvent *event, int ids[], float xs[], float ys[]) { static void getTouchPos(AInputEvent *event, long ids[], float xs[], float ys[]) {
int pointerCount = AMotionEvent_getPointerCount(event); int pointerCount = AMotionEvent_getPointerCount(event);
for(int i = 0; i < pointerCount; ++i) { for(int i = 0; i < pointerCount; ++i) {
ids[i] = AMotionEvent_getPointerId(event, i); ids[i] = AMotionEvent_getPointerId(event, i);
@ -321,7 +321,7 @@ static int32_t handle_touch_input(AInputEvent *event) {
LOG_EVENTS_DEBUG("Event: Action DOWN x=%f y=%f pointerID=%d\n", LOG_EVENTS_DEBUG("Event: Action DOWN x=%f y=%f pointerID=%d\n",
xP, yP, pointerId); xP, yP, pointerId);
int pId = pointerId; long pId = pointerId;
float x = xP; float x = xP;
float y = yP; float y = yP;
@ -340,7 +340,7 @@ static int32_t handle_touch_input(AInputEvent *event) {
LOG_EVENTS_DEBUG("Event: Action POINTER DOWN x=%f y=%f pointerID=%d\n", LOG_EVENTS_DEBUG("Event: Action POINTER DOWN x=%f y=%f pointerID=%d\n",
xP, yP, pointerId); xP, yP, pointerId);
int pId = pointerId; long pId = pointerId;
float x = xP; float x = xP;
float y = yP; float y = yP;
@ -353,10 +353,10 @@ static int32_t handle_touch_input(AInputEvent *event) {
{ {
LOG_EVENTS_DEBUG("AMOTION_EVENT_ACTION_MOVE"); LOG_EVENTS_DEBUG("AMOTION_EVENT_ACTION_MOVE");
int pointerCount = AMotionEvent_getPointerCount(event); int pointerCount = AMotionEvent_getPointerCount(event);
int ids[pointerCount]; long ids[pointerCount];
float xs[pointerCount], ys[pointerCount]; float xs[pointerCount], ys[pointerCount];
getTouchPos(event, ids, xs, ys); getTouchPos(event, ids, xs, ys);
cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesMove(pointerCount, ids, xs, ys); cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesMove(pointerCount, ids, xs, ys);
return 1; return 1;
} }
break; break;
@ -369,7 +369,7 @@ static int32_t handle_touch_input(AInputEvent *event) {
float yP = AMotionEvent_getY(event,0); float yP = AMotionEvent_getY(event,0);
LOG_EVENTS_DEBUG("Event: Action UP x=%f y=%f pointerID=%d\n", LOG_EVENTS_DEBUG("Event: Action UP x=%f y=%f pointerID=%d\n",
xP, yP, pointerId); xP, yP, pointerId);
int pId = pointerId; long pId = pointerId;
float x = xP; float x = xP;
float y = yP; float y = yP;
@ -387,7 +387,7 @@ static int32_t handle_touch_input(AInputEvent *event) {
float yP = AMotionEvent_getY(event,pointerIndex); float yP = AMotionEvent_getY(event,pointerIndex);
LOG_EVENTS_DEBUG("Event: Action POINTER UP x=%f y=%f pointerID=%d\n", LOG_EVENTS_DEBUG("Event: Action POINTER UP x=%f y=%f pointerID=%d\n",
xP, yP, pointerIndex); xP, yP, pointerIndex);
int pId = pointerId; long pId = pointerId;
float x = xP; float x = xP;
float y = yP; float y = yP;
@ -400,10 +400,10 @@ static int32_t handle_touch_input(AInputEvent *event) {
{ {
LOG_EVENTS_DEBUG("AMOTION_EVENT_ACTION_CANCEL"); LOG_EVENTS_DEBUG("AMOTION_EVENT_ACTION_CANCEL");
int pointerCount = AMotionEvent_getPointerCount(event); int pointerCount = AMotionEvent_getPointerCount(event);
int ids[pointerCount]; long ids[pointerCount];
float xs[pointerCount], ys[pointerCount]; float xs[pointerCount], ys[pointerCount];
getTouchPos(event, ids, xs, ys); getTouchPos(event, ids, xs, ys);
cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesCancel(pointerCount, ids, xs, ys); cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesCancel(pointerCount, ids, xs, ys);
return 1; return 1;
} }
break; break;

View File

@ -75,7 +75,7 @@ Copyright (C) 2008 Apple Inc. All Rights Reserved.
#define IOS_MAX_TOUCHES_COUNT 10 #define IOS_MAX_TOUCHES_COUNT 10
static CCEAGLView *view = 0; static CCEAGLView *__view = 0;
@interface CCEAGLView (Private) @interface CCEAGLView (Private)
- (BOOL) setupSurfaceWithSharegroup:(EAGLSharegroup*)sharegroup; - (BOOL) setupSurfaceWithSharegroup:(EAGLSharegroup*)sharegroup;
@ -117,7 +117,7 @@ static CCEAGLView *view = 0;
+ (id) sharedEGLView + (id) sharedEGLView
{ {
return view; return __view;
} }
- (id) initWithFrame:(CGRect)frame - (id) initWithFrame:(CGRect)frame
@ -147,14 +147,14 @@ static CCEAGLView *view = 0;
} }
view = self; __view = self;
originalRect_ = self.frame; originalRect_ = self.frame;
self.keyboardShowNotification = nil; self.keyboardShowNotification = nil;
if ([view respondsToSelector:@selector(setContentScaleFactor:)]) if ([__view respondsToSelector:@selector(setContentScaleFactor:)])
{ {
view.contentScaleFactor = [[UIScreen mainScreen] scale]; __view.contentScaleFactor = [[UIScreen mainScreen] scale];
} }
} }
@ -180,7 +180,7 @@ static CCEAGLView *view = 0;
} }
} }
view = self; __view = self;
return self; return self;
} }
@ -205,13 +205,13 @@ static CCEAGLView *view = 0;
-(int) getWidth -(int) getWidth
{ {
CGSize bound = [self bounds].size; CGSize bound = [self bounds].size;
return bound.width * self.contentScaleFactor; return (int)bound.width * self.contentScaleFactor;
} }
-(int) getHeight -(int) getHeight
{ {
CGSize bound = [self bounds].size; CGSize bound = [self bounds].size;
return bound.height * self.contentScaleFactor; return (int)bound.height * self.contentScaleFactor;
} }
@ -399,18 +399,18 @@ static CCEAGLView *view = 0;
return; return;
} }
int ids[IOS_MAX_TOUCHES_COUNT] = {0}; UITouch* ids[IOS_MAX_TOUCHES_COUNT] = {0};
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
int i = 0; int i = 0;
for (UITouch *touch in touches) { for (UITouch *touch in touches) {
ids[i] = (int)touch; ids[i] = touch;
xs[i] = [touch locationInView: [touch view]].x * view.contentScaleFactor;; xs[i] = [touch locationInView: [touch view]].x * __view.contentScaleFactor;;
ys[i] = [touch locationInView: [touch view]].y * view.contentScaleFactor;; ys[i] = [touch locationInView: [touch view]].y * __view.contentScaleFactor;;
++i; ++i;
} }
cocos2d::EGLView::getInstance()->handleTouchesBegin(i, ids, xs, ys); cocos2d::EGLView::getInstance()->handleTouchesBegin(i, (long*)ids, xs, ys);
} }
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
@ -419,18 +419,18 @@ static CCEAGLView *view = 0;
{ {
return; return;
} }
int ids[IOS_MAX_TOUCHES_COUNT] = {0}; UITouch* ids[IOS_MAX_TOUCHES_COUNT] = {0};
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
int i = 0; int i = 0;
for (UITouch *touch in touches) { for (UITouch *touch in touches) {
ids[i] = (int)touch; ids[i] = touch;
xs[i] = [touch locationInView: [touch view]].x * view.contentScaleFactor;; xs[i] = [touch locationInView: [touch view]].x * __view.contentScaleFactor;;
ys[i] = [touch locationInView: [touch view]].y * view.contentScaleFactor;; ys[i] = [touch locationInView: [touch view]].y * __view.contentScaleFactor;;
++i; ++i;
} }
cocos2d::EGLView::getInstance()->handleTouchesMove(i, ids, xs, ys); cocos2d::EGLView::getInstance()->handleTouchesMove(i, (long*)ids, xs, ys);
} }
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
@ -440,18 +440,18 @@ static CCEAGLView *view = 0;
return; return;
} }
int ids[IOS_MAX_TOUCHES_COUNT] = {0}; UITouch* ids[IOS_MAX_TOUCHES_COUNT] = {0};
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
int i = 0; int i = 0;
for (UITouch *touch in touches) { for (UITouch *touch in touches) {
ids[i] = (int)touch; ids[i] = touch;
xs[i] = [touch locationInView: [touch view]].x * view.contentScaleFactor;; xs[i] = [touch locationInView: [touch view]].x * __view.contentScaleFactor;;
ys[i] = [touch locationInView: [touch view]].y * view.contentScaleFactor;; ys[i] = [touch locationInView: [touch view]].y * __view.contentScaleFactor;;
++i; ++i;
} }
cocos2d::EGLView::getInstance()->handleTouchesEnd(i, ids, xs, ys); cocos2d::EGLView::getInstance()->handleTouchesEnd(i, (long*)ids, xs, ys);
} }
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
@ -461,18 +461,18 @@ static CCEAGLView *view = 0;
return; return;
} }
int ids[IOS_MAX_TOUCHES_COUNT] = {0}; UITouch* ids[IOS_MAX_TOUCHES_COUNT] = {0};
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f}; float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
int i = 0; int i = 0;
for (UITouch *touch in touches) { for (UITouch *touch in touches) {
ids[i] = (int)touch; ids[i] = touch;
xs[i] = [touch locationInView: [touch view]].x * view.contentScaleFactor;; xs[i] = [touch locationInView: [touch view]].x * __view.contentScaleFactor;;
ys[i] = [touch locationInView: [touch view]].y * view.contentScaleFactor;; ys[i] = [touch locationInView: [touch view]].y * __view.contentScaleFactor;;
++i; ++i;
} }
cocos2d::EGLView::getInstance()->handleTouchesCancel(i, ids, xs, ys); cocos2d::EGLView::getInstance()->handleTouchesCancel(i, (long*)ids, xs, ys);
} }
#pragma mark - #pragma mark -

View File

@ -186,7 +186,7 @@ void EGLViewEventHandler::OnGLFWMouseCallBack(GLFWwindow* window, int button, in
s_captured = true; s_captured = true;
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesBegin(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesBegin(1, &id, &s_mouseX, &s_mouseY);
} }
} }
@ -195,7 +195,7 @@ void EGLViewEventHandler::OnGLFWMouseCallBack(GLFWwindow* window, int button, in
s_captured = false; s_captured = false;
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesEnd(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesEnd(1, &id, &s_mouseX, &s_mouseY);
} }
} }
@ -231,7 +231,7 @@ void EGLViewEventHandler::OnGLFWMouseMoveCallBack(GLFWwindow* window, double x,
{ {
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,eglView->getFrameSize().height - s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,eglView->getFrameSize().height - s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesMove(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesMove(1, &id, &s_mouseX, &s_mouseY);
} }
} }

View File

@ -202,7 +202,7 @@ void EGLViewEventHandler::OnGLFWMouseCallBack(GLFWwindow* window, int button, in
s_captured = true; s_captured = true;
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesBegin(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesBegin(1, &id, &s_mouseX, &s_mouseY);
} }
} }
@ -211,7 +211,7 @@ void EGLViewEventHandler::OnGLFWMouseCallBack(GLFWwindow* window, int button, in
s_captured = false; s_captured = false;
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesEnd(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesEnd(1, &id, &s_mouseX, &s_mouseY);
} }
} }
@ -249,7 +249,7 @@ void EGLViewEventHandler::OnGLFWMouseMoveCallBack(GLFWwindow* window, double x,
{ {
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,eglView->getFrameSize().height - s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,eglView->getFrameSize().height - s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesMove(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesMove(1, &id, &s_mouseX, &s_mouseY);
} }
} }

View File

@ -327,7 +327,7 @@ static CCEAGLView *view;
float x = local_point.x; float x = local_point.x;
float y = [self getHeight] - local_point.y; float y = [self getHeight] - local_point.y;
int ids[1] = {0}; NSInteger ids[1] = {0};
float xs[1] = {0.0f}; float xs[1] = {0.0f};
float ys[1] = {0.0f}; float ys[1] = {0.0f};
@ -335,7 +335,7 @@ static CCEAGLView *view;
xs[0] = x / frameZoomFactor_; xs[0] = x / frameZoomFactor_;
ys[0] = y / frameZoomFactor_; ys[0] = y / frameZoomFactor_;
cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesBegin(1, ids, xs, ys); cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesBegin(1, (long*)ids, xs, ys);
} }
- (void)mouseMoved:(NSEvent *)theEvent - (void)mouseMoved:(NSEvent *)theEvent
@ -351,7 +351,7 @@ static CCEAGLView *view;
float x = local_point.x; float x = local_point.x;
float y = [self getHeight] - local_point.y; float y = [self getHeight] - local_point.y;
int ids[1] = {0}; NSInteger ids[1] = {0};
float xs[1] = {0.0f}; float xs[1] = {0.0f};
float ys[1] = {0.0f}; float ys[1] = {0.0f};
@ -359,7 +359,7 @@ static CCEAGLView *view;
xs[0] = x / frameZoomFactor_; xs[0] = x / frameZoomFactor_;
ys[0] = y / frameZoomFactor_; ys[0] = y / frameZoomFactor_;
cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesMove(1, ids, xs, ys); cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesMove(1, (long*)ids, xs, ys);
} }
- (void)mouseUp:(NSEvent *)theEvent - (void)mouseUp:(NSEvent *)theEvent
@ -370,7 +370,7 @@ static CCEAGLView *view;
float x = local_point.x; float x = local_point.x;
float y = [self getHeight] - local_point.y; float y = [self getHeight] - local_point.y;
int ids[1] = {0}; NSInteger ids[1] = {0};
float xs[1] = {0.0f}; float xs[1] = {0.0f};
float ys[1] = {0.0f}; float ys[1] = {0.0f};
@ -378,7 +378,7 @@ static CCEAGLView *view;
xs[0] = x / frameZoomFactor_; xs[0] = x / frameZoomFactor_;
ys[0] = y / frameZoomFactor_; ys[0] = y / frameZoomFactor_;
cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesEnd(1, ids, xs, ys); cocos2d::Director::getInstance()->getOpenGLView()->handleTouchesEnd(1, (long*)ids, xs, ys);
} }
- (void)rightMouseDown:(NSEvent *)theEvent { - (void)rightMouseDown:(NSEvent *)theEvent {

View File

@ -303,7 +303,7 @@ void EGLViewEventHandler::OnGLFWMouseCallBack(GLFWwindow* window, int button, in
s_captured = true; s_captured = true;
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesBegin(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesBegin(1, &id, &s_mouseX, &s_mouseY);
} }
} }
@ -312,7 +312,7 @@ void EGLViewEventHandler::OnGLFWMouseCallBack(GLFWwindow* window, int button, in
s_captured = false; s_captured = false;
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesEnd(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesEnd(1, &id, &s_mouseX, &s_mouseY);
} }
} }
@ -348,7 +348,7 @@ void EGLViewEventHandler::OnGLFWMouseMoveCallBack(GLFWwindow* window, double x,
{ {
if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,eglView->getFrameSize().height - s_mouseY))) if (eglView->getViewPortRect().equals(Rect::ZERO) || eglView->getViewPortRect().containsPoint(Point(s_mouseX,eglView->getFrameSize().height - s_mouseY)))
{ {
int id = 0; long id = 0;
eglView->handleTouchesMove(1, &id, &s_mouseX, &s_mouseY); eglView->handleTouchesMove(1, &id, &s_mouseX, &s_mouseY);
} }
} }

View File

@ -7,8 +7,14 @@ add_library(audio STATIC
${AUDIO_SRC} ${AUDIO_SRC}
) )
if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set(FMOD_LIB "fmodex64")
else()
set(FMOD_LIB "fmodex")
endif()
target_link_libraries(audio target_link_libraries(audio
fmodex64 ${FMOD_LIB}
) )
set_target_properties(audio set_target_properties(audio

View File

@ -105,7 +105,7 @@ Array* Array::createWithArray(Array* otherArray)
return otherArray->clone(); return otherArray->clone();
} }
Array* Array::createWithCapacity(int capacity) Array* Array::createWithCapacity(long capacity)
{ {
CCASSERT(capacity>=0, "Invalid capacity"); CCASSERT(capacity>=0, "Invalid capacity");
@ -182,7 +182,7 @@ bool Array::initWithObjects(Object* object, ...)
return ret; return ret;
} }
bool Array::initWithCapacity(int capacity) bool Array::initWithCapacity(long capacity)
{ {
CCASSERT(capacity>=0, "Invalid capacity"); CCASSERT(capacity>=0, "Invalid capacity");
@ -200,7 +200,7 @@ int Array::getIndexOfObject(Object* object) const
{ {
auto it = data.begin(); auto it = data.begin();
for (int i = 0; it != data.end(); ++it, ++i) for (long i = 0; it != data.end(); ++it, ++i)
{ {
if (it->get() == object) if (it->get() == object)
{ {
@ -238,7 +238,7 @@ bool Array::containsObject(Object* object) const
bool Array::isEqualToArray(Array* otherArray) bool Array::isEqualToArray(Array* otherArray)
{ {
for (int i = 0; i< this->count(); i++) for (long i = 0; i< this->count(); i++)
{ {
if (!this->getObjectAtIndex(i)->isEqual(otherArray->getObjectAtIndex(i))) if (!this->getObjectAtIndex(i)->isEqual(otherArray->getObjectAtIndex(i)))
{ {
@ -279,7 +279,7 @@ void Array::removeObject(Object* object, bool releaseObj /* ignored */)
data.erase( std::remove( data.begin(), data.end(), object ) ); data.erase( std::remove( data.begin(), data.end(), object ) );
} }
void Array::removeObjectAtIndex(int index, bool releaseObj /* ignored */) void Array::removeObjectAtIndex(long index, bool releaseObj /* ignored */)
{ {
auto obj = data[index]; auto obj = data[index];
data.erase( data.begin() + index ); data.erase( data.begin() + index );
@ -295,7 +295,7 @@ void Array::removeAllObjects()
data.erase(std::begin(data), std::end(data)); data.erase(std::begin(data), std::end(data));
} }
void Array::fastRemoveObjectAtIndex(int index) void Array::fastRemoveObjectAtIndex(long index)
{ {
removeObjectAtIndex(index); removeObjectAtIndex(index);
} }
@ -315,12 +315,12 @@ void Array::exchangeObject(Object* object1, Object* object2)
std::swap( data[idx1], data[idx2] ); std::swap( data[idx1], data[idx2] );
} }
void Array::exchangeObjectAtIndex(int index1, int index2) void Array::exchangeObjectAtIndex(long index1, long index2)
{ {
std::swap( data[index1], data[index2] ); std::swap( data[index1], data[index2] );
} }
void Array::replaceObjectAtIndex(int index, Object* object, bool releaseObject /* ignored */) void Array::replaceObjectAtIndex(long index, Object* object, bool releaseObject /* ignored */)
{ {
data[index] = object; data[index] = object;
} }
@ -448,7 +448,7 @@ Array* Array::createWithArray(Array* otherArray)
return otherArray->clone(); return otherArray->clone();
} }
Array* Array::createWithCapacity(int capacity) Array* Array::createWithCapacity(long capacity)
{ {
CCASSERT(capacity>=0, "Invalid capacity"); CCASSERT(capacity>=0, "Invalid capacity");
@ -531,7 +531,7 @@ bool Array::initWithObjects(Object* object, ...)
return ret; return ret;
} }
bool Array::initWithCapacity(int capacity) bool Array::initWithCapacity(long capacity)
{ {
CCASSERT(capacity>=0 && !data, "Array cannot be re-initialized"); CCASSERT(capacity>=0 && !data, "Array cannot be re-initialized");
@ -555,7 +555,7 @@ bool Array::initWithArray(Array* otherArray)
return ret; return ret;
} }
int Array::getIndexOfObject(Object* object) const long Array::getIndexOfObject(Object* object) const
{ {
return ccArrayGetIndexOfObject(data, object); return ccArrayGetIndexOfObject(data, object);
} }
@ -574,7 +574,7 @@ Object* Array::getRandomObject()
r = 0; r = 0;
} }
return data->arr[(int)(data->num * r)]; return data->arr[(long)(data->num * r)];
} }
bool Array::containsObject(Object* object) const bool Array::containsObject(Object* object) const
@ -584,7 +584,7 @@ bool Array::containsObject(Object* object) const
bool Array::isEqualToArray(Array* otherArray) bool Array::isEqualToArray(Array* otherArray)
{ {
for (int i = 0; i< this->count(); i++) for (long i = 0; i< this->count(); i++)
{ {
if (!this->getObjectAtIndex(i)->isEqual(otherArray->getObjectAtIndex(i))) if (!this->getObjectAtIndex(i)->isEqual(otherArray->getObjectAtIndex(i)))
{ {
@ -606,13 +606,13 @@ void Array::addObjectsFromArray(Array* otherArray)
ccArrayAppendArrayWithResize(data, otherArray->data); ccArrayAppendArrayWithResize(data, otherArray->data);
} }
void Array::insertObject(Object* object, int index) void Array::insertObject(Object* object, long index)
{ {
CCASSERT(data, "Array not initialized"); CCASSERT(data, "Array not initialized");
ccArrayInsertObjectAtIndex(data, object, index); ccArrayInsertObjectAtIndex(data, object, index);
} }
void Array::setObject(Object* object, int index) void Array::setObject(Object* object, long index)
{ {
CCASSERT(index>=0 && index < count(), "Invalid index"); CCASSERT(index>=0 && index < count(), "Invalid index");
@ -635,7 +635,7 @@ void Array::removeObject(Object* object, bool releaseObj/* = true*/)
ccArrayRemoveObject(data, object, releaseObj); ccArrayRemoveObject(data, object, releaseObj);
} }
void Array::removeObjectAtIndex(int index, bool releaseObj) void Array::removeObjectAtIndex(long index, bool releaseObj)
{ {
ccArrayRemoveObjectAtIndex(data, index, releaseObj); ccArrayRemoveObjectAtIndex(data, index, releaseObj);
} }
@ -650,7 +650,7 @@ void Array::removeAllObjects()
ccArrayRemoveAllObjects(data); ccArrayRemoveAllObjects(data);
} }
void Array::fastRemoveObjectAtIndex(int index) void Array::fastRemoveObjectAtIndex(long index)
{ {
ccArrayFastRemoveObjectAtIndex(data, index); ccArrayFastRemoveObjectAtIndex(data, index);
} }
@ -662,14 +662,14 @@ void Array::fastRemoveObject(Object* object)
void Array::exchangeObject(Object* object1, Object* object2) void Array::exchangeObject(Object* object1, Object* object2)
{ {
int index1 = ccArrayGetIndexOfObject(data, object1); long index1 = ccArrayGetIndexOfObject(data, object1);
if (index1 == UINT_MAX) if (index1 == CC_INVALID_INDEX)
{ {
return; return;
} }
int index2 = ccArrayGetIndexOfObject(data, object2); long index2 = ccArrayGetIndexOfObject(data, object2);
if (index2 == UINT_MAX) if (index2 == CC_INVALID_INDEX)
{ {
return; return;
} }
@ -677,12 +677,12 @@ void Array::exchangeObject(Object* object1, Object* object2)
ccArraySwapObjectsAtIndexes(data, index1, index2); ccArraySwapObjectsAtIndexes(data, index1, index2);
} }
void Array::exchangeObjectAtIndex(int index1, int index2) void Array::exchangeObjectAtIndex(long index1, long index2)
{ {
ccArraySwapObjectsAtIndexes(data, index1, index2); ccArraySwapObjectsAtIndexes(data, index1, index2);
} }
void Array::replaceObjectAtIndex(int index, Object* object, bool releaseObject/* = true*/) void Array::replaceObjectAtIndex(long index, Object* object, bool releaseObject/* = true*/)
{ {
ccArrayInsertObjectAtIndex(data, object, index); ccArrayInsertObjectAtIndex(data, object, index);
ccArrayRemoveObjectAtIndex(data, index+1); ccArrayRemoveObjectAtIndex(data, index+1);
@ -693,10 +693,10 @@ void Array::reverseObjects()
if (data->num > 1) if (data->num > 1)
{ {
// floorf(), since in the case of an even number, the number of swaps stays the same // floorf(), since in the case of an even number, the number of swaps stays the same
int count = (int) floorf(data->num/2.f); long count = (long) floorf(data->num/2.f);
int maxIndex = data->num - 1; long maxIndex = data->num - 1;
for (int i = 0; i < count ; i++) for (long i = 0; i < count ; i++)
{ {
ccArraySwapObjectsAtIndexes(data, i, maxIndex); ccArraySwapObjectsAtIndexes(data, i, maxIndex);
--maxIndex; --maxIndex;

View File

@ -250,7 +250,7 @@ public:
/** Create an array with a default capacity /** Create an array with a default capacity
* @js NA * @js NA
*/ */
static Array* createWithCapacity(int capacity); static Array* createWithCapacity(long capacity);
/** Create an array with from an existing array /** Create an array with from an existing array
* @js NA * @js NA
*/ */
@ -295,7 +295,7 @@ public:
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
bool initWithCapacity(int capacity); bool initWithCapacity(long capacity);
/** Initializes an array with an existing array /** Initializes an array with an existing array
* @js NA * @js NA
* @lua NA * @lua NA
@ -307,7 +307,7 @@ public:
/** Returns element count of the array /** Returns element count of the array
* @js NA * @js NA
*/ */
int count() const long count() const
{ {
#if CC_USE_ARRAY_VECTOR #if CC_USE_ARRAY_VECTOR
return data.size(); return data.size();
@ -318,7 +318,7 @@ public:
/** Returns capacity of the array /** Returns capacity of the array
* @js NA * @js NA
*/ */
int capacity() const long capacity() const
{ {
#if CC_USE_ARRAY_VECTOR #if CC_USE_ARRAY_VECTOR
return data.capacity(); return data.capacity();
@ -330,17 +330,17 @@ public:
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
int getIndexOfObject(Object* object) const; long getIndexOfObject(Object* object) const;
/** /**
* @js NA * @js NA
*/ */
CC_DEPRECATED_ATTRIBUTE int indexOfObject(Object* object) const { return getIndexOfObject(object); } CC_DEPRECATED_ATTRIBUTE long indexOfObject(Object* object) const { return getIndexOfObject(object); }
/** Returns an element with a certain index /** Returns an element with a certain index
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
Object* getObjectAtIndex(int index) Object* getObjectAtIndex(long index)
{ {
CCASSERT(index>=0 && index < count(), "index out of range in getObjectAtIndex()"); CCASSERT(index>=0 && index < count(), "index out of range in getObjectAtIndex()");
#if CC_USE_ARRAY_VECTOR #if CC_USE_ARRAY_VECTOR
@ -349,7 +349,7 @@ public:
return data->arr[index]; return data->arr[index];
#endif #endif
} }
CC_DEPRECATED_ATTRIBUTE Object* objectAtIndex(int index) { return getObjectAtIndex(index); } CC_DEPRECATED_ATTRIBUTE Object* objectAtIndex(long index) { return getObjectAtIndex(index); }
/** Returns the last element of the array /** Returns the last element of the array
* @js NA * @js NA
*/ */
@ -401,17 +401,17 @@ public:
/** Insert a certain object at a certain index /** Insert a certain object at a certain index
* @js NA * @js NA
*/ */
void insertObject(Object* object, int index); void insertObject(Object* object, long index);
/** sets a certain object at a certain index /** sets a certain object at a certain index
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
void setObject(Object* object, int index); void setObject(Object* object, long index);
/** sets a certain object at a certain index without retaining. Use it with caution /** sets a certain object at a certain index without retaining. Use it with caution
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
void fastSetObject(Object* object, int index) void fastSetObject(Object* object, long index)
{ {
#if CC_USE_ARRAY_VECTOR #if CC_USE_ARRAY_VECTOR
setObject(object, index); setObject(object, index);
@ -424,7 +424,7 @@ public:
* @js NA * @js NA
* @lua NA * @lua NA
*/ */
void swap( int indexOne, int indexTwo ) void swap( long indexOne, long indexTwo )
{ {
CCASSERT(indexOne >=0 && indexOne < count() && indexTwo >= 0 && indexTwo < count(), "Invalid indices"); CCASSERT(indexOne >=0 && indexOne < count() && indexTwo >= 0 && indexTwo < count(), "Invalid indices");
#if CC_USE_ARRAY_VECTOR #if CC_USE_ARRAY_VECTOR
@ -447,7 +447,7 @@ public:
/** Remove an element with a certain index /** Remove an element with a certain index
* @js NA * @js NA
*/ */
void removeObjectAtIndex(int index, bool releaseObj = true); void removeObjectAtIndex(long index, bool releaseObj = true);
/** Remove all elements /** Remove all elements
* @js NA * @js NA
*/ */
@ -463,7 +463,7 @@ public:
/** Fast way to remove an element with a certain index /** Fast way to remove an element with a certain index
* @js NA * @js NA
*/ */
void fastRemoveObjectAtIndex(int index); void fastRemoveObjectAtIndex(long index);
// Rearranging Content // Rearranging Content
@ -474,12 +474,12 @@ public:
/** Swap two elements with certain indexes /** Swap two elements with certain indexes
* @js NA * @js NA
*/ */
void exchangeObjectAtIndex(int index1, int index2); void exchangeObjectAtIndex(long index1, long index2);
/** Replace object at index with another object. /** Replace object at index with another object.
* @js NA * @js NA
*/ */
void replaceObjectAtIndex(int index, Object* object, bool releaseObject = true); void replaceObjectAtIndex(long index, Object* object, bool releaseObject = true);
/** Revers the array /** Revers the array
* @js NA * @js NA

View File

@ -216,15 +216,15 @@ bool String::isEqual(const Object* pObject)
String* String::create(const std::string& str) String* String::create(const std::string& str)
{ {
String* pRet = new String(str); String* ret = new String(str);
pRet->autorelease(); ret->autorelease();
return pRet; return ret;
} }
String* String::createWithData(const unsigned char* pData, unsigned long nLen) String* String::createWithData(const unsigned char* data, unsigned long nLen)
{ {
String* pRet = NULL; String* ret = NULL;
if (pData != NULL) if (data != NULL)
{ {
char* pStr = (char*)malloc(nLen+1); char* pStr = (char*)malloc(nLen+1);
if (pStr != NULL) if (pStr != NULL)
@ -232,36 +232,36 @@ String* String::createWithData(const unsigned char* pData, unsigned long nLen)
pStr[nLen] = '\0'; pStr[nLen] = '\0';
if (nLen > 0) if (nLen > 0)
{ {
memcpy(pStr, pData, nLen); memcpy(pStr, data, nLen);
} }
pRet = String::create(pStr); ret = String::create(pStr);
free(pStr); free(pStr);
} }
} }
return pRet; return ret;
} }
String* String::createWithFormat(const char* format, ...) String* String::createWithFormat(const char* format, ...)
{ {
String* pRet = String::create(""); String* ret = String::create("");
va_list ap; va_list ap;
va_start(ap, format); va_start(ap, format);
pRet->initWithFormatAndValist(format, ap); ret->initWithFormatAndValist(format, ap);
va_end(ap); va_end(ap);
return pRet; return ret;
} }
String* String::createWithContentsOfFile(const char* filename) String* String::createWithContentsOfFile(const char* filename)
{ {
unsigned long size = 0; long size = 0;
unsigned char* pData = 0; unsigned char* data = 0;
String* pRet = NULL; String* ret = NULL;
pData = FileUtils::getInstance()->getFileData(filename, "rb", &size); data = FileUtils::getInstance()->getFileData(filename, "rb", &size);
pRet = String::createWithData(pData, size); ret = String::createWithData(data, size);
CC_SAFE_DELETE_ARRAY(pData); CC_SAFE_DELETE_ARRAY(data);
return pRet; return ret;
} }
void String::acceptVisitor(DataVisitor &visitor) void String::acceptVisitor(DataVisitor &visitor)

View File

@ -244,7 +244,7 @@ Node* CCBReader::readNodeGraphFromFile(const char *pCCBFileName, Object *pOwner,
} }
std::string strPath = FileUtils::getInstance()->fullPathForFilename(strCCBFileName.c_str()); std::string strPath = FileUtils::getInstance()->fullPathForFilename(strCCBFileName.c_str());
unsigned long size = 0; long size = 0;
unsigned char * pBytes = FileUtils::getInstance()->getFileData(strPath.c_str(), "rb", &size); unsigned char * pBytes = FileUtils::getInstance()->getFileData(strPath.c_str(), "rb", &size);
Data *data = new Data(pBytes, size); Data *data = new Data(pBytes, size);

View File

@ -918,7 +918,7 @@ Node * NodeLoader::parsePropTypeCCBFile(Node * pNode, Node * pParent, CCBReader
// Load sub file // Load sub file
std::string path = FileUtils::getInstance()->fullPathForFilename(ccbFileName.c_str()); std::string path = FileUtils::getInstance()->fullPathForFilename(ccbFileName.c_str());
unsigned long size = 0; long size = 0;
unsigned char * pBytes = FileUtils::getInstance()->getFileData(path.c_str(), "rb", &size); unsigned char * pBytes = FileUtils::getInstance()->getFileData(path.c_str(), "rb", &size);
CCBReader * reader = new CCBReader(pCCBReader); CCBReader * reader = new CCBReader(pCCBReader);

View File

@ -424,7 +424,7 @@ bool ActionNode::updateActionToTimeLine(float fTime)
bool bFindFrame = false; bool bFindFrame = false;
ActionFrame* srcFrame = NULL; ActionFrame* srcFrame = NULL;
ActionFrame* destFrame = NULL; // ActionFrame* destFrame = NULL;
for (int n = 0; n < _frameArrayNum; n++) for (int n = 0; n < _frameArrayNum; n++)
{ {

View File

@ -298,7 +298,7 @@ void DataReaderHelper::addDataFromFile(const char *filePath)
size_t startPos = filePathStr.find_last_of("."); size_t startPos = filePathStr.find_last_of(".");
std::string str = &filePathStr[startPos]; std::string str = &filePathStr[startPos];
unsigned long size; long size;
std::string fullPath = CCFileUtils::getInstance()->fullPathForFilename(filePath); std::string fullPath = CCFileUtils::getInstance()->fullPathForFilename(filePath);
const char *pFileContent = (char *)CCFileUtils::getInstance()->getFileData(fullPath.c_str() , "r", &size); const char *pFileContent = (char *)CCFileUtils::getInstance()->getFileData(fullPath.c_str() , "r", &size);
@ -389,7 +389,7 @@ void DataReaderHelper::addDataFromFileAsync(const char *filePath, Object *target
std::string str = &filePathStr[startPos]; std::string str = &filePathStr[startPos];
std::string fullPath = CCFileUtils::getInstance()->fullPathForFilename(filePath); std::string fullPath = CCFileUtils::getInstance()->fullPathForFilename(filePath);
unsigned long size; long size;
data->fileContent = (char *)CCFileUtils::getInstance()->getFileData(fullPath.c_str() , "r", &size); data->fileContent = (char *)CCFileUtils::getInstance()->getFileData(fullPath.c_str() , "r", &size);
if (str.compare(".xml") == 0) if (str.compare(".xml") == 0)

View File

@ -207,7 +207,7 @@ UIWidget* CCSGUIReader::widgetFromJsonFile(const char *fileName)
JsonDictionary *jsonDict = NULL; JsonDictionary *jsonDict = NULL;
jsonpath = FileUtils::getInstance()->fullPathForFilename(fileName); jsonpath = FileUtils::getInstance()->fullPathForFilename(fileName);
unsigned long size = 0; long size = 0;
des = (char*)(FileUtils::getInstance()->getFileData(jsonpath.c_str(),"r" , &size)); des = (char*)(FileUtils::getInstance()->getFileData(jsonpath.c_str(),"r" , &size));
if(NULL == des || strcmp(des, "") == 0) if(NULL == des || strcmp(des, "") == 0)
{ {
@ -225,7 +225,7 @@ UIWidget* CCSGUIReader::widgetFromJsonFile(const char *fileName)
} }
int texturesCount = DICTOOL->getArrayCount_json(jsonDict, "textures"); int texturesCount = DICTOOL->getArrayCount_json(jsonDict, "textures");
int pos = jsonpath.find_last_of('/'); long pos = jsonpath.find_last_of('/');
m_strFilePath = jsonpath.substr(0,pos+1); m_strFilePath = jsonpath.substr(0,pos+1);
for (int i=0; i<texturesCount; i++) for (int i=0; i<texturesCount; i++)
{ {

View File

@ -47,7 +47,7 @@ namespace cocostudio {
cocos2d::Node* SceneReader::createNodeWithSceneFile(const char* pszFileName) cocos2d::Node* SceneReader::createNodeWithSceneFile(const char* pszFileName)
{ {
unsigned long size = 0; long size = 0;
const char* pData = 0; const char* pData = 0;
cocos2d::Node *pNode = NULL; cocos2d::Node *pNode = NULL;
do { do {
@ -213,7 +213,7 @@ namespace cocostudio {
{ {
file_path = reDir.substr(0, pos+1); file_path = reDir.substr(0, pos+1);
} }
unsigned long size = 0; long size = 0;
const char *des = (char*)(cocos2d::FileUtils::getInstance()->getFileData(pPath.c_str(),"r" , &size)); const char *des = (char*)(cocos2d::FileUtils::getInstance()->getFileData(pPath.c_str(),"r" , &size));
JsonDictionary *jsonDict = new JsonDictionary(); JsonDictionary *jsonDict = new JsonDictionary();
jsonDict->initWithDescription(des); jsonDict->initWithDescription(des);
@ -227,7 +227,7 @@ namespace cocostudio {
const char *name = DICTOOL->getStringValue_json(subData, "name"); const char *name = DICTOOL->getStringValue_json(subData, "name");
childrenCount = DICTOOL->getArrayCount_json(jsonDict, "config_file_path"); childrenCount = DICTOOL->getArrayCount_json(jsonDict, "config_file_path");
for (int i = 0; i < childrenCount; ++i) for (long i = 0; i < childrenCount; ++i)
{ {
const char* plist = DICTOOL->getStringValueFromArray_json(jsonDict, "config_file_path", i); const char* plist = DICTOOL->getStringValueFromArray_json(jsonDict, "config_file_path", i);
std::string plistpath; std::string plistpath;
@ -283,7 +283,7 @@ namespace cocostudio {
if (nResType == 0) if (nResType == 0)
{ {
pAttribute = ComAttribute::create(); pAttribute = ComAttribute::create();
unsigned long size = 0; long size = 0;
const char* pData = 0; const char* pData = 0;
pData = (char*)(cocos2d::FileUtils::getInstance()->getFileData(pPath.c_str(), "r", &size)); pData = (char*)(cocos2d::FileUtils::getInstance()->getFileData(pPath.c_str(), "r", &size));
if(pData != NULL && strcmp(pData, "") != 0) if(pData != NULL && strcmp(pData, "") != 0)

View File

@ -47,7 +47,7 @@ void _AtlasPage_disposeTexture (AtlasPage* self) {
} }
char* _Util_readFile (const char* path, int* length) { char* _Util_readFile (const char* path, int* length) {
unsigned long size; long size;
char* data = reinterpret_cast<char*>(FileUtils::getInstance()->getFileData( char* data = reinterpret_cast<char*>(FileUtils::getInstance()->getFileData(
FileUtils::getInstance()->fullPathForFilename(path).c_str(), "r", &size)); FileUtils::getInstance()->fullPathForFilename(path).c_str(), "r", &size));
*length = size; *length = size;

View File

@ -34,7 +34,6 @@ namespace gui {
class UIHelper class UIHelper
{ {
public: public:
/** /**
* Finds a widget whose tag equals to param tag from root widget. * Finds a widget whose tag equals to param tag from root widget.
* *

View File

@ -216,7 +216,7 @@ kmMat4* const kmMat4Transpose(kmMat4* pOut, const kmMat4* pIn)
*/ */
kmMat4* const kmMat4Multiply(kmMat4* pOut, const kmMat4* pM1, const kmMat4* pM2) kmMat4* const kmMat4Multiply(kmMat4* pOut, const kmMat4* pM1, const kmMat4* pM2)
{ {
#if defined(__ARM_NEON__) #if defined(__ARM_NEON__) && !defined(__arm64__)
// It is possible to skip the memcpy() since "out" does not overwrite p1 or p2. // It is possible to skip the memcpy() since "out" does not overwrite p1 or p2.
// otherwise a temp must be needed. // otherwise a temp must be needed.

View File

@ -23,7 +23,8 @@
#include "kazmath/neon_matrix_impl.h" #include "kazmath/neon_matrix_impl.h"
#if defined(__ARM_NEON__) #if defined(__ARM_NEON__) && !defined(__arm64__)
void NEON_Matrix4Mul(const float* a, const float* b, float* output ) void NEON_Matrix4Mul(const float* a, const float* b, float* output )
{ {

View File

@ -9,6 +9,10 @@ add_library(network STATIC
target_link_libraries(network target_link_libraries(network
curl curl
ldap
lber
idn
rtmp
) )
set_target_properties(network set_target_properties(network

View File

@ -600,7 +600,7 @@ Point* PhysicsShapePolygon::getPoints(Point* points) const
return PhysicsHelper::cpvs2points(((cpPolyShape*)shape)->verts, points, ((cpPolyShape*)shape)->numVerts); return PhysicsHelper::cpvs2points(((cpPolyShape*)shape)->verts, points, ((cpPolyShape*)shape)->numVerts);
} }
int PhysicsShapePolygon::getPointsCount() const long PhysicsShapePolygon::getPointsCount() const
{ {
return ((cpPolyShape*)_info->shapes.front())->numVerts; return ((cpPolyShape*)_info->shapes.front())->numVerts;
} }
@ -715,7 +715,7 @@ Point PhysicsShapeEdgePolygon::getCenter()
return _center; return _center;
} }
int PhysicsShapeEdgePolygon::getPointsCount() const long PhysicsShapeEdgePolygon::getPointsCount() const
{ {
return _info->shapes.size() + 1; return _info->shapes.size() + 1;
} }
@ -776,7 +776,7 @@ Point PhysicsShapeEdgeChain::getCenter()
return _center; return _center;
} }
int PhysicsShapeEdgeChain::getPointsCount() const long PhysicsShapeEdgeChain::getPointsCount() const
{ {
return _info->shapes.size() + 1; return _info->shapes.size() + 1;
} }

View File

@ -50,10 +50,10 @@ typedef struct PhysicsMaterial
, friction(0.0f) , friction(0.0f)
{} {}
PhysicsMaterial(float density, float restitution, float friction) PhysicsMaterial(float aDensity, float aRestitution, float aFriction)
: density(density) : density(aDensity)
, restitution(restitution) , restitution(aRestitution)
, friction(friction) , friction(aFriction)
{} {}
}PhysicsMaterial; }PhysicsMaterial;
@ -204,7 +204,7 @@ public:
float calculateDefaultMoment() override; float calculateDefaultMoment() override;
Point* getPoints(Point* points) const; Point* getPoints(Point* points) const;
int getPointsCount() const; long getPointsCount() const;
Point getCenter() override; Point getCenter() override;
protected: protected:
bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0)); bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0));
@ -247,7 +247,7 @@ public:
static PhysicsShapeEdgeBox* create(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 0, Point offset = Point(0, 0)); static PhysicsShapeEdgeBox* create(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 0, Point offset = Point(0, 0));
Point getOffset() override { return _offset; } Point getOffset() override { return _offset; }
Point* getPoints(Point* points) const; Point* getPoints(Point* points) const;
int getPointsCount() const; long getPointsCount() const;
protected: protected:
bool init(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1, Point offset = Point(0, 0)); bool init(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1, Point offset = Point(0, 0));
@ -269,7 +269,7 @@ public:
static PhysicsShapeEdgePolygon* create(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); static PhysicsShapeEdgePolygon* create(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1);
Point getCenter() override; Point getCenter() override;
Point* getPoints(Point* points) const; Point* getPoints(Point* points) const;
int getPointsCount() const; long getPointsCount() const;
protected: protected:
bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1);
@ -291,7 +291,7 @@ public:
static PhysicsShapeEdgeChain* create(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); static PhysicsShapeEdgeChain* create(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1);
Point getCenter() override; Point getCenter() override;
Point* getPoints(Point* points) const; Point* getPoints(Point* points) const;
int getPointsCount() const; long getPointsCount() const;
protected: protected:
bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1);

View File

@ -465,9 +465,9 @@ void PhysicsWorld::debugDraw()
} }
} }
void PhysicsWorld::drawWithJoint(DrawNode* node, PhysicsJoint* joint) void PhysicsWorld::drawWithJoint(DrawNode* node, PhysicsJoint* joints)
{ {
for (auto it = joint->_info->joints.begin(); it != joint->_info->joints.end(); ++it) for (auto it = joints->_info->joints.begin(); it != joints->_info->joints.end(); ++it)
{ {
cpConstraint *constraint = *it; cpConstraint *constraint = *it;
@ -526,9 +526,9 @@ void PhysicsWorld::drawWithJoint(DrawNode* node, PhysicsJoint* joint)
} }
} }
void PhysicsWorld::drawWithShape(DrawNode* node, PhysicsShape* shape) void PhysicsWorld::drawWithShape(DrawNode* node, PhysicsShape* shapes)
{ {
for (auto it = shape->_info->shapes.begin(); it != shape->_info->shapes.end(); ++it) for (auto it = shapes->_info->shapes.begin(); it != shapes->_info->shapes.end(); ++it)
{ {
cpShape *shape = *it; cpShape *shape = *it;

View File

@ -1,6 +1,7 @@
set(LUABINDING_SRC set(LUABINDING_SRC
auto-generated/lua-bindings/lua_cocos2dx_auto.cpp auto-generated/lua-bindings/lua_cocos2dx_auto.cpp
auto-generated/lua-bindings/lua_cocos2dx_extension_auto.cpp auto-generated/lua-bindings/lua_cocos2dx_extension_auto.cpp
auto-generated/lua-bindings/lua_cocos2dx_studio_auto.cpp
lua/bindings/tolua_fix.c lua/bindings/tolua_fix.c
lua/bindings/CCLuaBridge.cpp lua/bindings/CCLuaBridge.cpp
lua/bindings/CCLuaEngine.cpp lua/bindings/CCLuaEngine.cpp

@ -1 +1 @@
Subproject commit 006193d9b4081c8af2b79be3cd9bcf90aedfdbae Subproject commit 9b0b068f923249440b8a8c758b1c06d29f6cbdfe

View File

@ -96,6 +96,7 @@ static void executeJSFunctionFromReservedSpot(JSContext *cx, JSObject *obj,
if (func == JSVAL_VOID) { return; } if (func == JSVAL_VOID) { return; }
jsval thisObj = JS_GetReservedSlot(obj, 1); jsval thisObj = JS_GetReservedSlot(obj, 1);
JSAutoCompartment ac(cx, obj); JSAutoCompartment ac(cx, obj);
if (thisObj == JSVAL_VOID) { if (thisObj == JSVAL_VOID) {
JS_CallFunctionValue(cx, obj, func, 1, &dataVal, &retval); JS_CallFunctionValue(cx, obj, func, 1, &dataVal, &retval);
} else { } else {
@ -527,7 +528,7 @@ JSBool ScriptingCore::runScript(const char *path, JSObject* global, JSContext* c
// a) check jsc file first // a) check jsc file first
std::string byteCodePath = RemoveFileExt(std::string(path)) + BYTE_CODE_FILE_EXT; std::string byteCodePath = RemoveFileExt(std::string(path)) + BYTE_CODE_FILE_EXT;
unsigned long length = 0; long length = 0;
unsigned char* data = futil->getFileData(byteCodePath.c_str(), unsigned char* data = futil->getFileData(byteCodePath.c_str(),
"rb", "rb",
&length); &length);

View File

@ -320,6 +320,8 @@ public:
JS_RemoveObjectRoot(this->_cx, &this->_jsthis); JS_RemoveObjectRoot(this->_cx, &this->_jsthis);
} }
JSBool invoke(unsigned int argc, jsval *argv, jsval &rval) { JSBool invoke(unsigned int argc, jsval *argv, jsval &rval) {
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
return JS_CallFunctionValue(this->_cx, this->_jsthis, this->_fval, argc, argv, &rval); return JS_CallFunctionValue(this->_cx, this->_jsthis, this->_fval, argc, argv, &rval);
} }
private: private:

View File

@ -638,6 +638,8 @@ static cpBool myCollisionBegin(cpArbiter *arb, cpSpace *space, void *data)
args[0] = opaque_to_jsval( handler->cx, arb); args[0] = opaque_to_jsval( handler->cx, arb);
args[1] = opaque_to_jsval( handler->cx, space ); args[1] = opaque_to_jsval( handler->cx, space );
} }
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
jsval rval; jsval rval;
JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->begin), 2, args, &rval); JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->begin), 2, args, &rval);
@ -662,6 +664,8 @@ static cpBool myCollisionPre(cpArbiter *arb, cpSpace *space, void *data)
args[0] = opaque_to_jsval( handler->cx, arb); args[0] = opaque_to_jsval( handler->cx, arb);
args[1] = opaque_to_jsval( handler->cx, space ); args[1] = opaque_to_jsval( handler->cx, space );
} }
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
jsval rval; jsval rval;
JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->pre), 2, args, &rval); JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->pre), 2, args, &rval);
@ -687,6 +691,8 @@ static void myCollisionPost(cpArbiter *arb, cpSpace *space, void *data)
args[0] = opaque_to_jsval( handler->cx, arb); args[0] = opaque_to_jsval( handler->cx, arb);
args[1] = opaque_to_jsval( handler->cx, space ); args[1] = opaque_to_jsval( handler->cx, space );
} }
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
jsval ignore; jsval ignore;
JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->post), 2, args, &ignore); JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->post), 2, args, &ignore);
@ -705,6 +711,8 @@ static void myCollisionSeparate(cpArbiter *arb, cpSpace *space, void *data)
args[0] = opaque_to_jsval( handler->cx, arb); args[0] = opaque_to_jsval( handler->cx, arb);
args[1] = opaque_to_jsval( handler->cx, space ); args[1] = opaque_to_jsval( handler->cx, space );
} }
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
jsval ignore; jsval ignore;
JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->separate), 2, args, &ignore); JSBool ok = JS_CallFunctionValue( handler->cx, handler->jsthis, OBJECT_TO_JSVAL(handler->separate), 2, args, &ignore);

View File

@ -1 +1 @@
c93df276adb92b5e076db49c4f9482b8eb37d45c 927efea93a520eeb9db9f62c8d8eb7a7b93b08dc

View File

@ -14,6 +14,8 @@ public:
jsval retval = JSVAL_NULL; jsval retval = JSVAL_NULL;
if(!JSVAL_IS_VOID(_jsCallback) && !JSVAL_IS_VOID(_jsThisObj)) { if(!JSVAL_IS_VOID(_jsCallback) && !JSVAL_IS_VOID(_jsThisObj)) {
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
JS_CallFunctionValue(cx, JSVAL_TO_OBJECT(_jsThisObj), _jsCallback, 0, NULL, &retval); JS_CallFunctionValue(cx, JSVAL_TO_OBJECT(_jsThisObj), _jsCallback, 0, NULL, &retval);
} }
} }

View File

@ -73,6 +73,9 @@ void JSArmatureWrapper::movementCallbackFunc(cocostudio::Armature *pArmature, co
valArr[2] = idVal; valArr[2] = idVal;
JS_AddValueRoot(cx, valArr); JS_AddValueRoot(cx, valArr);
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
JS_CallFunctionValue(cx, thisObj, _jsCallback, 3, valArr, &retval); JS_CallFunctionValue(cx, thisObj, _jsCallback, 3, valArr, &retval);
JS_RemoveValueRoot(cx, valArr); JS_RemoveValueRoot(cx, valArr);
} }
@ -88,6 +91,9 @@ void JSArmatureWrapper::addArmatureFileInfoAsyncCallbackFunc(float percent)
jsval percentVal = DOUBLE_TO_JSVAL(percent); jsval percentVal = DOUBLE_TO_JSVAL(percent);
JS_AddValueRoot(cx, &percentVal); JS_AddValueRoot(cx, &percentVal);
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
JS_CallFunctionValue(cx, thisObj, _jsCallback, 1, &percentVal, &retval); JS_CallFunctionValue(cx, thisObj, _jsCallback, 1, &percentVal, &retval);
JS_RemoveValueRoot(cx, &percentVal); JS_RemoveValueRoot(cx, &percentVal);
} }
@ -113,6 +119,9 @@ void JSArmatureWrapper::frameCallbackFunc(cocostudio::Bone *pBone, const char *f
valArr[3] = currentIndexVal; valArr[3] = currentIndexVal;
JS_AddValueRoot(cx, valArr); JS_AddValueRoot(cx, valArr);
JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
JS_CallFunctionValue(cx, thisObj, _jsCallback, 4, valArr, &retval); JS_CallFunctionValue(cx, thisObj, _jsCallback, 4, valArr, &retval);
JS_RemoveValueRoot(cx, valArr); JS_RemoveValueRoot(cx, valArr);
} }

View File

@ -17,6 +17,7 @@ LOCAL_SRC_FILES := CCLuaBridge.cpp \
LuaBasicConversions.cpp \ LuaBasicConversions.cpp \
../../auto-generated/lua-bindings/lua_cocos2dx_auto.cpp \ ../../auto-generated/lua-bindings/lua_cocos2dx_auto.cpp \
../../auto-generated/lua-bindings/lua_cocos2dx_extension_auto.cpp \ ../../auto-generated/lua-bindings/lua_cocos2dx_extension_auto.cpp \
../../auto-generated/lua-bindings/lua_cocos2dx_studio_auto.cpp \
lua_cocos2dx_manual.cpp \ lua_cocos2dx_manual.cpp \
lua_cocos2dx_extension_manual.cpp \ lua_cocos2dx_extension_manual.cpp \
lua_cocos2dx_deprecated.cpp \ lua_cocos2dx_deprecated.cpp \

View File

@ -54,6 +54,7 @@ extern "C" {
#include "lua_cocos2dx_extension_manual.h" #include "lua_cocos2dx_extension_manual.h"
#include "lua_cocos2dx_deprecated.h" #include "lua_cocos2dx_deprecated.h"
#include "lua_xml_http_request.h" #include "lua_xml_http_request.h"
#include "lua_cocos2dx_studio_auto.hpp"
namespace { namespace {
int lua_print(lua_State * luastate) int lua_print(lua_State * luastate)
@ -135,6 +136,7 @@ bool LuaStack::init(void)
register_all_cocos2dx_deprecated(_state); register_all_cocos2dx_deprecated(_state);
register_cocos2dx_extension_CCBProxy(_state); register_cocos2dx_extension_CCBProxy(_state);
tolua_opengl_open(_state); tolua_opengl_open(_state);
register_all_cocos2dx_studio(_state);
register_all_cocos2dx_manual(_state); register_all_cocos2dx_manual(_state);
register_all_cocos2dx_extension_manual(_state); register_all_cocos2dx_extension_manual(_state);
register_all_cocos2dx_manual_deprecated(_state); register_all_cocos2dx_manual_deprecated(_state);

View File

@ -46,7 +46,7 @@ extern "C"
} }
filename.append(".lua"); filename.append(".lua");
unsigned long codeBufferSize = 0; long codeBufferSize = 0;
unsigned char* codeBuffer = FileUtils::getInstance()->getFileData(filename.c_str(), "rb", &codeBufferSize); unsigned char* codeBuffer = FileUtils::getInstance()->getFileData(filename.c_str(), "rb", &codeBufferSize);
if (codeBuffer) if (codeBuffer)

View File

@ -49,6 +49,7 @@ SOURCES = ../../../../external/lua/lua/lapi.c \
tolua_fix.c \ tolua_fix.c \
../../auto-generated/lua-bindings/lua_cocos2dx_auto.cpp \ ../../auto-generated/lua-bindings/lua_cocos2dx_auto.cpp \
../../auto-generated/lua-bindings/lua_cocos2dx_extension_auto.cpp \ ../../auto-generated/lua-bindings/lua_cocos2dx_extension_auto.cpp \
../../auto-generated/lua-bindings/lua_cocos2dx_studio_auto.cpp \
CCLuaBridge.cpp \ CCLuaBridge.cpp \
CCLuaEngine.cpp \ CCLuaEngine.cpp \
CCLuaStack.cpp \ CCLuaStack.cpp \

View File

@ -153,7 +153,7 @@
#endif #endif
/* The size of `long', as computed by sizeof. */ /* The size of `long', as computed by sizeof. */
#define CURL_SIZEOF_LONG 4 #define CURL_SIZEOF_LONG sizeof(long)
/* Integral data type used for curl_socklen_t. */ /* Integral data type used for curl_socklen_t. */
#define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t #define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t

View File

@ -18,5 +18,8 @@ set(APP_BIN_DIR "${CMAKE_SOURCE_DIR}/bin/${APP_NAME}")
set_target_properties(${APP_NAME} PROPERTIES set_target_properties(${APP_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}") RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}")
COPY_RES( ${APP_NAME} ) pre_build(${APP_NAME}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${APP_BIN_DIR}/Resources
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Resources ${APP_BIN_DIR}/Resources
)

View File

@ -159,5 +159,8 @@ set(APP_BIN_DIR "${CMAKE_SOURCE_DIR}/bin/${APP_NAME}")
set_target_properties(${APP_NAME} PROPERTIES set_target_properties(${APP_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}") RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}")
COPY_RES( ${APP_NAME} ) pre_build(${APP_NAME}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${APP_BIN_DIR}/Resources
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Resources ${APP_BIN_DIR}/Resources
)

View File

@ -33,8 +33,8 @@ set(APP_BIN_DIR "${CMAKE_SOURCE_DIR}/bin/${APP_NAME}")
set_target_properties(${APP_NAME} PROPERTIES set_target_properties(${APP_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}") RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}")
COPY_RES( ${APP_NAME} ) pre_build(${APP_NAME}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${APP_BIN_DIR}/Resources
COPY_RES_EXTRA(${APP_NAME} copy_core_scripts ${CMAKE_SOURCE_DIR}/cocos/scripting/lua COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Resources ${APP_BIN_DIR}/Resources
script/* COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/cocos/scripting/lua/script ${APP_BIN_DIR}/Resources
) )

View File

@ -33,11 +33,10 @@ set(APP_BIN_DIR "${CMAKE_SOURCE_DIR}/bin/${APP_NAME}")
set_target_properties(${APP_NAME} PROPERTIES set_target_properties(${APP_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}") RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}")
COPY_RES(${APP_NAME}) pre_build(${APP_NAME}
COPY_RES_EXTRA(${APP_NAME} copy_core_scripts ${CMAKE_SOURCE_DIR}/cocos/scripting/lua COMMAND ${CMAKE_COMMAND} -E remove_directory ${APP_BIN_DIR}/Resources
script/* COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Resources ${APP_BIN_DIR}/Resources
) COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/cocos/scripting/lua/script ${APP_BIN_DIR}/Resources
COPY_RES_EXTRA(${APP_NAME} copy_cpp_res ${CMAKE_SOURCE_DIR}/samples/Cpp/TestCpp/Resources COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/samples/Cpp/TestCpp/Resources ${APP_BIN_DIR}/Resources
*
) )

View File

@ -4,16 +4,15 @@ local scheduler = cc.Director:getInstance():getScheduler()
local ArmatureTestIndex = local ArmatureTestIndex =
{ {
TEST_COCOSTUDIO_WITH_SKELETON = 1, TEST_COCOSTUDIO_WITH_SKELETON = 1,
TEST_COCOSTUDIO_WITHOUT_SKELETON = 2, TEST_DRAGON_BONES_2_0 = 2,
TEST_DRAGON_BONES_2_0 = 3, TEST_PERFORMANCE = 3,
TEST_PERFORMANCE = 4, TEST_CHANGE_ZORDER = 4,
TEST_CHANGE_ZORDER = 5, TEST_ANIMATION_EVENT = 5,
TEST_ANIMATION_EVENT = 6, TEST_PARTICLE_DISPLAY = 6,
TEST_PARTICLE_DISPLAY = 7, TEST_USE_DIFFERENT_PICTURE = 7,
TEST_USE_DIFFERENT_PICTURE = 8, TEST_BOUDINGBOX = 8,
TEST_BOUDINGBOX = 9, TEST_ANCHORPOINT = 9,
TEST_ANCHORPOINT = 10, TEST_ARMATURE_NESTING = 10,
TEST_ARMATURE_NESTING = 11,
} }
local armatureSceneIdx = ArmatureTestIndex.TEST_COCOSTUDIO_WITH_SKELETON local armatureSceneIdx = ArmatureTestIndex.TEST_COCOSTUDIO_WITH_SKELETON
@ -31,13 +30,13 @@ function ArmatureTestScene.extend(target)
end end
function ArmatureTestScene:runThisTest() function ArmatureTestScene:runThisTest()
cc.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/TestBone0.png", "armature/TestBone0.plist", "armature/TestBone.json") ccs.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/TestBone0.png", "armature/TestBone0.plist", "armature/TestBone.json")
cc.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/Cowboy0.png", "armature/Cowboy0.plist", "armature/Cowboy.ExportJson") ccs.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/Cowboy0.png", "armature/Cowboy0.plist", "armature/Cowboy.ExportJson")
cc.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/knight.png", "armature/knight.plist", "armature/knight.xml") ccs.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/knight.png", "armature/knight.plist", "armature/knight.xml")
cc.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/weapon.png", "armature/weapon.plist", "armature/weapon.xml") ccs.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/weapon.png", "armature/weapon.plist", "armature/weapon.xml")
cc.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/robot.png", "armature/robot.plist", "armature/robot.xml") ccs.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/robot.png", "armature/robot.plist", "armature/robot.xml")
cc.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/cyborg.png", "armature/cyborg.plist", "armature/cyborg.xml") ccs.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/cyborg.png", "armature/cyborg.plist", "armature/cyborg.xml")
cc.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/Dragon.png", "armature/Dragon.plist", "armature/Dragon.xml") ccs.ArmatureDataManager:getInstance():addArmatureFileInfo("armature/Dragon.png", "armature/Dragon.plist", "armature/Dragon.xml")
armatureSceneIdx = ArmatureTestIndex.TEST_COCOSTUDIO_WITH_SKELETON armatureSceneIdx = ArmatureTestIndex.TEST_COCOSTUDIO_WITH_SKELETON
self:addChild(restartArmatureTest()) self:addChild(restartArmatureTest())
@ -59,7 +58,7 @@ function ArmatureTestScene.create()
end end
function ArmatureTestScene.toMainMenuCallback() function ArmatureTestScene.toMainMenuCallback()
cc.ArmatureDataManager:purgeArmatureSystem() ccs.ArmatureDataManager:purgeArmatureSystem()
end end
local ArmatureTestLayer = class("ArmatureTestLayer") local ArmatureTestLayer = class("ArmatureTestLayer")
@ -72,8 +71,6 @@ end
function ArmatureTestLayer.title(idx) function ArmatureTestLayer.title(idx)
if ArmatureTestIndex.TEST_COCOSTUDIO_WITH_SKELETON == idx then if ArmatureTestIndex.TEST_COCOSTUDIO_WITH_SKELETON == idx then
return "Test Export From CocoStudio With Skeleton Effect" return "Test Export From CocoStudio With Skeleton Effect"
elseif ArmatureTestIndex.TEST_COCOSTUDIO_WITHOUT_SKELETON == idx then
return "Test Export From CocoStudio Without Skeleton Effect"
elseif ArmatureTestIndex.TEST_DRAGON_BONES_2_0 == idx then elseif ArmatureTestIndex.TEST_DRAGON_BONES_2_0 == idx then
return "Test Export From DragonBones version 2.0" return "Test Export From DragonBones version 2.0"
elseif ArmatureTestIndex.TEST_PERFORMANCE == idx then elseif ArmatureTestIndex.TEST_PERFORMANCE == idx then
@ -209,7 +206,7 @@ function TestCSWithSkeleton.extend(target)
end end
function TestCSWithSkeleton:onEnter() function TestCSWithSkeleton:onEnter()
local armature = cc.Armature:create("Cowboy") local armature = ccs.Armature:create("Cowboy")
armature:getAnimation():playByIndex(0) armature:getAnimation():playByIndex(0)
armature:setScale(0.2) armature:setScale(0.2)
armature:setAnchorPoint(cc.p(0.5, 0.5)) armature:setAnchorPoint(cc.p(0.5, 0.5))
@ -230,40 +227,6 @@ function TestCSWithSkeleton.create()
return layer return layer
end end
local TestCSWithoutSkeleton = class("TestCSWithoutSkeleton",ArmatureTestLayer)
TestCSWithoutSkeleton.__index = TestCSWithoutSkeleton
function TestCSWithoutSkeleton.extend(target)
local t = tolua.getpeer(target)
if not t then
t = {}
tolua.setpeer(target, t)
end
setmetatable(t, TestCSWithoutSkeleton)
return target
end
function TestCSWithoutSkeleton:onEnter()
local armature = cc.Armature:create("TestBone")
armature:getAnimation():playByIndex(0)
armature:setScale(0.2)
armature:setAnchorPoint(cc.p(0.5, 0.5))
armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2))
self:addChild(armature)
end
function TestCSWithoutSkeleton.create()
local layer = TestCSWithoutSkeleton.extend(cc.Layer:create())
if nil ~= layer then
layer:createMenu()
layer:createToExtensionMenu()
layer:onEnter()
layer:creatTitleAndSubTitle(armatureSceneIdx)
end
return layer
end
local TestDragonBones20 = class("TestDragonBones20",ArmatureTestLayer) local TestDragonBones20 = class("TestDragonBones20",ArmatureTestLayer)
TestDragonBones20.__index = TestDragonBones20 TestDragonBones20.__index = TestDragonBones20
@ -278,7 +241,7 @@ function TestDragonBones20.extend(target)
end end
function TestDragonBones20:onEnter() function TestDragonBones20:onEnter()
local armature = cc.Armature:create("Dragon") local armature = ccs.Armature:create("Dragon")
armature:getAnimation():playByIndex(1) armature:getAnimation():playByIndex(1)
armature:getAnimation():setAnimationScale(0.4) armature:getAnimation():setAnimationScale(0.4)
armature:setScale(0.6) armature:setScale(0.6)
@ -320,7 +283,7 @@ function TestPerformance.update(delta)
TestPerformance.times = TestPerformance.times + delta TestPerformance.times = TestPerformance.times + delta
if TestPerformance.times > 0.25 then if TestPerformance.times > 0.25 then
TestPerformance.time = 0 TestPerformance.time = 0
local armature = cc.Armature:create("Knight_f/Knight") local armature = ccs.Armature:create("Knight_f/Knight")
armature:getAnimation():playByIndex(0) armature:getAnimation():playByIndex(0)
armature:setPosition(cc.p(50 + TestPerformance.armatureCount * 5, winSize.height / 2)) armature:setPosition(cc.p(50 + TestPerformance.armatureCount * 5, winSize.height / 2))
armature:setScale(0.6) armature:setScale(0.6)
@ -363,40 +326,6 @@ function TestPerformance.create()
return layer return layer
end end
local TestCSWithoutSkeleton = class("TestCSWithoutSkeleton",ArmatureTestLayer)
TestCSWithoutSkeleton.__index = TestCSWithoutSkeleton
function TestCSWithoutSkeleton.extend(target)
local t = tolua.getpeer(target)
if not t then
t = {}
tolua.setpeer(target, t)
end
setmetatable(t, TestCSWithoutSkeleton)
return target
end
function TestCSWithoutSkeleton:onEnter()
local armature = cc.Armature:create("TestBone")
armature:getAnimation():playByIndex(0)
armature:setScale(0.2)
armature:setAnchorPoint(cc.p(0.5, 0.5))
armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2))
self:addChild(armature)
end
function TestCSWithoutSkeleton.create()
local layer = TestCSWithoutSkeleton.extend(cc.Layer:create())
if nil ~= layer then
layer:createMenu()
layer:createToExtensionMenu()
layer:onEnter()
layer:creatTitleAndSubTitle(armatureSceneIdx)
end
return layer
end
local TestChangeZorder = class("TestChangeZorder",ArmatureTestLayer) local TestChangeZorder = class("TestChangeZorder",ArmatureTestLayer)
TestChangeZorder.__index = TestChangeZorder TestChangeZorder.__index = TestChangeZorder
TestChangeZorder.currentTag = -1 TestChangeZorder.currentTag = -1
@ -414,21 +343,21 @@ end
function TestChangeZorder:onEnter() function TestChangeZorder:onEnter()
self.currentTag = -1 self.currentTag = -1
local armature = cc.Armature:create("Knight_f/Knight") local armature = ccs.Armature:create("Knight_f/Knight")
armature:getAnimation():playByIndex(0) armature:getAnimation():playByIndex(0)
armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2 - 100 )) armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2 - 100 ))
armature:setScale(0.6) armature:setScale(0.6)
self.currentTag = self.currentTag + 1 self.currentTag = self.currentTag + 1
self:addChild(armature, self.currentTag, self.currentTag) self:addChild(armature, self.currentTag, self.currentTag)
armature = cc.Armature:create("TestBone") armature = ccs.Armature:create("Cowboy")
armature:getAnimation():playByIndex(0) armature:getAnimation():playByIndex(0)
armature:setScale(0.24) armature:setScale(0.24)
armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2 - 100)) armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2 - 100))
self.currentTag = self.currentTag + 1 self.currentTag = self.currentTag + 1
self:addChild(armature, self.currentTag, self.currentTag) self:addChild(armature, self.currentTag, self.currentTag)
armature = cc.Armature:create("Dragon") armature = ccs.Armature:create("Dragon")
armature:getAnimation():playByIndex(0) armature:getAnimation():playByIndex(0)
armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2 - 100)) armature:setPosition(cc.p(winSize.width / 2, winSize.height / 2 - 100))
armature:setScale(0.6) armature:setScale(0.6)
@ -471,7 +400,7 @@ function TestAnimationEvent.extend(target)
end end
function TestAnimationEvent:onEnter() function TestAnimationEvent:onEnter()
local armature = cc.Armature:create("Cowboy") local armature = ccs.Armature:create("Cowboy")
armature:getAnimation():play("Fire") armature:getAnimation():play("Fire")
armature:setScaleX(-0.24) armature:setScaleX(-0.24)
armature:setScaleY(0.24) armature:setScaleY(0.24)
@ -511,25 +440,25 @@ function TestParticleDisplay:onEnter()
self:setTouchEnabled(true) self:setTouchEnabled(true)
self.animationID = 0 self.animationID = 0
self.armature = cc.Armature:create("robot") self.armature = ccs.Armature:create("robot")
self.armature:getAnimation():playByIndex(0) self.armature:getAnimation():playByIndex(0)
self.armature:setPosition(VisibleRect:center()) self.armature:setPosition(VisibleRect:center())
self.armature:setScale(0.48) self.armature:setScale(0.48)
self:addChild(self.armature) self:addChild(self.armature)
local displayData = cc.ParticleDisplayData:create() local p1 = cc.ParticleSystemQuad:create("Particles/SmallSun.plist")
displayData:setParam("Particles/SmallSun.plist") local p2 = cc.ParticleSystemQuad:create("Particles/SmallSun.plist")
local bone = cc.Bone:create("p1") local bone = ccs.Bone:create("p1")
bone:addDisplay(displayData, 0) bone:addDisplay(p1, 0)
bone:changeDisplayByIndex(0, true) bone:changeDisplayByIndex(0, true)
bone:setIgnoreMovementBoneData(true) bone:setIgnoreMovementBoneData(true)
bone:setZOrder(100) bone:setZOrder(100)
bone:setScale(1.2) bone:setScale(1.2)
self.armature:addBone(bone, "bady-a3") self.armature:addBone(bone, "bady-a3")
bone = cc.Bone:create("p2") bone = ccs.Bone:create("p2")
bone:addDisplay(displayData, 0) bone:addDisplay(p2, 0)
bone:changeDisplayByIndex(0, true) bone:changeDisplayByIndex(0, true)
bone:setIgnoreMovementBoneData(true) bone:setIgnoreMovementBoneData(true)
bone:setZOrder(100) bone:setZOrder(100)
@ -583,7 +512,7 @@ function TestUseMutiplePicture:onEnter()
self:setTouchEnabled(true) self:setTouchEnabled(true)
self.displayIndex = 1 self.displayIndex = 1
self.armature = cc.Armature:create("Knight_f/Knight") self.armature = ccs.Armature:create("Knight_f/Knight")
self.armature:getAnimation():playByIndex(0) self.armature:getAnimation():playByIndex(0)
self.armature:setPosition(cc.p(VisibleRect:left().x + 70, VisibleRect:left().y)) self.armature:setPosition(cc.p(VisibleRect:left().x + 70, VisibleRect:left().y))
self.armature:setScale(1.2) self.armature:setScale(1.2)
@ -600,11 +529,10 @@ function TestUseMutiplePicture:onEnter()
"weapon_f-hammer.png", "weapon_f-hammer.png",
}; };
local spriteDisplayData = cc.SpriteDisplayData:create()
local i = 1 local i = 1
for i = 1,table.getn(weapon) do for i = 1,table.getn(weapon) do
spriteDisplayData:setParam(weapon[i]) local skin = ccs.Skin:createWithSpriteFrameName(weapon[i])
self.armature:getBone("weapon"):addDisplay(spriteDisplayData, i - 1) self.armature:getBone("weapon"):addDisplay(skin, i - 1)
end end
local function onTouchBegan(x, y) local function onTouchBegan(x, y)
@ -649,7 +577,7 @@ function TestBoundingBox.extend(target)
end end
function TestBoundingBox:onEnter() function TestBoundingBox:onEnter()
local armature = cc.Armature:create("Cowboy") local armature = ccs.Armature:create("Cowboy")
armature:getAnimation():playByIndex(0) armature:getAnimation():playByIndex(0)
armature:setPosition(VisibleRect:center()) armature:setPosition(VisibleRect:center())
armature:setScale(0.2) armature:setScale(0.2)
@ -685,7 +613,7 @@ end
function TestAnchorPoint:onEnter() function TestAnchorPoint:onEnter()
local i = 1 local i = 1
for i = 1 , 5 do for i = 1 , 5 do
local armature = cc.Armature:create("Cowboy") local armature = ccs.Armature:create("Cowboy")
armature:getAnimation():playByIndex(0); armature:getAnimation():playByIndex(0);
armature:setPosition(VisibleRect:center()) armature:setPosition(VisibleRect:center())
armature:setScale(0.2) armature:setScale(0.2)
@ -731,7 +659,7 @@ function TestArmatureNesting:onEnter()
self:setTouchEnabled(true) self:setTouchEnabled(true)
self.weaponIndex = 0 self.weaponIndex = 0
self.armature = cc.Armature:create("cyborg") self.armature = ccs.Armature:create("cyborg")
self.armature:getAnimation():playByIndex(1) self.armature:getAnimation():playByIndex(1)
self.armature:setPosition(VisibleRect:center()) self.armature:setPosition(VisibleRect:center())
self.armature:setScale(1.2) self.armature:setScale(1.2)
@ -770,7 +698,6 @@ end
local armatureSceneArr = local armatureSceneArr =
{ {
TestCSWithSkeleton.create, TestCSWithSkeleton.create,
TestCSWithoutSkeleton.create,
TestDragonBones20.create, TestDragonBones20.create,
TestPerformance.create, TestPerformance.create,
TestChangeZorder.create, TestChangeZorder.create,

@ -1 +1 @@
Subproject commit b6f97d9fc2d3450426423583c7a6aaf4a366a99d Subproject commit d41959ab0b15c20aa0802ab5c9ef92be7b742bd4

Some files were not shown because too many files have changed in this diff Show More