mirror of https://github.com/axmolengine/axmol.git
Merge branch 'v3' of github.com:super626/cocos2d-x into merge-bundle
This commit is contained in:
commit
4ce334c0c3
7
AUTHORS
7
AUTHORS
|
@ -805,6 +805,8 @@ Developers:
|
|||
Add support of software PVRTC v1 decompression
|
||||
Fixed a bug that ttf font have not effect on Mac OS X
|
||||
Fixed a bug that before touchMove Touch::_prevPoint contains junk
|
||||
Added Device::setKeepScreenOn()
|
||||
Fixed Label performance problem
|
||||
|
||||
youknowone
|
||||
Adds iOS-like elastic bounceback support for cocos2d::extension::ScrollView
|
||||
|
@ -915,6 +917,7 @@ Developers:
|
|||
Fix a bug that crash happened when try to remove videoView(STATE_PLAYBACK_COMPLETED) in android
|
||||
Fix video scale issue in iOS
|
||||
Fix iOS VideoPlayer memory leak
|
||||
Added c++11 random library support
|
||||
|
||||
billtt
|
||||
Fixed a bug that Node::setScale(float) may not work properly
|
||||
|
@ -922,6 +925,7 @@ Developers:
|
|||
Teivaz
|
||||
Custom uniform search optimization
|
||||
Fixed compiling error on WP8.
|
||||
Added method for custom precompiled shader program loading on WP8
|
||||
|
||||
chareice
|
||||
Make `setup.py` work on zsh
|
||||
|
@ -979,6 +983,9 @@ Developers:
|
|||
|
||||
zaWasp
|
||||
Added support for applicationDidEnterBackground / applicationWillEnterForeground on win32
|
||||
|
||||
xiangxw
|
||||
Fixed the bug that Console::sendPrompt() will send extra `\0`
|
||||
|
||||
Retired Core Developers:
|
||||
WenSheng Yang
|
||||
|
|
|
@ -4,6 +4,9 @@ cocos2d-x-3.3 ??
|
|||
[NEW] Added Camera, AABB, OBB and Ray
|
||||
[NEW] Added render primitive and render primitive command, support passing point, line and triangle data
|
||||
[NEW] Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop
|
||||
[NEW] Added method for custom precompiled shader program loading on WP8
|
||||
[NEW] Added c++11 random support
|
||||
[NEW] Device: added setKeepScreenOn() for iOS and Android
|
||||
[NEW] EventMouse: support getDelta, getDeltaX, getDeltaY functions
|
||||
[NEW] FileUtils: add isDirectoryExist(), createDirectory(), removeDirectory(), removeFile(), renameFile()
|
||||
getFileSize()
|
||||
|
|
|
@ -647,6 +647,10 @@
|
|||
299754F5193EC95400A54AC3 /* ObjectFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 299754F2193EC95400A54AC3 /* ObjectFactory.cpp */; };
|
||||
299754F6193EC95400A54AC3 /* ObjectFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 299754F3193EC95400A54AC3 /* ObjectFactory.h */; };
|
||||
299754F7193EC95400A54AC3 /* ObjectFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 299754F3193EC95400A54AC3 /* ObjectFactory.h */; };
|
||||
299CF1FB19A434BC00C378C1 /* ccRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 299CF1F919A434BC00C378C1 /* ccRandom.cpp */; };
|
||||
299CF1FC19A434BC00C378C1 /* ccRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 299CF1F919A434BC00C378C1 /* ccRandom.cpp */; };
|
||||
299CF1FD19A434BC00C378C1 /* ccRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 299CF1FA19A434BC00C378C1 /* ccRandom.h */; };
|
||||
299CF1FE19A434BC00C378C1 /* ccRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 299CF1FA19A434BC00C378C1 /* ccRandom.h */; };
|
||||
3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */; };
|
||||
3E6176691960F89B00DE83F5 /* CCController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176561960F89B00DE83F5 /* CCController.h */; };
|
||||
3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176611960F89B00DE83F5 /* CCEventController.cpp */; };
|
||||
|
@ -2494,6 +2498,8 @@
|
|||
2986667918B1B079000E39CA /* CCTweenFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTweenFunction.h; sourceTree = "<group>"; };
|
||||
299754F2193EC95400A54AC3 /* ObjectFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ObjectFactory.cpp; path = ../base/ObjectFactory.cpp; sourceTree = "<group>"; };
|
||||
299754F3193EC95400A54AC3 /* ObjectFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectFactory.h; path = ../base/ObjectFactory.h; sourceTree = "<group>"; };
|
||||
299CF1F919A434BC00C378C1 /* ccRandom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ccRandom.cpp; path = ../base/ccRandom.cpp; sourceTree = "<group>"; };
|
||||
299CF1FA19A434BC00C378C1 /* ccRandom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ccRandom.h; path = ../base/ccRandom.h; sourceTree = "<group>"; };
|
||||
29BDBA52195D597A003225C9 /* UIDeprecated.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UIDeprecated.cpp; sourceTree = "<group>"; };
|
||||
29CB8F4A1929D1BB00C841D6 /* UILayoutManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UILayoutManager.cpp; sourceTree = "<group>"; };
|
||||
29CB8F4B1929D1BB00C841D6 /* UILayoutManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILayoutManager.h; sourceTree = "<group>"; };
|
||||
|
@ -3487,6 +3493,8 @@
|
|||
1A5700A2180BC5E60088DEC7 /* base */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
299CF1F919A434BC00C378C1 /* ccRandom.cpp */,
|
||||
299CF1FA19A434BC00C378C1 /* ccRandom.h */,
|
||||
3EA3EDBA1991CDFA00645534 /* CCCamera.cpp */,
|
||||
3EA3EDBB1991CDFA00645534 /* CCCamera.h */,
|
||||
464AD6E3197EBB1400E502D8 /* pvr.cpp */,
|
||||
|
@ -5555,6 +5563,7 @@
|
|||
3EA3EDBE1991CDFA00645534 /* CCCamera.h in Headers */,
|
||||
50ABBE8F1925AB6F00A911A9 /* CCPlatformConfig.h in Headers */,
|
||||
50ABBE291925AB6F00A911A9 /* CCAutoreleasePool.h in Headers */,
|
||||
299CF1FD19A434BC00C378C1 /* ccRandom.h in Headers */,
|
||||
50ABBE471925AB6F00A911A9 /* CCEvent.h in Headers */,
|
||||
B257B4501989D5E800D9A687 /* CCPrimitive.h in Headers */,
|
||||
50ABBE6B1925AB6F00A911A9 /* CCEventListenerFocus.h in Headers */,
|
||||
|
@ -5938,6 +5947,7 @@
|
|||
1A01C69718F57BE800EFE3A6 /* CCInteger.h in Headers */,
|
||||
50ABBEBE1925AB6F00A911A9 /* ccUtils.h in Headers */,
|
||||
50ABBE801925AB6F00A911A9 /* CCEventTouch.h in Headers */,
|
||||
299CF1FE19A434BC00C378C1 /* ccRandom.h in Headers */,
|
||||
50ABBDBC1925AB4100A911A9 /* CCTextureAtlas.h in Headers */,
|
||||
50ABBE541925AB6F00A911A9 /* CCEventDispatcher.h in Headers */,
|
||||
1A12775A18DFCC4F0005F345 /* CCTweenFunction.h in Headers */,
|
||||
|
@ -6974,6 +6984,7 @@
|
|||
50ABBEAB1925AB6F00A911A9 /* ccTypes.cpp in Sources */,
|
||||
1A570069180BC5A10088DEC7 /* CCActionCatmullRom.cpp in Sources */,
|
||||
B257B44E1989D5E800D9A687 /* CCPrimitive.cpp in Sources */,
|
||||
299CF1FB19A434BC00C378C1 /* ccRandom.cpp in Sources */,
|
||||
1A57006D180BC5A10088DEC7 /* CCActionEase.cpp in Sources */,
|
||||
1A570071180BC5A10088DEC7 /* CCActionGrid.cpp in Sources */,
|
||||
B37510761823AC9F00B3BA6A /* CCPhysicsJointInfo_chipmunk.cpp in Sources */,
|
||||
|
@ -7329,6 +7340,7 @@
|
|||
1A5701A2180BCB590088DEC7 /* CCFontAtlas.cpp in Sources */,
|
||||
3E61781D1966A5A300DE83F5 /* CCController.cpp in Sources */,
|
||||
50ABC00E1926664800A911A9 /* CCFileUtils.cpp in Sources */,
|
||||
299CF1FC19A434BC00C378C1 /* ccRandom.cpp in Sources */,
|
||||
50ABBE241925AB6F00A911A9 /* base64.cpp in Sources */,
|
||||
1A5701A6180BCB590088DEC7 /* CCFontAtlasCache.cpp in Sources */,
|
||||
1A5701B2180BCB590088DEC7 /* CCFontFNT.cpp in Sources */,
|
||||
|
|
|
@ -1023,7 +1023,8 @@ void Label::updateFont()
|
|||
|
||||
void Label::drawTextSprite(Renderer *renderer, uint32_t parentFlags)
|
||||
{
|
||||
if (_fontDefinition._fontFillColor != _textColor)
|
||||
if (_fontDefinition._fontFillColor.r != _textColor.r || _fontDefinition._fontFillColor.g != _textColor.g
|
||||
|| _fontDefinition._fontFillColor.b != _textColor.b)
|
||||
{
|
||||
updateContent();
|
||||
}
|
||||
|
|
|
@ -222,6 +222,7 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\3d\CCAABB.cpp" />
|
||||
<ClCompile Include="..\3d\CCAnimate3D.cpp" />
|
||||
<ClCompile Include="..\3d\CCAnimation3D.cpp" />
|
||||
<ClCompile Include="..\3d\CCAttachNode.cpp" />
|
||||
|
@ -229,7 +230,9 @@
|
|||
<ClCompile Include="..\3d\CCBundleReader.cpp" />
|
||||
<ClCompile Include="..\3d\CCMesh.cpp" />
|
||||
<ClCompile Include="..\3d\CCMeshSkin.cpp" />
|
||||
<ClCompile Include="..\3d\CCOBB.cpp" />
|
||||
<ClCompile Include="..\3d\CCObjLoader.cpp" />
|
||||
<ClCompile Include="..\3d\CCRay.cpp" />
|
||||
<ClCompile Include="..\3d\CCSkeleton3D.cpp" />
|
||||
<ClCompile Include="..\3d\CCSprite3D.cpp" />
|
||||
<ClCompile Include="..\3d\CCSprite3DMaterial.cpp" />
|
||||
|
@ -280,6 +283,7 @@
|
|||
<ClCompile Include="..\base\CCModuleManager.cpp" />
|
||||
<ClCompile Include="..\base\CCNS.cpp" />
|
||||
<ClCompile Include="..\base\CCProfiling.cpp" />
|
||||
<ClCompile Include="..\base\ccRandom.cpp" />
|
||||
<ClCompile Include="..\base\CCRef.cpp" />
|
||||
<ClCompile Include="..\base\CCScheduler.cpp" />
|
||||
<ClCompile Include="..\base\CCScriptSupport.cpp" />
|
||||
|
@ -442,6 +446,7 @@
|
|||
<ClInclude Include="..\..\external\unzip\ioapi.h" />
|
||||
<ClInclude Include="..\..\external\unzip\unzip.h" />
|
||||
<ClInclude Include="..\..\external\xxhash\xxhash.h" />
|
||||
<ClInclude Include="..\3d\CCAABB.h" />
|
||||
<ClInclude Include="..\3d\CCAnimate3D.h" />
|
||||
<ClInclude Include="..\3d\CCAnimation3D.h" />
|
||||
<ClInclude Include="..\3d\CCAnimationCurve.h" />
|
||||
|
@ -451,7 +456,9 @@
|
|||
<ClInclude Include="..\3d\CCBundleReader.h" />
|
||||
<ClInclude Include="..\3d\CCMesh.h" />
|
||||
<ClInclude Include="..\3d\CCMeshSkin.h" />
|
||||
<ClInclude Include="..\3d\CCOBB.h" />
|
||||
<ClInclude Include="..\3d\CCObjLoader.h" />
|
||||
<ClInclude Include="..\3d\CCRay.h" />
|
||||
<ClInclude Include="..\3d\CCSkeleton3D.h" />
|
||||
<ClInclude Include="..\3d\CCSprite3D.h" />
|
||||
<ClInclude Include="..\3d\CCSprite3DMaterial.h" />
|
||||
|
@ -495,6 +502,7 @@
|
|||
<ClInclude Include="..\base\CCPlatformMacros.h" />
|
||||
<ClInclude Include="..\base\CCProfiling.h" />
|
||||
<ClInclude Include="..\base\CCProtocols.h" />
|
||||
<ClInclude Include="..\base\ccRandom.h" />
|
||||
<ClInclude Include="..\base\CCRef.h" />
|
||||
<ClInclude Include="..\base\CCRefPtr.h" />
|
||||
<ClInclude Include="..\base\CCScheduler.h" />
|
||||
|
|
|
@ -650,6 +650,18 @@
|
|||
<ClCompile Include="..\base\CCModuleManager.cpp">
|
||||
<Filter>base</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\base\ccRandom.cpp">
|
||||
<Filter>base</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\3d\CCAABB.cpp">
|
||||
<Filter>3d</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\3d\CCOBB.cpp">
|
||||
<Filter>3d</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\3d\CCRay.cpp">
|
||||
<Filter>3d</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\physics\CCPhysicsBody.h">
|
||||
|
@ -1328,6 +1340,18 @@
|
|||
<ClInclude Include="..\base\CCModuleManager.h">
|
||||
<Filter>base</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\base\ccRandom.h">
|
||||
<Filter>base</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\3d\CCAABB.h">
|
||||
<Filter>3d</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\3d\CCOBB.h">
|
||||
<Filter>3d</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\3d\CCRay.h">
|
||||
<Filter>3d</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\math\Mat4.inl">
|
||||
|
|
|
@ -213,6 +213,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou
|
|||
<ClCompile Include="..\base\CCModuleManager.cpp" />
|
||||
<ClCompile Include="..\base\CCNS.cpp" />
|
||||
<ClCompile Include="..\base\CCProfiling.cpp" />
|
||||
<ClCompile Include="..\base\ccRandom.cpp" />
|
||||
<ClCompile Include="..\base\CCRef.cpp" />
|
||||
<ClCompile Include="..\base\CCScheduler.cpp" />
|
||||
<ClCompile Include="..\base\CCScriptSupport.cpp" />
|
||||
|
@ -399,6 +400,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou
|
|||
<ClInclude Include="..\base\CCPlatformMacros.h" />
|
||||
<ClInclude Include="..\base\CCProfiling.h" />
|
||||
<ClInclude Include="..\base\CCProtocols.h" />
|
||||
<ClInclude Include="..\base\ccRandom.h" />
|
||||
<ClInclude Include="..\base\CCRef.h" />
|
||||
<ClInclude Include="..\base\CCRefPtr.h" />
|
||||
<ClInclude Include="..\base\CCScheduler.h" />
|
||||
|
|
|
@ -586,6 +586,9 @@
|
|||
<ClCompile Include="..\base\CCModuleManager.cpp">
|
||||
<Filter>base</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\base\ccRandom.cpp">
|
||||
<Filter>base</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\physics\CCPhysicsBody.h">
|
||||
|
@ -1189,6 +1192,9 @@
|
|||
<ClInclude Include="..\base\CCModuleManager.h">
|
||||
<Filter>base</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\base\ccRandom.h">
|
||||
<Filter>base</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\math\Mat4.inl">
|
||||
|
|
|
@ -56,7 +56,7 @@ static const char* INDEXNUM = "indexnum";
|
|||
static const char* INDICES = "indices";
|
||||
static const char* SUBMESH = "submesh";
|
||||
static const char* ATTRIBUTES = "attributes";
|
||||
static const char* SIZE = "size";
|
||||
static const char* ATTRIBUTESIZE = "size";
|
||||
static const char* TYPE = "type";
|
||||
static const char* ATTRIBUTE = "attribute";
|
||||
static const char* SKIN = "skin";
|
||||
|
@ -717,7 +717,7 @@ bool Bundle3D::loadMeshDatasJson(MeshDatas& meshdatas)
|
|||
{
|
||||
const rapidjson::Value& mesh_vertex_attribute_val = mesh_vertex_attribute[i];
|
||||
|
||||
int size = mesh_vertex_attribute_val[SIZE].GetInt();
|
||||
int size = mesh_vertex_attribute_val[ATTRIBUTESIZE].GetInt();
|
||||
std::string type = mesh_vertex_attribute_val[TYPE].GetString();
|
||||
std::string attribute = mesh_vertex_attribute_val[ATTRIBUTE].GetString();
|
||||
|
||||
|
@ -1009,7 +1009,7 @@ bool Bundle3D::loadMeshDataJson_0_1(MeshDatas& meshdatas)
|
|||
{
|
||||
const rapidjson::Value& mesh_vertex_attribute_val = mesh_vertex_attribute[i];
|
||||
|
||||
meshdata->attribs[i].size = mesh_vertex_attribute_val[SIZE].GetUint();
|
||||
meshdata->attribs[i].size = mesh_vertex_attribute_val[ATTRIBUTESIZE].GetUint();
|
||||
meshdata->attribs[i].attribSizeBytes = meshdata->attribs[i].size * 4;
|
||||
meshdata->attribs[i].type = parseGLType(mesh_vertex_attribute_val[TYPE].GetString());
|
||||
meshdata->attribs[i].vertexAttrib = parseGLProgramAttribute(mesh_vertex_attribute_val[ATTRIBUTE].GetString());
|
||||
|
@ -1053,7 +1053,7 @@ bool Bundle3D::loadMeshDataJson_0_2(MeshDatas& meshdatas)
|
|||
{
|
||||
const rapidjson::Value& mesh_vertex_attribute_val = mesh_vertex_attribute[i];
|
||||
|
||||
meshdata->attribs[i].size = mesh_vertex_attribute_val[SIZE].GetUint();
|
||||
meshdata->attribs[i].size = mesh_vertex_attribute_val[ATTRIBUTESIZE].GetUint();
|
||||
meshdata->attribs[i].attribSizeBytes = meshdata->attribs[i].size * 4;
|
||||
meshdata->attribs[i].type = parseGLType(mesh_vertex_attribute_val[TYPE].GetString());
|
||||
meshdata->attribs[i].vertexAttrib = parseGLProgramAttribute(mesh_vertex_attribute_val[ATTRIBUTE].GetString());
|
||||
|
|
|
@ -218,12 +218,77 @@ bool Sprite3D::initFrom(const NodeDatas& nodeDatas, const MeshDatas& meshdatas,
|
|||
createNode(it, this, materialdatas, nodeDatas.nodes.size() == 1);
|
||||
}
|
||||
}
|
||||
|
||||
for(const auto& it : nodeDatas.skeleton)
|
||||
{
|
||||
if(it)
|
||||
{
|
||||
createAttachSprite3DNode(it,materialdatas);
|
||||
}
|
||||
}
|
||||
genGLProgramState();
|
||||
|
||||
return true;
|
||||
}
|
||||
Sprite3D* Sprite3D::createSprite3DNode(NodeData* nodedata,ModelData* modeldata,const MaterialDatas& matrialdatas)
|
||||
{
|
||||
auto sprite = new Sprite3D();
|
||||
if (sprite)
|
||||
{
|
||||
auto subMeshState = SubMeshState::create(nodedata->id);
|
||||
subMeshState->setSubMesh(getSubMesh(modeldata->subMeshId));
|
||||
if (modeldata->matrialId == "" && matrialdatas.materials.size())
|
||||
{
|
||||
const NTextureData* textureData = matrialdatas.materials[0].getTextureData(NTextureData::Usage::Diffuse);
|
||||
subMeshState->setTexture(textureData->filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
const NMaterialData* materialData=matrialdatas.getMaterialData(modeldata->matrialId);
|
||||
if(materialData)
|
||||
{
|
||||
const NTextureData* textureData = materialData->getTextureData(NTextureData::Usage::Diffuse);
|
||||
if(textureData)
|
||||
{
|
||||
auto tex = Director::getInstance()->getTextureCache()->addImage(textureData->filename);
|
||||
if(tex)
|
||||
{
|
||||
Texture2D::TexParams texParams;
|
||||
texParams.minFilter = GL_LINEAR;
|
||||
texParams.magFilter = GL_LINEAR;
|
||||
texParams.wrapS = textureData->wrapS;
|
||||
texParams.wrapT = textureData->wrapT;
|
||||
tex->setTexParameters(texParams);
|
||||
subMeshState->setTexture(tex);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
sprite->setAdditionalTransform(&nodedata->transform);
|
||||
sprite->addSubMeshState(subMeshState);
|
||||
sprite->autorelease();
|
||||
sprite->genGLProgramState();
|
||||
}
|
||||
return sprite;
|
||||
}
|
||||
void Sprite3D::createAttachSprite3DNode(NodeData* nodedata,const MaterialDatas& matrialdatas)
|
||||
{
|
||||
for(const auto& it : nodedata->modelNodeDatas)
|
||||
{
|
||||
if(it && getAttachNode(nodedata->id))
|
||||
{
|
||||
auto sprite = createSprite3DNode(nodedata,it,matrialdatas);
|
||||
if (sprite)
|
||||
{
|
||||
getAttachNode(nodedata->id)->addChild(sprite);
|
||||
}
|
||||
}
|
||||
}
|
||||
for(const auto& it : nodedata->children)
|
||||
{
|
||||
createAttachSprite3DNode(it,matrialdatas);
|
||||
}
|
||||
}
|
||||
void Sprite3D::genGLProgramState()
|
||||
{
|
||||
std::unordered_map<Mesh*, GLProgramState*> glProgramestates;
|
||||
|
@ -322,43 +387,9 @@ void Sprite3D::createNode(NodeData* nodedata, Node* root, const MaterialDatas& m
|
|||
}
|
||||
else
|
||||
{
|
||||
auto sprite = new Sprite3D();
|
||||
auto sprite = createSprite3DNode(nodedata,it,matrialdatas);
|
||||
if (sprite)
|
||||
{
|
||||
auto subMeshState = SubMeshState::create(nodedata->id);
|
||||
subMeshState->setSubMesh(getSubMesh(it->subMeshId));
|
||||
if (it->matrialId == "" && matrialdatas.materials.size())
|
||||
{
|
||||
const NTextureData* textureData = matrialdatas.materials[0].getTextureData(NTextureData::Usage::Diffuse);
|
||||
subMeshState->setTexture(textureData->filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
const NMaterialData* materialData=matrialdatas.getMaterialData(it->matrialId);
|
||||
if(materialData)
|
||||
{
|
||||
const NTextureData* textureData = materialData->getTextureData(NTextureData::Usage::Diffuse);
|
||||
if(textureData)
|
||||
{
|
||||
auto tex = Director::getInstance()->getTextureCache()->addImage(textureData->filename);
|
||||
if(tex)
|
||||
{
|
||||
Texture2D::TexParams texParams;
|
||||
texParams.minFilter = GL_LINEAR;
|
||||
texParams.magFilter = GL_LINEAR;
|
||||
texParams.wrapS = textureData->wrapS;
|
||||
texParams.wrapT = textureData->wrapT;
|
||||
tex->setTexParameters(texParams);
|
||||
subMeshState->setTexture(tex);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
sprite->setAdditionalTransform(&nodedata->transform);
|
||||
sprite->addSubMeshState(subMeshState);
|
||||
sprite->autorelease();
|
||||
sprite->genGLProgramState();
|
||||
if(root)
|
||||
{
|
||||
root->addChild(sprite);
|
||||
|
@ -380,13 +411,9 @@ void Sprite3D::createNode(NodeData* nodedata, Node* root, const MaterialDatas& m
|
|||
}
|
||||
}
|
||||
}
|
||||
for(int i = 0; i < nodedata->children.size(); i++ )
|
||||
for(const auto& it : nodedata->children)
|
||||
{
|
||||
NodeData* childData = nodedata->children[i];
|
||||
if(childData)
|
||||
{
|
||||
createNode(childData,node, matrialdatas, singleSprite);
|
||||
}
|
||||
createNode(it,node, matrialdatas, singleSprite);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -140,6 +140,8 @@ CC_CONSTRUCTOR_ACCESS:
|
|||
void genGLProgramState();
|
||||
|
||||
void createNode(NodeData* nodedata, Node* root, const MaterialDatas& matrialdatas, bool singleSprite);
|
||||
void createAttachSprite3DNode(NodeData* nodedata,const MaterialDatas& matrialdatas);
|
||||
Sprite3D* createSprite3DNode(NodeData* nodedata,ModelData* modeldata,const MaterialDatas& matrialdatas);
|
||||
/**get SubMesh by Id*/
|
||||
SubMesh* getSubMesh(const std::string& subMeshId) const;
|
||||
void addSubMeshState(SubMeshState* subMeshState);
|
||||
|
|
|
@ -117,6 +117,7 @@ base/CCIMEDispatcher.cpp \
|
|||
base/CCModuleManager.cpp \
|
||||
base/CCNS.cpp \
|
||||
base/CCProfiling.cpp \
|
||||
base/ccRandom.cpp \
|
||||
base/CCRef.cpp \
|
||||
base/CCScheduler.cpp \
|
||||
base/CCScriptSupport.cpp \
|
||||
|
@ -210,10 +211,10 @@ LOCAL_EXPORT_LDLIBS := -lGLESv2 \
|
|||
-lz \
|
||||
-landroid
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_freetype2_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dxandroid_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_png_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos_freetype2_static
|
||||
LOCAL_STATIC_LIBRARIES += chipmunk_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_png_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dxandroid_static
|
||||
|
||||
# define the macro to compile through support/zip_support/ioapi.c
|
||||
LOCAL_CFLAGS := -DUSE_FILE32API
|
||||
|
|
|
@ -131,7 +131,7 @@ static ssize_t mydprintf(int sock, const char *format, ...)
|
|||
static void sendPrompt(int fd)
|
||||
{
|
||||
const char prompt[] = "> ";
|
||||
send(fd, prompt, sizeof(prompt),0);
|
||||
send(fd, prompt, strlen(prompt),0);
|
||||
}
|
||||
|
||||
static int printSceneGraph(int fd, Node* node, int level)
|
||||
|
|
|
@ -25,6 +25,7 @@ set(COCOS_BASE_SRC
|
|||
base/CCModuleManager.cpp
|
||||
base/CCNS.cpp
|
||||
base/CCProfiling.cpp
|
||||
base/ccRandom.cpp
|
||||
base/CCRef.cpp
|
||||
base/CCScheduler.cpp
|
||||
base/CCScriptSupport.cpp
|
||||
|
|
|
@ -69,16 +69,17 @@ simple macro that swaps 2 variables
|
|||
x = y; y = temp; \
|
||||
}
|
||||
|
||||
#include "base/ccRandom.h"
|
||||
|
||||
/** @def CCRANDOM_MINUS1_1
|
||||
returns a random float between -1 and 1
|
||||
*/
|
||||
#define CCRANDOM_MINUS1_1() ((2.0f*((float)rand()/RAND_MAX))-1.0f)
|
||||
#define CCRANDOM_MINUS1_1() cocos2d::rand_minus1_1()
|
||||
|
||||
/** @def CCRANDOM_0_1
|
||||
returns a random float between 0 and 1
|
||||
*/
|
||||
#define CCRANDOM_0_1() ((float)rand()/RAND_MAX)
|
||||
#define CCRANDOM_0_1() cocos2d::rand_0_1()
|
||||
|
||||
/** @def CC_DEGREES_TO_RADIANS
|
||||
converts degrees to radians
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/****************************************************************************
|
||||
Copyright (c) 2010 cocos2d-x.org
|
||||
Copyright (c) 2013-2014 Chukong Technologies Inc.
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#include "ccRandom.h"
|
||||
|
||||
std::mt19937 &cocos2d::RandomHelper::getEngine() {
|
||||
static std::random_device seed_gen;
|
||||
static std::mt19937 engine(seed_gen());
|
||||
return engine;
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
/****************************************************************************
|
||||
Copyright (c) 2010 cocos2d-x.org
|
||||
Copyright (c) 2013-2014 Chukong Technologies Inc.
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __ccRandom_H_
|
||||
#define __ccRandom_H_
|
||||
|
||||
#include "base/CCPlatformMacros.h"
|
||||
#include <random>
|
||||
|
||||
|
||||
NS_CC_BEGIN
|
||||
|
||||
class CC_DLL RandomHelper {
|
||||
public:
|
||||
template<typename T>
|
||||
static inline T random_real(T min, T max) {
|
||||
std::uniform_real_distribution<T> dist(min, max);
|
||||
auto &mt = RandomHelper::getEngine();
|
||||
return dist(mt);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
static inline T random_int(T min, T max) {
|
||||
std::uniform_int_distribution<> dist(min, max);
|
||||
auto &mt = RandomHelper::getEngine();
|
||||
return dist(mt);
|
||||
}
|
||||
private:
|
||||
static std::mt19937 &getEngine();
|
||||
};
|
||||
|
||||
/**
|
||||
* returns a random value between `min` and `max`
|
||||
*/
|
||||
template<typename T>
|
||||
inline T random(T min, T max) {
|
||||
return RandomHelper::random_int(min, max);
|
||||
}
|
||||
|
||||
template<>
|
||||
inline float random(float min, float max) {
|
||||
return RandomHelper::random_real(min, max);
|
||||
}
|
||||
|
||||
template<>
|
||||
inline long double random(long double min, long double max) {
|
||||
return RandomHelper::random_real(min, max);
|
||||
}
|
||||
|
||||
template<>
|
||||
inline double random(double min, double max) {
|
||||
return RandomHelper::random_real(min, max);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a random int between 0 and RAND_MAX
|
||||
*/
|
||||
inline int random() {
|
||||
return cocos2d::random(0, RAND_MAX);
|
||||
};
|
||||
|
||||
/**
|
||||
* returns a random float between -1 and 1
|
||||
*/
|
||||
inline float rand_minus1_1() {
|
||||
return cocos2d::random(-1.f, 1.f);
|
||||
};
|
||||
|
||||
/**
|
||||
* returns a random float between 0 and 1
|
||||
*/
|
||||
inline float rand_0_1() {
|
||||
return cocos2d::random(0.f, 1.f);
|
||||
};
|
||||
|
||||
NS_CC_END
|
||||
#endif //__ccRandom_H_
|
|
@ -348,6 +348,11 @@ struct CC_DLL BlendFunc
|
|||
return src == a.src && dst == a.dst;
|
||||
}
|
||||
|
||||
bool operator!=(const BlendFunc &a) const
|
||||
{
|
||||
return src != a.src || dst != a.dst;
|
||||
}
|
||||
|
||||
bool operator<(const BlendFunc &a) const
|
||||
{
|
||||
return src < a.src || (src == a.src && dst < a.dst);
|
||||
|
|
|
@ -31,7 +31,7 @@ NS_CC_BEGIN
|
|||
|
||||
CC_DLL const char* cocos2dVersion()
|
||||
{
|
||||
return "cocos2d-x 3.2";
|
||||
return "cocos2d-x 3.3";
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
|
|
@ -29,8 +29,8 @@ THE SOFTWARE.
|
|||
#define __COCOS2D_H__
|
||||
|
||||
// 0x00 HI ME LO
|
||||
// 00 03 02 00
|
||||
#define COCOS2D_VERSION 0x00030200
|
||||
// 00 03 03 00
|
||||
#define COCOS2D_VERSION 0x00030300
|
||||
|
||||
//
|
||||
// all cocos2d include files
|
||||
|
@ -154,6 +154,10 @@ THE SOFTWARE.
|
|||
#include "renderer/ccShaders.h"
|
||||
#include "renderer/CCTexture2D.h"
|
||||
#include "renderer/CCTextureCache.h"
|
||||
#include "renderer/CCVertexIndexBuffer.h"
|
||||
#include "renderer/CCVertexIndexData.h"
|
||||
#include "renderer/CCPrimitive.h"
|
||||
#include "renderer/CCPrimitiveCommand.h"
|
||||
|
||||
// physics
|
||||
#include "physics/CCPhysicsBody.h"
|
||||
|
|
|
@ -36,7 +36,7 @@ $(LOCAL_PATH) \
|
|||
$(LOCAL_PATH)/../../..
|
||||
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_extension_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos_extension_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -516,9 +516,6 @@ void ColorFrame::onEnter(Frame *nextFrame)
|
|||
_betweenGreen = color.g - _color.g;
|
||||
_betweenBlue = color.b - _color.b;
|
||||
}
|
||||
|
||||
_node->setCascadeColorEnabled(true);
|
||||
_node->setCascadeOpacityEnabled(true);
|
||||
}
|
||||
|
||||
void ColorFrame::apply(float percent)
|
||||
|
|
|
@ -71,8 +71,8 @@ $(LOCAL_PATH)/../..
|
|||
LOCAL_CFLAGS += -fexceptions
|
||||
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_ui_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos_ui_static
|
||||
LOCAL_STATIC_LIBRARIES += cocosdenshion_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/..
|
|||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \
|
||||
$(LOCAL_PATH)/..
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2dx_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \
|
|||
$(LOCAL_PATH)/..
|
||||
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += libwebsockets_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_curl_static
|
||||
LOCAL_STATIC_LIBRARIES += libwebsockets_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -65,6 +65,8 @@ public:
|
|||
static void setAccelerometerInterval(float interval);
|
||||
|
||||
static Data getTextureDataForText(const char * text, const FontDefinition& textDefinition, TextAlign align, int &width, int &height, bool& hasPremultipliedAlpha);
|
||||
|
||||
static void setKeepScreenOn(bool value);
|
||||
|
||||
private:
|
||||
CC_DISALLOW_IMPLICIT_CONSTRUCTORS(Device);
|
||||
|
|
|
@ -202,6 +202,12 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
void Device::setKeepScreenOn(bool value)
|
||||
{
|
||||
setKeepScreenOnJni(value);
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
||||
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
|
||||
|
|
|
@ -34,6 +34,7 @@ import android.os.Build;
|
|||
import android.os.Bundle;
|
||||
import android.os.Message;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
import android.util.Log;
|
||||
import android.widget.FrameLayout;
|
||||
import android.preference.PreferenceManager.OnActivityResultListener;
|
||||
|
@ -58,6 +59,16 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe
|
|||
return sContext;
|
||||
}
|
||||
|
||||
public void setKeepScreenOn(boolean value) {
|
||||
final boolean newValue = value;
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mGLSurfaceView.setKeepScreenOn(newValue);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void onLoadNativeLibraries() {
|
||||
try {
|
||||
ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
|
||||
|
|
|
@ -167,6 +167,10 @@ public class Cocos2dxHelper {
|
|||
Cocos2dxHelper.sAccelerometerEnabled = false;
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.disable();
|
||||
}
|
||||
|
||||
public static void setKeepScreenOn(boolean value) {
|
||||
((Cocos2dxActivity)sActivity).setKeepScreenOn(value);
|
||||
}
|
||||
|
||||
public static void preloadBackgroundMusic(final String pPath) {
|
||||
Cocos2dxHelper.sCocos2dMusic.preloadBackgroundMusic(pPath);
|
||||
|
|
|
@ -209,6 +209,16 @@ void disableAccelerometerJni() {
|
|||
}
|
||||
}
|
||||
|
||||
void setKeepScreenOnJni(bool value) {
|
||||
JniMethodInfo t;
|
||||
|
||||
if (JniHelper::getStaticMethodInfo(t, CLASS_NAME, "setKeepScreenOn", "(Z)V")) {
|
||||
t.env->CallStaticVoidMethod(t.classID, t.methodID, value);
|
||||
|
||||
t.env->DeleteLocalRef(t.classID);
|
||||
}
|
||||
}
|
||||
|
||||
// functions for UserDefault
|
||||
bool getBoolForKeyJNI(const char* key, bool defaultValue)
|
||||
{
|
||||
|
|
|
@ -39,6 +39,7 @@ extern std::string getFileDirectoryJNI();
|
|||
extern void enableAccelerometerJni();
|
||||
extern void disableAccelerometerJni();
|
||||
extern void setAccelerometerIntervalJni(float interval);
|
||||
extern void setKeepScreenOnJni(bool value);
|
||||
// functions for UserDefault
|
||||
extern bool getBoolForKeyJNI(const char* key, bool defaultValue);
|
||||
extern int getIntegerForKeyJNI(const char* key, int defaultValue);
|
||||
|
|
|
@ -477,6 +477,11 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
|
|||
return ret;
|
||||
}
|
||||
|
||||
void Device::setKeepScreenOn(bool value)
|
||||
{
|
||||
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
||||
#endif // CC_PLATFORM_IOS
|
||||
|
|
|
@ -499,6 +499,10 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
|
|||
return ret;
|
||||
}
|
||||
|
||||
void Device::setKeepScreenOn(bool value)
|
||||
{
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
||||
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_LINUX
|
||||
|
|
|
@ -247,6 +247,11 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
|
|||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Device::setKeepScreenOn(bool value)
|
||||
{
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
||||
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_MAC
|
||||
|
|
|
@ -451,6 +451,10 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
|
|||
return ret;
|
||||
}
|
||||
|
||||
void Device::setKeepScreenOn(bool value)
|
||||
{
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
||||
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_WIN32
|
||||
|
|
|
@ -163,6 +163,10 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
|
|||
return ret;
|
||||
}
|
||||
|
||||
void Device::setKeepScreenOn(bool value)
|
||||
{
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
||||
#endif // (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) || (CC_TARGET_PLATFORM == CC_PLATFORM_WP8)
|
||||
|
|
|
@ -53,7 +53,7 @@ static void _checkPath()
|
|||
if (s_pszResourcePath.empty())
|
||||
{
|
||||
// TODO: needs to be tested
|
||||
s_pszResourcePath = convertPathFormatToUnixStyle(CCFileUtilsWinRT::getAppPath() + '\\' + "Assets\\Resources" + '\\');
|
||||
s_pszResourcePath = convertPathFormatToUnixStyle(CCFileUtilsWinRT::getAppPath() + '\\' + "Assets\\res" + '\\');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -135,6 +135,25 @@ void CCPrecompiledShaders::loadPrecompiledPrograms()
|
|||
#endif
|
||||
}
|
||||
|
||||
void CCPrecompiledShaders::addPrecompiledProgram(const char* key, const unsigned char* program, int programLength)
|
||||
{
|
||||
std::string id = key;
|
||||
PrecompiledProgram* p = nullptr;
|
||||
auto it = m_precompiledPrograms.find(id);
|
||||
if (it != m_precompiledPrograms.end())
|
||||
{
|
||||
p = it->second;
|
||||
}
|
||||
else
|
||||
{
|
||||
p = new PrecompiledProgram();
|
||||
m_precompiledPrograms[id] = p;
|
||||
}
|
||||
p->key = key;
|
||||
p->program = program;
|
||||
p->length = programLength;
|
||||
}
|
||||
|
||||
bool CCPrecompiledShaders::loadProgram(GLuint program, const GLchar* vShaderByteArray, const GLchar* fShaderByteArray)
|
||||
{
|
||||
std::string id = computeHash(vShaderByteArray, fShaderByteArray);
|
||||
|
|
|
@ -70,6 +70,7 @@ public:
|
|||
*/
|
||||
static CCPrecompiledShaders* getInstance();
|
||||
|
||||
void addPrecompiledProgram(const char* key, const unsigned char* program, int programLength);
|
||||
std::string addShaders(const GLchar* vShaderByteArray, const GLchar* fShaderByteArray);
|
||||
bool addProgram(GLuint program, const std::string& id);
|
||||
|
||||
|
|
|
@ -55,8 +55,8 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../../external/lua/tolua \
|
|||
$(LOCAL_PATH)/../manual/cocos2d
|
||||
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := luajit_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
|
||||
LOCAL_STATIC_LIBRARIES := luajit_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos2dx_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -76,8 +76,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../auto \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/3d
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos3d_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos3d_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -97,8 +97,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../auto \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/cocosdenshion
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocosdenshion_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES := cocosdenshion_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos2d_lua_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -134,8 +134,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../manual/network \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/network
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_network_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -156,8 +156,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../manual/cocosbuilder \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/cocosbuilder
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocosbuilder_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -179,8 +179,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../manual/cocostudio \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/cocostudio
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocostudio_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -201,8 +201,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../manual/spine \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/spine
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += spine_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -223,8 +223,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../manual/extension \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/extension
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_extension_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
@ -246,8 +246,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../manual/ui \
|
|||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../manual/ui
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_ui_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_ui_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../..
|
|||
LOCAL_CFLAGS += -Wno-psabi
|
||||
LOCAL_EXPORT_CFLAGS += -Wno-psabi
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2dx_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -42,8 +42,8 @@ $(LOCAL_PATH)/../.. \
|
|||
$(LOCAL_PATH)/../editor-support
|
||||
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_extension_static
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -533,6 +533,7 @@ void PageView::interceptTouchEvent(TouchEventType event, Widget *sender, Touch *
|
|||
{
|
||||
case TouchEventType::BEGAN:
|
||||
{
|
||||
_touchBeganPosition = touch->getLocation();
|
||||
_isInterceptTouch = true;
|
||||
}
|
||||
break;
|
||||
|
@ -540,6 +541,7 @@ void PageView::interceptTouchEvent(TouchEventType event, Widget *sender, Touch *
|
|||
{
|
||||
float offset = 0;
|
||||
offset = fabs(sender->getTouchBeganPosition().x - touchPoint.x);
|
||||
_touchMovePosition = touch->getLocation();
|
||||
if (offset > _childFocusCancelOffset)
|
||||
{
|
||||
sender->setHighlighted(false);
|
||||
|
@ -550,6 +552,7 @@ void PageView::interceptTouchEvent(TouchEventType event, Widget *sender, Touch *
|
|||
case TouchEventType::CANCELED:
|
||||
case TouchEventType::ENDED:
|
||||
{
|
||||
_touchEndPosition = touch->getLocation();
|
||||
handleReleaseLogic(touch);
|
||||
if (sender->isSwallowTouches())
|
||||
{
|
||||
|
|
|
@ -1573,10 +1573,10 @@ void ScrollView::interceptTouchEvent(Widget::TouchEventType event, Widget *sende
|
|||
case TouchEventType::MOVED:
|
||||
{
|
||||
float offset = (sender->getTouchBeganPosition() - touchPoint).getLength();
|
||||
_touchMovePosition = touch->getLocation();
|
||||
if (offset > _childFocusCancelOffset)
|
||||
{
|
||||
sender->setHighlighted(false);
|
||||
_touchMovePosition = touch->getLocation();
|
||||
handleMoveLogic(touch);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -393,6 +393,8 @@
|
|||
"cocos/base/ccFPSImages.c",
|
||||
"cocos/base/ccFPSImages.h",
|
||||
"cocos/base/ccMacros.h",
|
||||
"cocos/base/ccRandom.cpp",
|
||||
"cocos/base/ccRandom.h",
|
||||
"cocos/base/ccTypes.cpp",
|
||||
"cocos/base/ccTypes.h",
|
||||
"cocos/base/ccUTF8.cpp",
|
||||
|
|
|
@ -12,7 +12,7 @@ LOCAL_SRC_FILES := main.cpp \
|
|||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -188,14 +188,14 @@ Classes/ZwoptexTest/ZwoptexTest.cpp
|
|||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocosbuilder_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos3d_static
|
||||
LOCAL_STATIC_LIBRARIES := cocosbuilder_static
|
||||
LOCAL_STATIC_LIBRARIES += cocosdenshion_static
|
||||
LOCAL_STATIC_LIBRARIES += spine_static
|
||||
LOCAL_STATIC_LIBRARIES += cocostudio_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_network_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos_extension_static
|
||||
LOCAL_STATIC_LIBRARIES += box2d_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos3d_static
|
||||
|
||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/Classes
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ LOCAL_SRC_FILES := main.cpp
|
|||
|
||||
LOCAL_C_INCLUDES := ../../Classes
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_cpp_tests_common
|
||||
LOCAL_STATIC_LIBRARIES := cocos_cpp_tests_common
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -185,6 +185,7 @@
|
|||
<ClCompile Include="..\..\..\..\cocos\platform\wp8-xaml\cpp\EditBoxEvent.cpp" />
|
||||
<ClCompile Include="..\..\Classes\BaseTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\BugsTest\Bug-Child.cpp" />
|
||||
<ClCompile Include="..\..\Classes\Camera3DTest\Camera3DTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\ChipmunkTest\ChipmunkTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\ClippingNodeTest\ClippingNodeTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\ConfigurationTest\ConfigurationTest.cpp" />
|
||||
|
@ -228,6 +229,7 @@
|
|||
<ClCompile Include="..\..\Classes\ReleasePoolTest\ReleasePoolTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\ShaderTest\ShaderTest2.cpp" />
|
||||
<ClCompile Include="..\..\Classes\SpineTest\SpineTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\Sprite3DTest\DrawNode3D.cpp" />
|
||||
<ClCompile Include="..\..\Classes\Sprite3DTest\Sprite3DTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\TexturePackerEncryptionTest\TextureAtlasEncryptionTest.cpp" />
|
||||
<ClCompile Include="..\..\Classes\TileMapTest\TileMapTest2.cpp" />
|
||||
|
@ -383,6 +385,7 @@
|
|||
<ClInclude Include="..\..\Classes\Box2DTestBed\Tests\MobileBalanced.h" />
|
||||
<ClInclude Include="..\..\Classes\Box2DTestBed\Tests\MotorJoint.h" />
|
||||
<ClInclude Include="..\..\Classes\BugsTest\Bug-Child.h" />
|
||||
<ClInclude Include="..\..\Classes\Camera3DTest\Camera3DTest.h" />
|
||||
<ClInclude Include="..\..\Classes\ChipmunkTest\ChipmunkTest.h" />
|
||||
<ClInclude Include="..\..\Classes\ClippingNodeTest\ClippingNodeTest.h" />
|
||||
<ClInclude Include="..\..\Classes\ConfigurationTest\ConfigurationTest.h" />
|
||||
|
@ -429,6 +432,7 @@
|
|||
<ClInclude Include="..\..\Classes\ReleasePoolTest\ReleasePoolTest.h" />
|
||||
<ClInclude Include="..\..\Classes\ShaderTest\ShaderTest2.h" />
|
||||
<ClInclude Include="..\..\Classes\SpineTest\SpineTest.h" />
|
||||
<ClInclude Include="..\..\Classes\Sprite3DTest\DrawNode3D.h" />
|
||||
<ClInclude Include="..\..\Classes\Sprite3DTest\Sprite3DTest.h" />
|
||||
<ClInclude Include="..\..\Classes\TexturePackerEncryptionTest\TextureAtlasEncryptionTest.h" />
|
||||
<ClInclude Include="..\..\Classes\TileMapTest\TileMapTest2.h" />
|
||||
|
|
|
@ -325,6 +325,9 @@
|
|||
<Filter Include="Classes\ExtensionsTest\CocoStudioActionTimelineTest">
|
||||
<UniqueIdentifier>{dff38415-43e7-4aff-98ec-c6094899d142}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Classes\Camera3DTest">
|
||||
<UniqueIdentifier>{d17dc00f-2b4d-46af-a1ff-c3f4d937d621}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\Classes\AppDelegate.cpp">
|
||||
|
@ -858,6 +861,12 @@
|
|||
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScale9SpriteTest.cpp">
|
||||
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Classes\Sprite3DTest\DrawNode3D.cpp">
|
||||
<Filter>Classes\Sprite3DTest</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Classes\Camera3DTest\Camera3DTest.cpp">
|
||||
<Filter>Classes\Camera3DTest</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\Classes\AppDelegate.h">
|
||||
|
@ -1590,6 +1599,12 @@
|
|||
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScale9SpriteTest.h">
|
||||
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Classes\Sprite3DTest\DrawNode3D.h">
|
||||
<Filter>Classes\Sprite3DTest</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\Classes\Camera3DTest\Camera3DTest.h">
|
||||
<Filter>Classes\Camera3DTest</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\external\curl\prebuilt\wp8\arm\libcurl.dll" />
|
||||
|
|
|
@ -13,7 +13,7 @@ LOCAL_SRC_FILES := main.cpp \
|
|||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
|
||||
$(LOCAL_PATH)/../../../../external
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -12,9 +12,9 @@ LOCAL_SRC_FILES := main.cpp \
|
|||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
|
||||
$(LOCAL_PATH)/../../../../../external/lua/tolua \
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += network_lua_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocosdenshion_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += network_lua_static
|
||||
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
|
|
@ -17,8 +17,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
|
|||
$(LOCAL_PATH)/../../../../../cocos/scripting/lua-bindings/manual\controller \
|
||||
$(LOCAL_PATH)/../../../../../cocos/base
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocosdenshion_static
|
||||
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
|
|
@ -13,15 +13,15 @@ LOCAL_SRC_FILES += main.cpp \
|
|||
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../Classes
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += network_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += spine_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += extension_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += ui_lua_static
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES += cocos3d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocosdenshion_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += network_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocosbuilder_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocostudio_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += spine_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += extension_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += ui_lua_static
|
||||
LOCAL_STATIC_LIBRARIES += cocos3d_lua_static
|
||||
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit b2a0338f0a6d51878ce96c4e0521d083e232e67b
|
||||
Subproject commit 802e261172e2f3b49d1feed20935a53820694ab2
|
Loading…
Reference in New Issue