Commit Graph

1368 Commits

Author SHA1 Message Date
halx99 97e81e8180 Refactor CCDownloader, use curl for all platforms. 2019-11-24 15:43:28 +08:00
halx99 a759332591 Refactor AudioEngine implementation, use OpenAL for all platforms. 2019-11-24 14:54:45 +08:00
halx99 c180c29d32 for MTL layer 2019-11-22 22:10:55 -08:00
halx99 22d5008d28 PremultipliedAlpha 2019-11-22 01:39:03 +08:00
halx99 e647820c9c Merge from official-v4. 2019-11-20 18:27:56 +08:00
halx99 e7906acfa4 v4-meta-multi-textures support Single Texture2D with multi GPU texture handlers. 2019-11-20 18:19:24 +08:00
minggo 83b521991f
fix issue that can not close keyboard if using EditBox on iOS (#20336) (#20340) 2019-11-15 13:45:39 +08:00
coulsonwang facf78a22b add opengl header since Texture2D and Image will use opengl define (#20322)
* add opengl header since Texture2D and Image will use opengl define

* update review
2019-11-13 17:46:40 +08:00
minggo 3aa7a73df2
Sync 20303 (#20308)
* fix infinite loop

* fix issue that touch event does not match
If click area ouside keyboard, then engine only receive touch begin event witouth touch end or touch cancled event.
2019-11-08 11:03:12 +08:00
minggo afbf817ec0
fix testfiled issue on iOS13 (#20296) 2019-11-06 16:11:37 +08:00
minggo 0cbaec9f29
don't set glview transparent, it many cause afterimage (#20298) (#20299) 2019-11-06 16:10:16 +08:00
minggo 01ff6ddd66
delete useless files and clean codes (#20279) 2019-11-06 14:24:06 +08:00
coulsonwang 251eaa2033 fix crash due to iOS13 UIWindowScene (#20271) 2019-10-30 17:43:07 +08:00
coulsonwang d35a1dee45 fix crash due to iOS13 UIWindowScene 2019-10-30 13:55:52 +08:00
minggo c9af873e2e
fix some warnings (#20247) 2019-10-25 16:40:30 +08:00
coulsonwang 6dbbb4cc0a remove the comment of enableRetina for mac (#20249) 2019-10-25 15:39:59 +08:00
minggo be038d9ffc
fix some warnings (#20236) 2019-10-25 09:27:54 +08:00
minggo 8bf83dcf3a
Sync 20209 (#20233)
* fix issue: TextField can not receive characters(non number or english… (#20209)
2019-10-24 17:19:18 +08:00
Arnold 11a1f820e2 [v4] add unzip test code (#20219) 2019-10-22 13:47:07 +08:00
minggo cbf3233b59
Rename cocos2d::MessageBox to cocos2d::ccMessageBox. (#20159) (#20218) 2019-10-17 14:28:35 +08:00
minggo e86f22940a
Remove tinyxml2 from CCSaxParser implement. (#20141) (#20217) 2019-10-17 11:14:28 +08:00
minggo c816d2967b
Fix include order for Win32. (#20216) 2019-10-17 11:14:15 +08:00
coulsonwang 327407d59b fix full screen issue (#20202)
need resize depth and stencil attachment texture as well.
2019-10-15 09:38:51 +08:00
coulsonwang c7020fbb5f fix C4244 warning (#20173) 2019-10-09 17:50:32 +08:00
minggo 77a47957a7
set software mode will slow down performance (#20155) 2019-09-24 14:29:14 +08:00
minggo f3b09563f8
Mac label v4 (#20125)
* fix system font issue on macOS Catalina
2019-09-17 13:35:19 +08:00
Arnold 55f6f6d6e7 [bugfix] Fileutils iOS isDirectory (#20079) 2019-09-04 10:03:38 +08:00
coulsonwang 48e0d7d3a6 resize metal drawable (#20074) 2019-08-31 20:10:32 +08:00
minggo 5e40f5e6a5
remove tiff (#20047) 2019-08-20 15:15:40 +08:00
minggo 8913c30fc0
fix compile warnings (#20028) 2019-08-13 18:19:32 +08:00
minggo 1444263612
remove app from recent apps when exit (#19961) (#20020) 2019-08-13 17:31:29 +08:00
rh101 e574e4984f Added support for saving non-premultiplied alpha images from RenderTexture. (#19990) 2019-07-26 17:09:00 +08:00
minggo 0d121d7913
remove void in function declaration (#19954) 2019-07-22 09:38:46 +08:00
minggo 29ce64b123
Fix cocos2d-js issue: Font height was not getting calculated properly in iOS. (#19926) (#19952) 2019-07-22 09:38:15 +08:00
minggo 77a72052c8
sync 19811: android_allowBackup2 (#19945) 2019-07-22 09:36:51 +08:00
coulsonwang de8cf4c45b set default frameBufferOnly to false for ios (#19915) 2019-07-15 09:28:18 +08:00
Arnold 3620633fd8 [lua] remove simulator code from template project (#19862)
* update template'

* fix compile error
2019-06-25 18:14:50 +08:00
coulsonwang 1b6c3a7173 setFrameBufferOnly to false when necessary (#19843) 2019-06-18 18:05:22 -07:00
coulsonwang 7a94e66a14 Feature/fix alpha test (#19824) 2019-06-18 00:25:26 -07:00
patricejiang 85b72ca88a
pollEvents in loop 2019-06-11 10:16:20 +08:00
coulsonwang 9dc04bf228 remove opengl codes (#19797) 2019-06-05 02:58:33 -07:00
coulsonwang 89ba801628 add compressed format for metal (#19762) 2019-06-03 03:34:28 -07:00
coulsonwang 10b2799051 Feature/fix mipmap issues (#19753)
* fix mipmap

* fix mipmap issues

* remove unneeded code

* fix

* remove Texture2D::PixelFormat, add backend::PixelFormat

* fix lua compile error

* reset *.tps files

* fix compile error

* fix compile error
2019-06-02 18:39:51 -07:00
minggo 39a051a58d
use CC_SAFE_DELETE_ARRAY instead of CC_SAFE_DELETE (#19580) (#19727) 2019-05-17 00:42:51 -07:00
minggo a572d088d1
check metal support (#19710) 2019-05-14 01:38:14 -07:00
Arnold 6dc547080f [cpp-tests] fix fileutils list file, reject empty paths (#19681)
* protect empty string

* enable tests cases
2019-05-08 19:21:25 -07:00
Arnold d6b8e994a4 fix mac retina support (#19672) 2019-05-07 18:07:52 -07:00
Arnold 1ac3af6c90 compile & run on linux (#19651) 2019-05-04 19:57:53 -07:00
coulsonwang 7ee0b65bb6 [Feature] fix spirte, label test when EGL context lost (#19612)
* [BugFix] fix compile error

* [Feature] fix spirte, label test when EGL context lost

* [Feature] map uniform location

* [Feature] remove unneeded codes

* [Feature] add BufferManager

* [Feature] fix compile error

* [Feature] add files

* [Feature] remove unneeded codes

* [Feature] no need to release opengl resource

* [Feature] update BufferManager

* 1. reCreate frame buffer when needed.
2. initial texture when come back to foreground

* [Feature] add Program and Buffer event listener

* [FixTerrain] need check location had used before

* fix compile error

* add updateTextureDescrptor function for TextureMTL, since TextureMTL creation was move to Texture2D constructor.

* [FixDrawNode] record buffer data when needed

* [FixShaderTest] add nullptr judgement

* [FixShaderText] no need to reCreate ProgramState when come back to foreground

* [FixRenderTexture] retain the render texture image

* [Feature] optimize buffer memory

* fix compile error

* fix CI test fail
2019-04-29 18:51:45 -07:00
minggo fd792813d2
Optimize calls to std::string::find() and friends (#19624) 2019-04-21 18:44:19 -07:00
minggo c3a0205652
ReFix bug: PremultipliedAlpha is not working for png (#19597) 2019-04-10 18:33:26 -07:00
minggo ffcf627c13
Ui video player new style looping input options 2019-04-10 18:33:05 -07:00
minggo 5c29e0066f
Add Android P cutout area support (#19595)
* Add Android P cutout area support
Related #19285

* coding style fix

* Update AppActivity.java

Fix android build

* suppress lint new api errors
2019-04-10 18:32:27 -07:00
minggo 195dc704e3
[Android] fix FileUtils::listFiles with path 'assets/' 2019-04-10 00:09:30 -07:00
minggo 86a9e0c1b8
Fix bug: can't play video in obbfile. (#19476) (#19586)
* Fix bug: can't play video in obbfile.

* Change check order.
2019-04-09 22:38:32 -07:00
Arnold 45183919e9 [windows] use PostMessage to replace SendMessage (#19567)
* make async

* use post message
2019-04-01 23:41:38 -07:00
coulsonwang d92ae4b478 [Feature] CaptureScreen works (#19547) 2019-03-27 18:09:26 -07:00
coulsonwang 39c6359ec0 remove poll events in application loop 2019-03-25 20:01:32 -07:00
Arnold edf3687af5 [3d] add motionstreak3d (#19414) 2019-02-20 16:56:35 +08:00
minggo 8d9bd925c9
metal support for cocos2d-x (#19305)
* remove deprecated files

* remove some deprecated codes

* remove more deprecated codes

* remove ui deprecated codes

* remove more deprecated codes

* remove deprecated codes in ccmenuitem

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes

* remove more deprecated codes

* remove more deprecated codes

* remove vr related codes and ignore some modules

* remove allocator

* remove some config

* 【Feature】add back-end project file

* [Feature] add back-end file

* add pipeline descriptor and shader cache

* [Feature] support sprite for backend

* [Feature] remove unneeded code

* [Feature] according to es2.0 spec, you must use clamp-to-edge as  texture wrap mode, and no mipmapping for non-power-of-two texture

* [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture

* [Feature] remove macro define to .cpp file

* [Feature] add log info

* [Feature] add PipelineDescriptor for TriangleCommand

* [Feature] add PipelineDescriptor object as member of TriangleCommand

* [Feature] add getPipelineDescriptor method

* add renderbackend

* complete pipeline descriptor

* [Feature] add viewport in RenderCommand

* set viewport when rendrering

* [Feature] occur error when using RendererBackend, to be fixed.

* a workaround to fix black screen on macOS 10.14 (#19090)

* add rendererbackend init function

* fix typo

* [Feature] modify testFile

* [BugFix] modify shader path

* [Feature] set default viewport

* fix projection

* [Feature] modify log info

* [BugFix] change viewport data type to int

* [BugFix] add BindGroup to PipelienDescriptor

* [BugFix] change a_position to vec3 in sprite.vert

* [BugFix] set vertexLayout according to V3F_C4B_T2F structure

* [Feature] revert a_position to vec4

* [Feature] renderer should not use gl codes directly

* [Feature] it's better not use default value parameter

* fix depth test setting

* rendererbackend -> renderer

* clear color and depth at begin

* add metal backend

* metal support normalized attribute

* simplify codes

* update external

* add render pass desctriptor in pipeline descriptor

* fix warnings

* fix crash and memeory leak

* refactor Texture2D

* put pipeline descriptor into render command

* simplify codes

* [Feature] update Sprite

* fix crash when closing app

* [Feature] update SpriteBatchNode and TextureAtlas

* support render texture(not finish)

* [Feature] remove unused code

* make tests work on mac

* fix download-deps path error

* make tests work on iOS

* [Feature] support ttf under normal label effect

* refactor triangle command processing

* let renderer handle more common commands

* refactor backend

* make render texture work

* [Feature] refactor backend for GL

* [Feature]Renaming to make it easy to understand

* [Feature] change warp mode to CLAMP_TO_EDGE

* fix ghost

* simplify visit render queue logic

* support progress timer without rial mode

* support partcile system

* Feature/update label (#149)

* [BugFix] fix compile error

* [Feature] support outline effect in ios

* [Feature] add shader file

* [BugFix] fix begin and end RenderPass

* [Feature] update CustomCommand

* [Feature] revert project.pbxproj

* [Feature] simplify codes

* [BugFix] pack AI88 to RGBA8888 only when outline enable

* [Feature] support shadow effect in Label

* [Feature] support BMFont

* [Feature] support glow effect

* [Feature] simplify shader files

* LabelAtlas work

* handle blend function correctly

* support tile map

* don't share buffer in metal

* alloc buffer size as needed

* support more tilemap

* Merge branch 'minggo/metal-support' into feature/updateLabel

* minggo/metal-support:
  support tile map
  handle blend function correctly
  LabelAtlas work
  Feature/update label (#149)
  support partcile system

# Conflicts:
#	cocos/2d/CCLabel.cpp
#	cocos/2d/CCSprite.cpp
#	cocos/2d/CCSpriteBatchNode.cpp
#	cocos/renderer/CCQuadCommand.cpp
#	cocos/renderer/CCQuadCommand.h

* render texture work without saving file

* use global viewport

* grid3d works

* remove grabber

* tiled3d works

* [BugFix] fix label bug

* [Feature] add updateSubData for buffer

* [Feature] remove setVertexCount

* support depth test

* add callback command

* [Feature] add UITest

* [Feature] update UITest

* [Feature] remove unneeded codes

* fix custom command issue

* fix layer color blend issue

* [BugFix] fix iOS compile error

* [Feature] remove unneeded codes

* [Feature] fix updateVertexBuffer

* layerradial works

* add draw test back

* fix batch issue

* fix compiling error

* [BugFix] support ETC1

* [BugFix] get the correct pipelineDescriptor

* [BugFix]  skip draw when backendTexture nullptr

* clipping node support

* [Feature] add shader files

* fix stencil issue in metal

* [Feature] update UILayoutTest

* [BugFix] skip drawing when vertexCount is zero

* refactor renderer

* add set global z order for stencil manager commands

* fix warnings caused by type

* remove viewport in render command

* [Feature] fix warnings caused by type

* [BugFix] clear vertexCount and indexCount for CustomComand when needed

* [Feature] update clear for CustomCommand

* ios use metal

* fix viewport issue

* fix LayerColorGradient crash

* [cmake] transport to android and windows (#160)

* save point 1

* compile on windows

* run on android

* revert useless change

* android set CC_ENABLE_CACHE_TEXTURE_DATA to 1

* add initGlew

* fix android crash

* add TODO new-renderer

* review update

* revert onGLFWWindowPosCallback

* fix android compiling error

* Impl progress radial (#162)

* progresstimer add radial impl

* default drawType to element

* dec invoke times of createVertexBuffer (#163)

* support depth/stencil format for gl backend

* simplify progress timer codes

* support motionstreak, effect is wrong

* fix motionstreak issue

* [Feature] update Scissor Test (#161)

* [Feature] update Scissor Test

* [Feature] update ScissorTest

* [Feature] rename function

* [Feature] get constant reference if needed

* [Feature] show render status (#164)

* improve performance

* fix depth state

* fill error that triangle vertex/index number bigger than buffer

* fix compiline error in release mode

* fix buffer conflict between CPU and GPU on iOS/macOS

* Renderer refactor (#165)

* use one vertes/index buffer with opengl

* fix error on windows

* custom command support index format config

* CCLayer: compact vertex data structure

* update comment

* fix doc

* support fast tilemap

* pass index format instead

* fix some wrong effect

* fix render texture error

* fix texture per-element size

* fix texture format error

* BlendFunc type refactor, GLenum -> backend::BlendFactor  (#167)

* BlendFunc use backend::BlendFactor as inner field

* update comments

* use int to replace GLenum

* update xcode project fiel

* rename to GLBlendConst

* add ccConstants.h

* update xcode project file

* update copyright

* remove primitive command

* remove CCPrimitive.cpp/.h

* remove deprecated files

* remove unneeded files

* remove multiple view support

* remove multiple view support

* remove the usage of frame buffer in camera

* director don't use frame buffer

* remove FrameBuffer

* remove BatchCommand

* add some api reference

* add physics2d back

* fix crash when close app on mac

* improve render texture

* fix rendertexture issue

* fix rendertexture issue

* simplify codes

* CMake support for mac & ios (#169)

* update cmake

* fix compile error

* update 3rd libs version

* remove CCThread.h/.cpp

* remove ccthread

* use audio engine to implement simple audio engine

* remove unneeded codes

* remove deprecated codes

* remove winrt macro

* remove CC_USE_WIC

* set partcile blend function in more elegant way

* remove unneeded codes

* remove unneeded codes

* cmake works on windows

* update project setting

* improve performance

* GLFloat -> float

* sync v3 cmake improvements into metal-support (#172)

* pick: modern cmake, compile definitions improvement (#19139)

* modern cmake, use target_compile_definitions partly

* simplify macro define, remove USE_*

* modern cmake, macro define

* add physics 2d macro define into ccConfig.h

* remove USE_CHIPMUNK macro in build.gradle

* remove CocosSelectModule.cmake

* shrink useless define

* simplify compile options config, re-add if necessary

* update external for tmp CI test

* un-quote target_compile_options value

* add "-g" parameter only when debug mode

* keep single build type when generator Xcode & VS projecy

* update external for tmp CI tes

* add static_cast<char>(-1), fix -Wc++11-narrowing

* simplify win32 compile define

* not modify code, only improve compile options

# Conflicts:
#	.gitignore
#	cmake/Modules/CocosConfigDepend.cmake
#	cocos/CMakeLists.txt
#	external/config.json
#	tests/cpp-tests/CMakeLists.txt

* modern cmake, improve cmake_compiler_flags (#19145)

* cmake_compiler_flags

* Fix typo

* Fix typo2

* Remove chanages from Android.mk

*  correct lua template cmake build (#19149)

* don't add -Wno-deprecated into jsb target

* correct lua template cmake build

* fix win32 lua template compile error

* prevent cmake in-source-build friendly (#19151)

* pick: Copy resources to "Resources/" on win32 like in linux configuration

* add "/Z7" for cpp-tests on windows

* [cmake] fix iOS xcode property setting failed (#19208)

* fix iOS xcode property setting failed

* use search_depend_libs_recursive at dlls collect

* fix typo

* [cmake] add find_host_library into iOS toolchain file (#19230)

* pick: [lua android] use luajit & template cmake update (#19239)

* increase cmake stability ,  remove tests/CMakeLists.txt (#19261)

* cmake win32 Precompiled header (#19273)

* Precompiled header

* Fix

* Precompiled header for cocos

* Precompiled header jscocos2d

* Fix for COCOS2D_DEBUG is always 1 on Android (#19291)

Related #19289

* little build fix, tests cpp-tests works on mac

* sync v3 build related codes into metal-support (#173)

* strict initialization for std::array

* remove proj.win32 project configs

* modern cmake, cmake_cleanup_remove_unused_variables (#19146)

* Switch travis CI to xenial (#19207)

* Switch travis CI to xenial

* Remove language: android

* Set language: cpp

* Fix java problem

* Update sdkmanager

* Fix sdkmanger

* next sdkmanager fix

* Remove xenial from android

* revert to sdk-tools-{system}-3859397

* Remove linux cmake install

* Update before-install.sh

* Update .travis.yml

* Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212)

* Simplify install-deps-linux.sh

* Cleanup

* pick: install ninja

* update cocos2d-console submodule

* for metal-support alpha release, we only test cpp

* add HelloCpp into project(Cocos2d-x) for tmp test

* update extenal metal-support-4

* update uniform setting

* [Feature] update BindGroup

* [Feature] empty-test

* [Feature] cpp-test

* [Feature] fix GL compiler error

* [Feature] fix GL crash

* [Feature] empty-test

* [Feature] cpp-tests

* [feature] improve frameRate

* [feature] fix opengl compile error

* [feature] fix opengl compile error

* [BugFix] fix compute maxLocation error

* [Feature] update setting unifrom

* [Feature] fix namespace

* [Feature] remove unneeded code

* [Bugfix] fix project file

* [Feature] update review

* [texture2d] impl texture format support  (#175)

* texture update

* update

* update texture

* commit

* compile on windows

* ddd

* rename

* rename methods

* no crash

* save gl

* save

* save

* rename

* move out pixel format convert functions

* metal crash

* update

* update android

* support gles compressed texture format

* support more compress format

* add more conversion methods

* ss

* save

* update conversion methods

* add PVRTC format support

* reformat

* add marco linux

* fix GL marcro

* pvrtc supported only by ios 8.0+

* remove unused cmake

* revert change

* refactor Texture2D::initWithData

* fix conversion log

* refactor Texture2D::initWithData

* remove some OpenGL constants for PVRTC

* add todo

* fix typo

* AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174)

* review cpp-tests, and fix part issues on start auto test

* sync png format fix: Node:Particle3D abnormal texture effects #19204

* fix cpp-tests SpritePolygon crash, wrong png format (#19170)

* fix wrong png convert format from sRGB to Gray

* erase plist index if all frames was erased

* test_A8.png have I8 format, fix it

* [CCSpriteCache] allow re-add plist & add testcase (#19175)

* allow re-add plist & add testcase

* remove comments/rename method/update testcase

* fix isSpriteFramesWithFileLoaded & add testcase

* remove used variable

* remove unused variable

* fix double free issues when js/lua-tests exit on iOS (#19236)

* disable part cases, AutoTest works without crash on mac

* update cocos2dx files json, to test cocos new next

* fix spritecache plist parsing issue (#19269)

* [linux] Fix FileUtils::getContents with folder (#19157)

* fix FileUtils::getContents on linux/mac

* use stat.st_mode

* simplify

* [CCFileUtils] win32 getFileSize (#19176)

* win32 getFileSize

* fix stat

* [cpp test-Android]20:FileUtils/2 change title (#19197)

* sync #19200

* sync #19231

* [android lua] improve performance of lua loader (#19234)

* [lua] improve performance of lua loader

* remove cache fix

* Revert "fix spritecache plist parsing issue (#19269)"

This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf.

* remove win32 project files ref in template.json

* add metal framework lnk ref into cpp template

* test on iOS, and disable part cases

* alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227)

* changes AudioCache to use alBufferData instead of alBufferDataStatic

(also makes test 19 faster to trigger openal bugs faster)

The original problem: CrashIfClientProvidedBogusAudioBufferList
https://github.com/cocos2d/cocos2d-x/issues/18948
is not happening anymore, but there's still a not very frequent issue
that makes OpenAL crash with a call stack like this.
AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList

It happes more frequently when the device is "cold", which means after
half an hour of not using the device (locked).

I could not find the actual source code for iOS OpenAL, so I used the
macOS versions:
https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html

They seem to use CAGuard.h to make sure the dead buffer list
has no threading issues. I'm worried because the CAGuard code I found
has macos and win32 define but no iOS, so I'm not sure. I guess the
iOS version is different and has the guard.

I could not find a place in the code that's unprotected by the locks
except the InitializeBufferMap() which should not be called more than
once from cocos, and there's a workaround in AudioEngine-impl for it.

I reduced the occurence of the CleanUpDeadBufferList crash by moving
the guard in ~AudioCache to cover the alDeleteBuffers call.

* remove hack method "setTimeout" on audio

* AutoTest works on iOS

* support set ios deployment target for root project

* enable all texture2d cases, since Jiang have fixed

* add CCTextureUtils to xcode project file (#176)

* add leak cases for SpriteFrameCache (#177)

* re-add SpriteFrameCache cases

* update template file json

* Update SpriteFrameCacheTest.cpp

* fix compiling error
2019-01-18 15:08:25 +08:00
Arnold 19c9e922eb cocos2d::JniHelper::* long type convert error (#19101)
* fix type

* remove redundant
2018-10-16 17:00:33 +08:00
Arnold 1ceb222c7f concat path error (#19075)
when trying to remove dir `test0`, the function will build a pattern
like `"test0*.*"` rather than `test0/*.*`
2018-10-08 11:51:36 +08:00
leda 98120fb9d8
refactor cmake on use libs (#19054)
* link external build by modern cmake

* use "--whole-archive" for part android spec

* update travis

* update CI, add cmake tests on win32
2018-09-24 20:16:04 -07:00
Arnold 6ea37d4c9d [linux] CCFileUtils::isFileExistInternal should reject a folder (#19062)
* accept regular file only

* simplify code
2018-09-21 10:02:19 +08:00
Arnold f8ed20e4b3 Android: CCFileUtils listFiles impl (#19044) 2018-09-19 18:05:16 +08:00
leda e0210bd870
shorten the android build path, reduce long path error (#19045)
* remove import-add-path

* add module path into gradle

* modify PROP_BUILD_TYPE to ndk-build for tmp test

* import-module uv into ndk-build scripts

* part lib rename in Android.mk

* fix build path error on Lua&JS test project

* shorten all libs name, except external libs related

* "_static" suffix isn't necessary, since all internal build is static

* little catch

* re-change to cmake as default build type

* add both build type into Travis for android

* update external libs name

* fix gradlew cmd error

* update external config
2018-09-17 11:54:39 +08:00
Arnold f352225f14 CCFileUtils: improve thread safety (use single recursive_mutex) (#19046)
* CCFileUtils: add const modifier

* mac: add const

* android: add const

* use recursive_mutex

* win: add const modifier

* mac: revert

* android: add const

* rename __guard__ to mutexGuard
2018-09-17 10:47:41 +08:00
gestern 368684d13d Android: Adds supporting edge screens (#19043)
* Android: Adds supporting edge screens

* Update CCGLViewImpl-android.h

* getSafeAreaRect(): Specifying indentation

Specifying indentation if the scale factor is different for grid
2018-09-15 16:45:22 +08:00
minggo 7dcee2bcf9
Remove ccglstatecache (#19013) 2018-09-11 14:39:30 +08:00
verketh 482c9eb8ca add image format check for Image::saveToFile in CCImage-ios.mm (#18986)
IOS保存灰度图崩溃
2018-09-10 16:35:31 +08:00
Guilherme Gibertoni 6fb631e68e fix background music may resumes even though the application is on the background (#19005)
If the device is locked or sleeps
Then the application that was running on foreground will be dismissed and trigger a onWindowsFocusChanged(true) event while the game is already on background
2018-09-10 16:06:43 +08:00
ggggamer cf56f96a14 ClassLoader.loadClass use 'Binary names'. (#19011) 2018-09-10 15:06:19 +08:00
Arnold fc09d1af05 disable auto URI encode in AsyncHttp client, fix #18949 (#18957) 2018-07-23 21:32:52 +08:00
CHP 2bab501cac Update android build tools to 27.0.3 (#18952)
* Update gradle and android gradle plugin

* Update android build tools to 27.0.3
2018-07-22 13:58:58 +08:00
Stewart Imel c84c5761a1 fix typos and grammar in comments (#18853) 2018-05-30 20:41:59 +08:00
Valera 0519685f72 Add methods to change window icons on windows and linux (#18833)
* Add GLViewImpl::setIcon and GLViewImpl::setDefaultIcon for windows and linux

* Include CCImage.h only if required

* Fix empty icon image

* Fix windows build

* [skip ci] Replace `{ return; }` with `{}`

* Add icon test to cpp-empty-test

* [skip ci] Replace TABs with spaces, add comments

* Chnage requested things, fix formatting

* Fix define

* Fix ios build
2018-05-23 09:29:49 +08:00
newnon b940d7dcdb Аdded the ability not to stop sound & music on game start in android and changed default behaviour to not stop (#18640) 2018-05-15 14:30:05 +08:00
Peter Siegmund bac694dc55 fix reorder warning (#18819) 2018-05-14 10:34:56 +08:00
leda 391f30a3f3 beauty cmake format, reduce duplicate defines (#18799)
* reduce cmake module duplicate

* make module use more clear, correct cmake style

* keep default physics option

* delete the modules distributed with cmake

* unify the cmake files format

* use AndroidNdkModules at cmake sys modules

* add cmake comments for win

* update cocos2dx files list, manually
2018-05-02 15:33:01 +08:00
François Perrad 2991a18fae CMake: avoid unsafe header path when cross-compiling (#18782) 2018-04-23 09:04:45 +08:00
leda 86ea3a8aee cmake add collect headers list, unify the logic of source add (#18722)
* fix mistake for ios lua template

* auto select headers depend on sources

* change cmake "cocos_build_app" from macro to function

* fix cmake dll repeat copy

* update travis srcipt

* add header list for cocos lib

* add header list in cmake files

* re-add include dir Classes

* improve template cpp var name

* remove func get_headers_by_sources

* cmake add simulator header list

* make source and header collect more clear

* improve macos app pkg

* improve ios pkg, run failed

* revert the ios pak logic, keep older

* expand var APP_BIN_DIR scope

* fix use sqlite3 error on linux

* fix win32 compile error

* remove multi-add mistake

* try to fix python install issue on travis

* fix js-tests build on android

* uninstall old python in travis

* add travis  python print info

* fix command ll to ls -l

* remove useless link

* PYTHON_BIN adapt homebrew python
2018-03-14 13:51:29 +08:00
Jordi Vilalta Prat 239b63e207 Fix infinite loop when counting text lines on Android (#18710)
In some situations, breakText() can return 0, which leads to an infinite
loop. In that case we just increase the index so the measuring doesn't
get stuck.
2018-03-09 10:01:17 +08:00
Dimon4eg 74daac0751 Support Belarusian language (#18658)
* Support Belarusian language

* Fixed code duplication - moved language convertion code to ccUtils

* added Belarusian language for all platforms

* Fix ios/mac build errors
2018-02-11 09:19:47 +08:00
leeda edee97278f V3 android cmake support, add mac/ios support (#18646)
* CMake build improvements

* android cmake support

* Enable proguard for cocos2d

* examples & test cmake support

* add android build type param to gradle.properties file

* less warnings

* update all android configs to recomended settings

* fix network cmake error

* fix js-tests cmake error

* android build config, add cmake

* android build config, add cmake

* add lua share lib

* android lua cmake build fix

* fix

* luajit test

* run fail, still

* fix js-warning

* correct lua main include

* lua test project cmake support android

* try to add lua-template cmake support

* lua template fix

* js_tests support cmake on android

* js-tests improve

* cmake support js-template

* test to realise prebuild

* cmake improve, no feature

* improve templates cmake

* refactor cmake struct

* correct cpp-tests cmake

* cpp-templates cmake improve

* typo fix

* cmake struct refator

* change default option

* adapt new project struct

* uniform cmake test style

* add_dependencies to support make -j

* little struct improve

* little fix

* adapt cmake bin dir

* little improve about cmake version

* change build all tests condition

* add source_group for Xcode

* add mark source files

* add more mark source code

* add template project to test

* add macos info.plist template

* add pak macos for all project

* lua test icon fix

* not consider lua project for now

* modify pak method

* add another ios toolchain

* add ios system library

* update ios toolchain, and reduce ios compile errors

* reduce error

* make ios engine lib compile pass

* cpp-empty-test ios bundle

* cpp-tests ios support

* js-tests ios support

* templates project support ios

* fix the way of lua-tests package

* try to fix lua-template on macOS

* comment lua-template sim file

* improve display on xcode

* update cmake readme

* check android compile again

* fix android compile error

* fix linux cmake res error

* update deps version, for cmake

* fix lua_template linux compile error

* close android cmake support for now

* review template android share library name

* change PROP_BUILD_TOOLS_VERSION version to 27.0.1

* change android compile version

* make `PROP_APP_PLATFORM` back, add comments for android native build

* Revert "make `PROP_APP_PLATFORM` back, add comments for android native build"

This reverts commit 272ddc19886891b9502cde070753a870c0fdb588.
2018-02-08 09:24:33 +08:00
leeda 18a6d8241d update Copyright. might need manual fix later (#18659)
* Copyright use python script updated. might be fix by manual later

* Revert "Copyright use python script updated. might be fix by manual later"

This reverts commit 49e99418e4da1fd02afda448ddeb16210f5e8c71.

* re modify copyright, consider utf-8-sig encoding

* another situation, add Copyright before  "Permission is hereby granted"

* Revert "another situation, add Copyright before  "Permission is hereby granted""

This reverts commit ee82591d32353c7ce2e146fe51ef447433b47571.

* another situation, add Copyright before Permission is hereby granted

* change "Copyright (c) 2016-2016 Chukong Technologies Inc." to " Copyright (c) 2016 Chukong Technologies Inc."

* script modify copyright, consider is cocos copyright or not

* change "Copyright (c) 2017 Chukong Technologies Inc." to "Copyright (c) 2016 Chukong Technologies Inc."

* manual fix, not fix audio related

* change "2016-2016" to "2016"
2018-01-29 16:25:32 +08:00
newnon 2ff42bb38e V3 static analize fixes (#18638)
* fix different problems founded by static analize

* fix bad render assert

* Fix misprint

* reverted calloc in CCScheduler
2018-01-19 13:40:41 +08:00
newnon 5d006192aa V3 multisampling support (#18632)
* Multisampling support

* fix opengl initialization with multisampling

* fix merge conflict

* reverted default attributes
2018-01-19 09:28:22 +08:00
monkey256 5ddf8fb596 Fix a crash bug when the UserDefault.xml file is empty. (#18626)
* Fix a crash bug when the UserDefault.xml file is empty.

* Fix a crash bug when play multiple timeline animations.

* Fix a crash bug when loading .plist files.

* Fix code style.
2018-01-19 09:25:58 +08:00
newnon 7e27c250b1 android emulator stensil fix (#18637)
* android emulator stensil fix

* Android emulator fix changed to comment
2018-01-19 09:24:53 +08:00
newnon 881e5d12c7 add one more android return buttons (#18636) 2018-01-18 09:42:28 +08:00
minggo c36c9824d9
Revert "fix keyback bug after opened a page (#18153)" (#18601)
This reverts commit 6d50a844d4.
2018-01-02 10:38:02 +08:00
Sevellion 6d50a844d4 fix keyback bug after opened a page (#18153)
bug happen when:
1.implement keyback in a scene
2.implement webview in that scene and load a default URL
3.click any link and wait for it to load
4.press key back, the implemented keyback will not be called
2018-01-02 10:37:38 +08:00
Peter Siegmund bbdd289a62 Fix gradlew build (#18592)
* fixed ProGuard rule file

* add missing VIBRATE permission

* move permission to correct position in AndroidManifest.xml
2017-12-27 09:36:11 +08:00
James Chen 89781a44df Fixes ResizableBufferAdapter<Data>::resize doesn't consider the situation of new size which is lower than old size. (#18553) 2017-12-12 17:49:11 +08:00
jjinglover 5f8fde8669 fix keyBoard bug when input chinese on winrt platform (#18516) 2017-11-29 09:21:06 +08:00
Priority10 b9b3640d45 Update CCGLView.cpp (#18508) 2017-11-28 09:30:41 +08:00
mschoi17 9eb7e3242e Add comments for Cocos2dxSound.java (#18512)
Add comments for Cocos2dxSound.java
2017-11-27 17:10:07 +08:00
James Chen 14bca227e8 fixed #18474: Provides an interface for getting SafeArea (#18489)
* fixed #18474: Provides an interface for getting SafeArea

* Adds getSafeAreaRect test demo in cpp-empty-test.

* @available(iOS 11.0, *) isn't supported in Xcode8. So we use the old way.
2017-11-23 09:34:23 +08:00
Mozart Louis bb479e4f6d Android Studio 3.0 + Switching to libc++ (c++_static) + Simplify PROP_* values + Adding default Proguard Config for cocos (#18470)
* Updated android build process to use c++_static

* Comment out org.gradle.jvmargs

* Updated all project in test directory

* Update C++ Template

* Update js and lua projects

* Update Proguard + Lower minSdkVersion to 14

* Added All PROP_* values + updated build.gradle

* Updated versions
2017-11-23 09:08:50 +08:00
mschoi17 86f5d4cff8 fix comments for JniHelper.h (#18481)
update #18477
2017-11-21 11:36:10 +08:00
mschoi17 fd8658e22f Add Comments for JniHelper.h (#18477)
* Add Comments for JniHelper.h

* Update JniHelper.h
2017-11-20 10:41:56 +08:00
James Chen db11024924 Reverts add search path logic in PR #17435 . (#18419)
If the last search path is _defaultResRootPath, addSearchPath(path) should not force that the last path is still default resource root path.
I made this mistake and broke the compatibiliy, since I thought resource root path definitely is low priority while search in most case. However, I should not make this assumption.

Anyway, dear developers, thanks for all of you review cocos2d-x source code. I accept any suggestion, any blame. I think everyone makes mistake more or less.
The key point is that `PLEASE DON'T MAKE THE SAME MISTAKE SECOND TIME, THIRD TIME`.
So please don't blame our developers who makes mistakes. We need to work together with all our developers to make our engine better and better.

And in fact, I never think that I deal with cocos2d-x source code as my 'own branch' although I contributed lots of code to it. I didn't push any code to repo directly since I sent Pull Requests. Every one could review code and comment in pull request. We encourage more communication with our developers in github or the forum. You could say GOOD , BAD or SHIT, but please do your best to respect every developer who made a contribution.

Thanks all of you. Good luck!
2017-11-06 10:41:01 +08:00
Dimon4eg 527dfd4579 Fix 60 fps for android (#18445) 2017-11-06 10:30:52 +08:00
minggo 1d356a160a
remove vs2013 libs (#18439) 2017-11-03 10:53:14 +08:00
Nikita 28b1953411 Revert #18327 (#18436) 2017-11-03 10:02:50 +08:00
Felippe Durán d651298d3e Fix bug of returning UNKNOWN event for return type key SEARCH/SEND in EditBox for Android and SEARCH for iOS. (#18192) 2017-11-01 17:33:31 +08:00
minggo b53eb25200
use prebuilt version of Box2D (#18422) 2017-10-31 14:31:23 +08:00
sbrednikhin 6cd2c0c340 Fix for issue #18409 (#18410)
Remove unnecessary PLTE chunk from png.
2017-10-26 11:39:50 +08:00
minggo 33135d0d14 remove unneeded log (#18406) 2017-10-26 10:12:53 +08:00
pyrosphere 09d73ae238 Fix accelerometer on android when screen is rotated on reverse landscape or reverse portrait. (#18317) 2017-10-20 10:05:07 +08:00
Knox 0d37220beb [ci skip]EditBox::setText() may crash on some Android devices 2017-09-28 10:59:03 +08:00
Knox 78a167fec1 [ci skip]when keyboard is popup, engine should not continue to handle touch events 2017-09-28 10:25:25 +08:00
minggo f2db054edb [ci skip]fix android violation (#18309) 2017-09-25 09:28:03 +08:00
Jeff Wang bd59575468 fix #18296 (#18299)
fix #18296
2017-09-22 11:56:51 +08:00
minggo b275a3e2f0 fix conflict 2017-09-20 09:11:35 +08:00
minggo 66471154b0 do not compile unneeded file (#18290) 2017-09-20 09:05:27 +08:00
minggo 36f7f3c37e Merge branch 'v3.16' of github.com:cocos2d/cocos2d-x into syn-v316 2017-09-13 11:18:39 +08:00
James Chen 6318324f4d [android] Fixes Cocos2dxActivity is re-created which causes crash if launching app first time and re-opening from icon (#18247) 2017-09-12 09:38:54 +08:00
minggo aca7c86739 set default search path to the path the same as .exe file (#18226) 2017-09-07 11:22:00 +08:00
minggo e161b613a4 make jnihelper thread safe (#18189) 2017-09-06 15:07:01 +08:00
Dmitry 6e013b5a8a fixed GLViewImpl::getMonitorSize() for desktop platforms (#18141) 2017-08-22 14:06:53 +08:00
newnon 9815ccba62 Fix android problem (#18142) 2017-08-22 09:52:28 +08:00
newnon a8026b0136 fix android problem with 24 bit depth buffer on some devices (#18148) 2017-08-22 09:43:07 +08:00
James Chen 8adf780a3c fixed #17989: touch stops responding on android devices. (#18165)
It's caused by `FileUtils::getContents` is invoked in different threads and we use EventDispatcher::dispatchCustomEvent in `FileUtilsAndroid::getContents` to send an event to EngineDataManager.
Since EngineDataManager class is only for internal use and EventDispatcher isn't thread-safe, we make `EngineDataManager::onBeforeReadFile` public and invoke it `FileUtilsAndroid::getContents`.
2017-08-21 23:28:59 +08:00
newnon 9f98e4cf83 less warnings (#18144) 2017-08-14 22:31:31 +08:00
bulzipke b5d871d53c Hide virtual button by user control. (#18100)
* Hide virtual button by user control.
It want a lot of people, including me.

http://discuss.cocos2d-x.org/t/solved-android-navigation-bar/31760/3
http://discuss.cocos2d-x.org/t/android-cocos2d-v3-12-about-virtual-button/30811/5
http://joyplot.com/documents/2016/09/27/cocos2d-x-navigation-bar/
http://falstar.hateblo.jp/entry/2016/07/10/180112

* I also added the lua/js template.
Thank you for your work :)
2017-08-07 11:12:26 +08:00
minggo cdac595a68 fix iOS deltatime (#18084)
* fix ios delta time when resumes from background

* remove debug codes
2017-07-18 14:01:53 +08:00
minggo a6773f408a fix crash if there are more than 10 touches (#18082) 2017-07-18 09:47:12 +08:00
minggo 7da188734d use VAO/VBO to improve performance (#18066) 2017-07-17 15:16:42 +08:00
Wilson E. Alvarez bdfb71b05b Moved GLFWEventHandler to its corresponding header (#18063) 2017-07-13 17:34:28 +08:00
minggo 78e2bf5f93 do not use custom EGLContextFactory (#18062)
it will crash on some devices
2017-07-13 17:21:25 +08:00
minggo e7c69e253a fix invalid dt at start on iOS release mode (#18041) 2017-07-10 10:06:25 +08:00
halx99 78e0cbfc5f Use CurrentDirectory as defaultSearchRoot on Win32 (#18017)
Default, CurrentDirectory equals to ExeDir, but it's more  flexible, and will not break compatible.
2017-07-06 10:24:18 +08:00
afpro fec74ac549 CCImage.cpp misuse CC_USE_PNG (#18015) 2017-07-04 14:17:17 +08:00
minggo 4ce443bac2 use prebuilt version of bullet (#17950)
* use prebuilt bullet

* prebuilt bullet work ok on linux

* update search path

* update search path

* fix compiling issue for lua/jsb projects

* prebuilt bullet work on windows

* update 3rd party lib version

* add bullet search path

* fix script bindings issue

* fix scripting binding
2017-06-21 13:39:38 +08:00
Wilson E. Alvarez 0f75d3ac5a Added missing header for NDK v15 (#17943) 2017-06-20 09:04:51 +08:00
minggo 48c44d6a1a remove "system" usage (#17921)
* remove "system" usage
"system" is removed in iOS 11

* android uses old method
2017-06-15 11:07:08 +08:00
James Chen 845e177885 Uses better configuration for huawei optimization and remove rapidjson dependence in EngineDataManager (#17909)
* Uses better configuration for huawei optimization (#17838)

* Uses better configuration for huawei optimization

* Updates jar file and uncomment fps controlling code

* Sync code from 2.x
2017-06-08 17:06:46 +08:00
Undume 72ad341d24 Webview opacity and background transparency (#17831)
* Added three new methods for UiWebView. SetOpacityWebView(float), getOpacityWebView(), setBackgroundTransparent() in IOS

* Implemented methods for UiWebView. SetOpacityWebView(float), getOpacityWebView(). They only work using android sdk +11.

* New methods not implemented for Tizen.

* Added new button for testing the opacity in the cocos2d-x test application.

* Added setBackgroundTransparent to android, and his UI-Test.

* Added setBackgroundTransparent to android, and his UI-Test.

* Added keyword const to the getters.

* Android sdk reflection. +11sdk for chaging the opacity.

* Reflection used for the webview.setLayerType, webview.setAlpha, webview.getAlpha

* Unified exceptions.
2017-06-07 16:12:32 +08:00
minggo c7899de857 only create gles 2 context (#17901) 2017-06-07 13:34:07 +08:00
minggo 4ca29ac1cf Merge v3.15.1 (#17897)
* remove APP_SHORT_COMMANDS setting (#17722)

some developers report it will cause error on Windows though i can not reproduce it. It is strange, the setting is used to resolve command length limitation on Windows.

* Particle font size should be a const value (#17676)

* Particle font size should be a const value

* Minor fix: CCStencilStateManager.hpp -> CCStencilStateManager.h in xcode project.

* JSB SocketIO.connect supports to pass a CA cert file (#17736)

* JSB SocketIO.connect supports to pass a CA cert file

* The second parameter of SocketIO.connect function is probably a `option` object. JSB just ignores it.

* The optimization for huawei. (#17832)

* The optimization for huawei.

* setAnimationInterval fix for all platforms.

* disable debug

* include fix.

* Uses better configuration for huawei optimization (#17838)

* Uses better configuration for huawei optimization

* Updates jar file and uncomment fps controlling code

* [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#17840)

* update release not and version (#17845)

* [android] Removes an unused variable sRegistered in Cocos2dxActvity.java. (#17861)

* Updates jar to resolve warning while packaging APK file. (#17863)

* update release date (#17870)

* fix compiling error
2017-06-05 13:37:50 +08:00
minggo 8fcf0d7fd9 fix gradle setting (#17896) 2017-06-05 11:35:48 +08:00
hellobody 92e713bb1c fix to problem with updating APK in Google Play keeping old OBB (#17689)
* fix to problem with updating APK in Google Play keeping OBB from previous version

This patch fixes the problem when we are unable to keep OBB from previous version when we are uploading new .apk to Google Play.
It was discussed here:
http://discuss.cocos2d-x.org/t/problem-with-updating-apk-in-google-play-keeping-obb-from-previous-version-because-versioncode-changes/36039

* check for null pointer added

Found an issue which could lead to a crash because of null pointer exception.
If pathToOBB doesn't exist then File.list will return null which will cause fileNames array be null.
Now it is fixed.
2017-05-26 09:37:29 +08:00
minggo 013d8525ca make fps stable on iOS (#17852) 2017-05-23 08:46:13 +08:00
minggo 54962ee509 LayerRadialGradient works on mac and iOS (#17826)
* LayerRadialGradient works on mac and iOS

* fix radius

* finish LayerRadialGradient and add test case

* use local coordinate in shader

* adjust function attributes

* implement getCenter()

* add some comments
2017-05-22 13:42:00 +08:00
Vladimir Perminov 52b35acf95 [Win32,WinRT] Fix listFiles and listFilesRecursively use unicode. (#17813)
* [Win32,WinRT] Fix listFiles and listFilesRecursively use unicode.

1. Incorrect convertation to unicode
if (length != fullpath.size()) correct only ASCII char.
2. For convert unicode exist api, to avoid errors.
3. Equal first char on '.' - error
Need check full name file on "." and "..", otherwise exclude file and
folder begin '.'

Now not use macro UNICODE, for easy use unicode convert api(Otherwise,
you need to connect different versions WinRT and Win32).

* Fix minggo remark.

* Move to specific platform section.
2017-05-18 09:18:18 +08:00
子龙山人 48f6d1c0e5 Refactoring editbox and system label on win32 platform (#17828)
* refactoring windows editbox

* refactoring win32 system label

* fix jenkins ci issue

* remove unneeded function call
2017-05-17 16:20:21 +08:00
Vladimir Perminov 6753c6e98b [WinRT] Fix removeDirectory unicode. (#17812)
CCFileUtilsWinRT::removeDirectory need ut8 string.
temp is wstring(unicode).
2017-05-15 17:10:36 +08:00
zilongshanren 7695269e44 fix invisible issue 2017-05-10 17:32:58 +08:00
zilongshanren ad614a2952 remove unused variable declare 2017-05-10 16:54:09 +08:00