Commit Graph

1388 Commits

Author SHA1 Message Date
HALX99 1b2e112383
fix etc1 supported for android platform. 2019-12-02 23:01:06 +08:00
halx99 2f4109dd2d Refactor audio, fix android compile issue since we remove SimpleAudio 2019-12-01 13:45:49 +08:00
HALX99 3d1cfdb7a0
Update javaactivity-android.cpp 2019-12-01 03:15:14 +08:00
halx99 95aa5b12c4 usedefault, fix compile issue for android 2019-12-01 02:32:37 +08:00
halx99 040aebc7a3 fix compile issue 2019-12-01 01:38:30 +08:00
halx99 1ed0a85613 Add ZipFileStream support 2019-12-01 01:16:46 +08:00
HALX99 e1b27ab8bc
Update CCFileUtils-android.cpp 2019-11-30 23:57:35 +08:00
HALX99 c1a0e57c41
Update CCFileUtils.cpp 2019-11-28 09:59:18 +08:00
halx99 02c18d656a use S_ISREG to check is a regular file? 2019-11-27 15:41:30 +08:00
halx99 4a040efbf6 a. use win32 api to get fie size; b. use int64_t for file size, c. use stat to check whether file exist for android platform. 2019-11-27 15:09:45 +08:00
halx99 d716d9511e Remove unused function. 2019-11-27 14:44:30 +08:00
halx99 2a6cda73d7 don't convert path to utf-8 on win32 platform 2019-11-27 14:34:40 +08:00
halx99 6078a4c922 Make writeValueMapToFile works well with pugixml. 2019-11-25 20:26:29 +08:00
halx99 3ef5ab500c Use '/' instead "/" for find & string append. 2019-11-25 17:10:25 +08:00
HALX99 764109d93e
Update CCSAXParser.cpp 2019-11-25 14:46:56 +08:00
halx99 797e85ba30 Remove getSuitableFopen, we never reduce performance for win32 only 2019-11-25 02:54:00 +08:00
halx99 30ffbe1514 Improve CCImage, BMP support. 2019-11-25 02:28:38 +08:00
halx99 2c55d175d3 Merge branch 'master' of https://github.com/simdsoft/engine-v5 2019-11-24 23:16:11 +08:00
halx99 98a3bd35f0 Remove tinyxml, integrate dragonbones. 2019-11-24 23:15:56 +08:00
halx99 cac329738d Use xsxml for sax parser, rapidxml could be removed 2019-11-24 21:01:15 +08:00
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