mirror of https://github.com/axmolengine/axmol.git
Merge branch 'v3' of github.com:cocos2d/cocos2d-x into use-const
This commit is contained in:
commit
ba4ae50868
|
@ -61,6 +61,10 @@ THE SOFTWARE.
|
|||
#include "platform/CCApplication.h"
|
||||
//#include "platform/CCGLViewImpl.h"
|
||||
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
#include "CCScriptSupport.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
Position of the FPS
|
||||
|
||||
|
@ -127,6 +131,9 @@ bool Director::init(void)
|
|||
|
||||
// purge ?
|
||||
_purgeDirectorInNextLoop = false;
|
||||
|
||||
// restart ?
|
||||
_restartDirectorInNextLoop = false;
|
||||
|
||||
_winSizeInPoints = Size::ZERO;
|
||||
|
||||
|
@ -941,17 +948,22 @@ void Director::end()
|
|||
_purgeDirectorInNextLoop = true;
|
||||
}
|
||||
|
||||
void Director::purgeDirector()
|
||||
void Director::restart()
|
||||
{
|
||||
_restartDirectorInNextLoop = true;
|
||||
}
|
||||
|
||||
void Director::reset()
|
||||
{
|
||||
// cleanup scheduler
|
||||
getScheduler()->unscheduleAll();
|
||||
|
||||
// Disable event dispatching
|
||||
// Remove all events
|
||||
if (_eventDispatcher)
|
||||
{
|
||||
_eventDispatcher->setEnabled(false);
|
||||
_eventDispatcher->removeAllEventListeners();
|
||||
}
|
||||
|
||||
|
||||
if (_runningScene)
|
||||
{
|
||||
_runningScene->onExit();
|
||||
|
@ -961,22 +973,22 @@ void Director::purgeDirector()
|
|||
|
||||
_runningScene = nullptr;
|
||||
_nextScene = nullptr;
|
||||
|
||||
|
||||
// remove all objects, but don't release it.
|
||||
// runWithScene might be executed after 'end'.
|
||||
_scenesStack.clear();
|
||||
|
||||
|
||||
stopAnimation();
|
||||
|
||||
|
||||
CC_SAFE_RELEASE_NULL(_FPSLabel);
|
||||
CC_SAFE_RELEASE_NULL(_drawnBatchesLabel);
|
||||
CC_SAFE_RELEASE_NULL(_drawnVerticesLabel);
|
||||
|
||||
|
||||
// purge bitmap cache
|
||||
FontFNT::purgeCachedData();
|
||||
|
||||
|
||||
FontFreeType::shutdownFreeType();
|
||||
|
||||
|
||||
// purge all managed caches
|
||||
|
||||
#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
|
||||
|
@ -997,13 +1009,18 @@ void Director::purgeDirector()
|
|||
GLProgramStateCache::destroyInstance();
|
||||
FileUtils::destroyInstance();
|
||||
AsyncTaskPool::destoryInstance();
|
||||
|
||||
|
||||
// cocos2d-x specific data structures
|
||||
UserDefault::destroyInstance();
|
||||
|
||||
GL::invalidateStateCache();
|
||||
|
||||
destroyTextureCache();
|
||||
}
|
||||
|
||||
void Director::purgeDirector()
|
||||
{
|
||||
reset();
|
||||
|
||||
CHECK_GL_ERROR_DEBUG();
|
||||
|
||||
|
@ -1018,6 +1035,23 @@ void Director::purgeDirector()
|
|||
release();
|
||||
}
|
||||
|
||||
void Director::restartDirector()
|
||||
{
|
||||
reset();
|
||||
|
||||
// Texture cache need to be reinitialized
|
||||
initTextureCache();
|
||||
|
||||
// release the objects
|
||||
PoolManager::getInstance()->getCurrentPool()->clear();
|
||||
|
||||
// Real restart in script level
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
ScriptEvent scriptEvent(kRestartGame, NULL);
|
||||
ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&scriptEvent);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Director::setNextScene()
|
||||
{
|
||||
bool runningIsTransition = dynamic_cast<TransitionScene*>(_runningScene) != nullptr;
|
||||
|
@ -1305,6 +1339,11 @@ void DisplayLinkDirector::mainLoop()
|
|||
_purgeDirectorInNextLoop = false;
|
||||
purgeDirector();
|
||||
}
|
||||
else if (_restartDirectorInNextLoop)
|
||||
{
|
||||
_restartDirectorInNextLoop = false;
|
||||
restartDirector();
|
||||
}
|
||||
else if (! _invalid)
|
||||
{
|
||||
drawScene();
|
||||
|
|
|
@ -287,6 +287,10 @@ public:
|
|||
The "delta time" will be 0 (as if the game wasn't paused)
|
||||
*/
|
||||
void resume();
|
||||
|
||||
/** Restart the director
|
||||
*/
|
||||
void restart();
|
||||
|
||||
/** Stops the animation. Nothing will be drawn. The main loop won't be triggered anymore.
|
||||
If you don't want to pause your animation call [pause] instead.
|
||||
|
@ -396,9 +400,14 @@ public:
|
|||
void resetMatrixStack();
|
||||
|
||||
protected:
|
||||
void reset();
|
||||
|
||||
void purgeDirector();
|
||||
bool _purgeDirectorInNextLoop; // this flag will be set to true in end()
|
||||
|
||||
void restartDirector();
|
||||
bool _restartDirectorInNextLoop; // this flag will be set to true in restart()
|
||||
|
||||
void setNextScene();
|
||||
|
||||
void showStats();
|
||||
|
|
|
@ -211,7 +211,8 @@ enum ScriptEventType
|
|||
kAccelerometerEvent,
|
||||
kControlEvent,
|
||||
kCommonEvent,
|
||||
kComponentEvent
|
||||
kComponentEvent,
|
||||
kRestartGame
|
||||
};
|
||||
|
||||
struct BasicScriptData
|
||||
|
|
|
@ -1218,19 +1218,19 @@ Offset<ProjectNodeOptions> FlatBuffersSerialize::createProjectNodeOptionsForSimu
|
|||
|
||||
if (name == "FileData")
|
||||
{
|
||||
const tinyxml2::XMLAttribute* attribute = child->FirstAttribute();
|
||||
const tinyxml2::XMLAttribute* attributeFileData = child->FirstAttribute();
|
||||
|
||||
while (attribute)
|
||||
while (attributeFileData)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeFileData->Name();
|
||||
std::string value = attributeFileData->Value();
|
||||
|
||||
if (name == "Path")
|
||||
{
|
||||
filename = value;
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeFileData = attributeFileData->Next();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -151,9 +151,9 @@ cocos2d::Node* ArmatureNodeReader::createNodeWithFlatBuffers(const flatbuffers:
|
|||
std::string ArmatureNodeReader::getArmatureName(const std::string& exporJsonPath)
|
||||
{
|
||||
//FileUtils.getFileData(exporJsonPath, "r", size) // need read armature name in exportJsonPath
|
||||
int end = exporJsonPath.find_last_of(".");
|
||||
int start = exporJsonPath.find_last_of("\\") + 1;
|
||||
int start1 = exporJsonPath.find_last_of("/") + 1;
|
||||
size_t end = exporJsonPath.find_last_of(".");
|
||||
size_t start = exporJsonPath.find_last_of("\\") + 1;
|
||||
size_t start1 = exporJsonPath.find_last_of("/") + 1;
|
||||
if (start < start1)
|
||||
start = start1;
|
||||
|
||||
|
|
|
@ -185,11 +185,11 @@ namespace cocostudio
|
|||
|
||||
if (name == "InnerNodeSize")
|
||||
{
|
||||
auto attribute = child->FirstAttribute();
|
||||
while (attribute)
|
||||
auto attributeInnerNodeSize = child->FirstAttribute();
|
||||
while (attributeInnerNodeSize)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeInnerNodeSize->Name();
|
||||
std::string value = attributeInnerNodeSize->Value();
|
||||
|
||||
if (name == "Width")
|
||||
{
|
||||
|
@ -200,17 +200,17 @@ namespace cocostudio
|
|||
innerSize.height = atof(value.c_str());
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeInnerNodeSize = attributeInnerNodeSize->Next();
|
||||
}
|
||||
}
|
||||
else if (name == "Size" && backGroundScale9Enabled)
|
||||
{
|
||||
auto attribute = child->FirstAttribute();
|
||||
auto attributeSize = child->FirstAttribute();
|
||||
|
||||
while (attribute)
|
||||
while (attributeSize)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeSize->Name();
|
||||
std::string value = attributeSize->Value();
|
||||
|
||||
if (name == "X")
|
||||
{
|
||||
|
@ -221,17 +221,17 @@ namespace cocostudio
|
|||
scale9Size.height = atof(value.c_str());
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeSize = attributeSize->Next();
|
||||
}
|
||||
}
|
||||
else if (name == "SingleColor")
|
||||
{
|
||||
auto attribute = child->FirstAttribute();
|
||||
auto attributeSingleColor = child->FirstAttribute();
|
||||
|
||||
while (attribute)
|
||||
while (attributeSingleColor)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeSingleColor->Name();
|
||||
std::string value = attributeSingleColor->Value();
|
||||
|
||||
if (name == "R")
|
||||
{
|
||||
|
@ -246,17 +246,17 @@ namespace cocostudio
|
|||
bgColor.b = atoi(value.c_str());
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeSingleColor = attributeSingleColor->Next();
|
||||
}
|
||||
}
|
||||
else if (name == "EndColor")
|
||||
{
|
||||
auto attribute = child->FirstAttribute();
|
||||
auto attributeEndColor = child->FirstAttribute();
|
||||
|
||||
while (attribute)
|
||||
while (attributeEndColor)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeEndColor->Name();
|
||||
std::string value = attributeEndColor->Value();
|
||||
|
||||
if (name == "R")
|
||||
{
|
||||
|
@ -271,17 +271,17 @@ namespace cocostudio
|
|||
bgEndColor.b = atoi(value.c_str());
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeEndColor = attributeEndColor->Next();
|
||||
}
|
||||
}
|
||||
else if (name == "FirstColor")
|
||||
{
|
||||
auto attribute = child->FirstAttribute();
|
||||
auto attributeFirstColor = child->FirstAttribute();
|
||||
|
||||
while (attribute)
|
||||
while (attributeFirstColor)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeFirstColor->Name();
|
||||
std::string value = attributeFirstColor->Value();
|
||||
|
||||
if (name == "R")
|
||||
{
|
||||
|
@ -296,16 +296,16 @@ namespace cocostudio
|
|||
bgStartColor.b = atoi(value.c_str());
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeFirstColor = attributeFirstColor->Next();
|
||||
}
|
||||
}
|
||||
else if (name == "ColorVector")
|
||||
{
|
||||
auto attribute = child->FirstAttribute();
|
||||
while (attribute)
|
||||
auto attributeColorVector = child->FirstAttribute();
|
||||
while (attributeColorVector)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeColorVector->Name();
|
||||
std::string value = attributeColorVector->Value();
|
||||
|
||||
if (name == "ScaleX")
|
||||
{
|
||||
|
@ -316,7 +316,7 @@ namespace cocostudio
|
|||
colorVector.y = atof(value.c_str());
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeColorVector = attributeColorVector->Next();
|
||||
}
|
||||
}
|
||||
else if (name == "FileData")
|
||||
|
@ -324,12 +324,12 @@ namespace cocostudio
|
|||
std::string texture;
|
||||
std::string texturePng;
|
||||
|
||||
auto attribute = child->FirstAttribute();
|
||||
auto attributeFileData = child->FirstAttribute();
|
||||
|
||||
while (attribute)
|
||||
while (attributeFileData)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeFileData->Name();
|
||||
std::string value = attributeFileData->Value();
|
||||
|
||||
if (name == "Path")
|
||||
{
|
||||
|
@ -345,7 +345,7 @@ namespace cocostudio
|
|||
texture = value;
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeFileData = attributeFileData->Next();
|
||||
}
|
||||
|
||||
if (resourceType == 1)
|
||||
|
|
|
@ -98,12 +98,12 @@ namespace cocostudio
|
|||
|
||||
if (name == "FileData")
|
||||
{
|
||||
const tinyxml2::XMLAttribute* attribute = child->FirstAttribute();
|
||||
const tinyxml2::XMLAttribute* attributeFileData = child->FirstAttribute();
|
||||
|
||||
while (attribute)
|
||||
while (attributeFileData)
|
||||
{
|
||||
name = attribute->Name();
|
||||
std::string value = attribute->Value();
|
||||
name = attributeFileData->Name();
|
||||
std::string value = attributeFileData->Value();
|
||||
|
||||
if (name == "Path")
|
||||
{
|
||||
|
@ -112,7 +112,7 @@ namespace cocostudio
|
|||
filename = convert;
|
||||
}
|
||||
|
||||
attribute = attribute->Next();
|
||||
attributeFileData = attributeFileData->Next();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -779,7 +779,7 @@ namespace cocostudio
|
|||
//assume versionString is like "2.0.6.0"
|
||||
if (versionString.length() > 0)
|
||||
{
|
||||
int p1, p2, p3, v1, v2, v3;
|
||||
size_t p1, p2, p3, v1, v2, v3;
|
||||
p1 = p2 = p3 = v1 = v2 = v3 = 0;
|
||||
p1 = versionString.find('.');
|
||||
if (p1 > 0)
|
||||
|
|
|
@ -595,8 +595,7 @@ void Renderer::fillQuads(const QuadCommand *cmd)
|
|||
|
||||
for(ssize_t i=0; i< cmd->getQuadCount() * 4; ++i)
|
||||
{
|
||||
V3F_C4B_T2F *q = &_quadVerts[i + _numberQuads * 4];
|
||||
Vec3 *vec1 = (Vec3*)&q->vertices;
|
||||
Vec3 *vec1 = (Vec3*)&(_quadVerts[i + _numberQuads * 4].vertices);
|
||||
modelView.transformPoint(vec1);
|
||||
}
|
||||
|
||||
|
|
|
@ -7135,7 +7135,7 @@ int lua_cocos2dx_ui_Button_getTitleColor(lua_State* tolua_S)
|
|||
tolua_error(tolua_S,"invalid arguments in function 'lua_cocos2dx_ui_Button_getTitleColor'", nullptr);
|
||||
return 0;
|
||||
}
|
||||
const cocos2d::Color3B& ret = cobj->getTitleColor();
|
||||
cocos2d::Color3B ret = cobj->getTitleColor();
|
||||
color3b_to_luaval(tolua_S, ret);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -234,6 +234,21 @@ void Manifest::genResumeAssetsList(Downloader::DownloadUnits *units) const
|
|||
}
|
||||
}
|
||||
|
||||
std::vector<std::string> Manifest::getSearchPaths() const
|
||||
{
|
||||
std::vector<std::string> searchPaths;
|
||||
searchPaths.push_back(_manifestRoot);
|
||||
|
||||
for (int i = (int)_searchPaths.size()-1; i >= 0; i--)
|
||||
{
|
||||
std::string path = _searchPaths[i];
|
||||
if (path.size() > 0 && path[path.size() - 1] != '/')
|
||||
path.append("/");
|
||||
path = _manifestRoot + path;
|
||||
searchPaths.push_back(path);
|
||||
}
|
||||
return searchPaths;
|
||||
}
|
||||
|
||||
void Manifest::prependSearchPaths()
|
||||
{
|
||||
|
|
|
@ -95,6 +95,10 @@ public:
|
|||
*/
|
||||
const std::string& getVersion() const;
|
||||
|
||||
/** @brief Get the search paths list related to the Manifest.
|
||||
*/
|
||||
std::vector<std::string> getSearchPaths() const;
|
||||
|
||||
protected:
|
||||
|
||||
/** @brief Constructor for Manifest class
|
||||
|
|
|
@ -1991,7 +1991,7 @@ void QuaternionTest::addNewSpriteWithCoords(Vec2 p)
|
|||
void QuaternionTest::update(float delta)
|
||||
{
|
||||
_accAngle += delta * _arcSpeed;
|
||||
const float pi = 3.1415926f;
|
||||
const float pi = M_PI;
|
||||
if (_accAngle >= 2 * pi)
|
||||
_accAngle -= 2 * pi;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ uniform vec4 u_color;
|
|||
varying vec3 v_normal;
|
||||
void main(void)
|
||||
{
|
||||
vec3 light_direction = vec3(1,-1,0);
|
||||
vec3 light_direction = vec3(1,-1,-1);
|
||||
light_direction = normalize(light_direction);
|
||||
vec3 light_color = vec3(1,1,1);
|
||||
vec3 normal = normalize(v_normal);
|
||||
|
|
Loading…
Reference in New Issue