Commit Graph

2454 Commits

Author SHA1 Message Date
halx99 adc97af519 Optimize YAsioTest, see #150 2020-08-10 00:20:29 +08:00
aismann c5f1e242e3
Polygon looks correct now
Tested with Clipper 6.x and new poly2tri
2020-08-08 09:57:17 +02:00
halx99 b142167560 Huge changes, move spine,dragonbones,cocostudio to extensions folder, future make all extensions pluginable 2020-08-03 17:51:40 +08:00
aismann 1c811d857a
The switch to the third monitor was not working 2020-08-03 08:34:19 +02:00
halx99 6f274a8003 Set full screen before layout renderer elements to ensure VisibleRect is correct with full screen window size 2020-08-02 16:55:21 +08:00
halx99 aa59cf6876 Add wav testcase 2020-08-01 19:25:39 +08:00
Eismann 253f82a894 Add tests for Fullscreen Monitor 3
Add tests for Fullscreen Monitor 3 (if present)
2020-08-01 07:12:29 +02:00
Eismann 8c71708323 Revert "Revert "Update NewAudioEngineTest.cpp""
This reverts commit 379c099b2d.
2020-08-01 06:55:33 +02:00
Eismann 379c099b2d Revert "Update NewAudioEngineTest.cpp"
This reverts commit 87232d61b1.
2020-08-01 06:54:56 +02:00
Eismann 87232d61b1 Update NewAudioEngineTest.cpp
"wav-samples/8kadpcm.wav" not existing.
2020-08-01 06:49:44 +02:00
halx99 a70b43af1e Remove a submodules. 2020-07-20 18:41:45 +08:00
halx99 87635cfa81 fix compile issue 2020-07-10 16:00:21 +08:00
halx99 40cb068201 finish issue: #85 2020-05-06 15:42:25 +08:00
halx99 313d4dc2a1 Update deps to v33 2020-03-03 23:17:38 +08:00
halx99 e379fc513d Refactor CCValue. 2020-03-03 19:24:07 +08:00
weiwest 89105d0db2 Merge remote-tracking branch 'upstream/master' 2020-02-12 16:58:47 +08:00
weiwest 9496d34470 add astc soft decode support 2020-02-11 23:54:17 +08:00
weiwest dbc089d51d add astc support 8x8 block size 2020-02-06 21:54:45 +08:00
weiwest a6edda385b add astc support 2d 4x4 RGBA 2020-02-05 22:45:19 +08:00
halx99 b6cf5871cd Refactor UserDefault, use file mapping & plain binary encode/decode for all platform 2020-02-04 22:28:54 +08:00
halx99 1b33d88416 fix compile issue 2020-02-03 22:01:18 +08:00
RH 93352ff06f V4 bmfont improved api (#20406)
* Merged improved BM font API from Cocos2d-x V3.  Code based on #20309 and #20300

* Added missing test resources.
2020-01-18 20:40:17 +08:00
RH 3b3086b8d8 V4 uilayout scissorclipping fix (#20415)
* Fix for issue #19890

* Updated with better fix from the V3 PR #18651

* Formatting fix

* Fixed issue with incorrect type (double instead of float) when compiling on certain platforms.

* Another attempt to fix compilation issue
2020-01-18 20:40:13 +08:00
Arnold 2fdb65e2c6 set attribute (#20417) 2020-01-18 20:40:09 +08:00
halx99 d3aabf3f89 Add test case for yasio 2020-01-05 04:24:13 +08:00
halx99 a2eb8507bb [v4] spine v3.8 2020-01-05 03:09:32 +08:00
RH deffc2cbef Fix for issue #19890 (#20407) 2019-12-12 23:55:23 +08:00
halx99 3a877c50f2 fix SpritePolygonTest 2019-12-03 00:50:11 +08:00
coulsonwang abc25ae04a adjust ralative position of tested item in TouchTest (#20369) 2019-11-26 23:40:54 +08:00
halx99 d193246f09 Use toString instead asString 2019-11-25 18:02:13 +08:00
halx99 ab7ccf0a58 Update etc1 alpha test case 2019-11-25 02:46:52 +08:00
halx99 30ffbe1514 Improve CCImage, BMP support. 2019-11-25 02:28:38 +08:00
halx99 d3e97a75a3 Remove websockets, sync tests. 2019-11-24 21:02:16 +08:00
coulsonwang 912ba30e49 remove duplicated PrgramState instance in the derived class of Node (#20350) 2019-11-20 11:04:42 +08:00
coulsonwang 4914dfff10 fix AudioSwitchStateTest subtile (#20278) 2019-10-31 16:05:57 +08:00
coulsonwang 2d42aa1d21 fix memory leak (#20258) 2019-10-28 15:04:03 +08:00
coulsonwang 2501f53b9b add CameraTest (#20253)
* nodeTest

* fix
2019-10-25 18:22:35 +08:00
minggo c9af873e2e
fix some warnings (#20247) 2019-10-25 16:40:30 +08:00
coulsonwang b849fce842 remove box2d tests (#20246) 2019-10-25 13:37:08 +08:00
minggo be038d9ffc
fix some warnings (#20236) 2019-10-25 09:27:54 +08:00
minggo 6b1e55f419
Remove experimental namespace (#20229) 2019-10-23 14:58:31 +08:00
Arnold 11a1f820e2 [v4] add unzip test code (#20219) 2019-10-22 13:47:07 +08:00
minggo 24b04e561b
sync #20007 to v4 (#20210)
* sync #20007 to v4

* Fixing a bug in Node::enumerateChildren (#20045)

This patch fixes an issue that if both // (recursive enumeration)
and .. (starting from parent node) are specified,
Node::enumerateChildren does not honor the latter and starts searching
from current node rather than parent node.
2019-10-17 11:12:25 +08:00
coulsonwang 67ae2e756e fix ProgramState and Program performance (#20189)
* fix ProgramState and Program performance

* fix review

* fix

* add autorelease
2019-10-15 09:40:59 +08:00
coulsonwang ab04e037b7 fix PhysicsContactTest (#20171)
modify the item relative position to avoid inappropriate operation.
2019-10-08 15:07:46 +08:00
minggo 42c43a53a1
fix crash when back with playing video (#20169) 2019-09-25 14:33:18 +08:00
coulsonwang 6de088ab98 fix C4244 warning (#20162)
* fix C4244 warning

* fix warning C4244

* fix compile error
2019-09-25 14:32:26 +08:00
coulsonwang 03a4ddf764 fix warning (#20146)
* fix warning
fix warning

* remove integer type constructor for Vec2
2019-09-24 11:31:35 +08:00
coulsonwang 0dbe3419d2 fix warning
fix warning
2019-09-20 11:20:07 +08:00
Arnold 92b48359ea add cert file (#20081) 2019-09-04 10:09:12 +08:00
Arnold 55f6f6d6e7 [bugfix] Fileutils iOS isDirectory (#20079) 2019-09-04 10:03:38 +08:00
coulsonwang 469fc61d5a set depth write (#20071) 2019-09-04 10:02:03 +08:00
coulsonwang 4d04b64a3a add specific define for metal (#20084) 2019-09-04 09:58:40 +08:00
minggo 5e40f5e6a5
remove tiff (#20047) 2019-08-20 15:15:40 +08:00
coulsonwang c4e6ede197 move VertexLayout to ProgramState (#20029)
* move VertexLayout to ProgramState

* fix lua
2019-08-15 16:51:49 +08:00
Arnold 00f07a526c [v4] add renderer performance test (#20011) 2019-08-05 14:25:58 +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 c8d13184f8
sync 19893: fix Wformat warnings (#19949) 2019-07-22 09:37:48 +08:00
minggo ad54a24cf0
sync 19634 and fix conflict (#19930) 2019-07-19 11:57:11 +08:00
coulsonwang 7b7cf55efb remove vertex step mode (#19921) 2019-07-17 13:59:37 +08:00
minggo 96534de260
fix warnings (#19891) 2019-07-03 10:43:10 +08:00
coulsonwang 7f96375871 Feature/fix tile map (#19883) 2019-06-30 11:36:52 +08:00
minggo b9d72cdb53
add missing label (#19871) 2019-06-27 13:41:41 +08:00
coulsonwang 2c5fc38297 add test case (#19830)
* add test case

* comment meaningless test case
2019-06-18 18:04:56 -07:00
coulsonwang 7a94e66a14 Feature/fix alpha test (#19824) 2019-06-18 00:25:26 -07:00
coulsonwang fef1752cfe fix TODO (#19793) 2019-06-11 23:58:07 -07:00
Arnold 36228d0182 use https (#19820) 2019-06-11 18:23:56 -07:00
minggo 1273fb305d
Remove simple audio engine (#19802) 2019-06-11 18:23:16 -07:00
Arnold b2c5535ff4
ignore ON_PERCENTAGE_CHANGED event 2019-06-10 10:25:50 +08:00
coulsonwang 9dc04bf228 remove opengl codes (#19797) 2019-06-05 02:58:33 -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
coulsonwang 254c57a347 add test cases (#19741) 2019-05-21 19:00:05 -07:00
coulsonwang a066ac729f add subTitle (#19731) 2019-05-21 18:52:40 -07:00
coulsonwang 97431b1197 [ParticleSpriteFrameTest] remove getName() in Texture2D (#19740) 2019-05-21 18:49:11 -07:00
coulsonwang 9c0033e1e7 Feature/draw in rect (#19664)
* Texture2D draw in point and draw in rectangle tests work

* optimize code

* fix compile error

* make initProgam() private
2019-05-16 18:14:14 -07:00
coulsonwang 2d02e23fbd Feature/update device info (#19712)
* update DeviceInfo

* remove unneeded code

* fix indentation

* add FeatureSet enum for metal

* revert code
2019-05-15 18:26:00 -07:00
Arnold 825c4aa3f7 remove bad test case (#19704) 2019-05-13 18:01:04 -07:00
Arnold e52a35708e enable tests (#19702) 2019-05-13 18:00:27 -07:00
Arnold bd76e891d5 [cpp-tests] SpritePolygonTest invoke `UISlide::setPercent` after initialization (#19676)
* delay onProgressChange event when setProgress

* Revert "delay onProgressChange event when setProgress"

This reverts commit a9ad090f513f08e1103a0fd793d02f26600e52b3.

* setPercent after initialization
2019-05-09 20:31:10 -07:00
Arnold ce7a6eadbe fix localization tests (#19675) 2019-05-09 01:30:19 -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 62dc64a8d1 [cpp-tests] camera3dtests adjust button position (#19673)
* reduce log 1

* fix camera3d test/2 button position
2019-05-07 18:07:37 -07:00
Arnold 0f2e5f513b fix downloader url (#19674) 2019-05-07 18:07:17 -07:00
Arnold 98d5f37a30 fix lua-tests errors (#19646)
* enable test case

* save

* generate enum classes

* save

* autobindg backend interface

* safe

* fix typos

* fix setUniform

* enable draw primitives and fast tmx tiled map

* save all

* update

* fix compile error on mac

* fix locations

* fix locations

* deduce vertexlayout

* clean

* compile on mac

* fix resource path

* save

* update bindings-generator

* remove unused code

* rename ccbackend to ccb

* remove todo
2019-05-05 00:26:34 -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 9f8100678b
remove unneeded test case (#19607) 2019-04-15 23:34:15 -07:00
minggo b09e1a8667
add test case title (#19606) 2019-04-15 01:54:27 -07:00
minggo 62d20a9825
Add clear request and responses method to httpclient (#19598)
* Added functionality to clear pending responses and requests in the http client

* Responses and Requests now are processed in similar way

* Fix for clearing the http requests

* Added tests for HttpClient::clearResponseAndRequestQueue
2019-04-10 18:33:55 -07:00
minggo ffcf627c13
Ui video player new style looping input options 2019-04-10 18:33:05 -07:00
minggo 195dc704e3
[Android] fix FileUtils::listFiles with path 'assets/' 2019-04-10 00:09:30 -07:00
Arnold 3bf5e84926 [bugfix] cpp-test small bugs (#19574) 2019-04-04 01:13:17 -07:00
Arnold 9a56e6923f [bugfix] motionstreak & DrawNode3D on GL (#19564) 2019-04-03 02:27:15 -07:00
Arnold 6452d5faec [bugfix] enable depth test for all commands in 3d queue (#19565)
* save states

* save bits

* include deque

* remove 2d default states

* remove unsused flags
2019-04-02 00:47:55 -07:00
Arnold e4c2c7a01e
enable cpp-tests test cases (#19552)
* enable more test cases

* enable more
2019-03-27 13:59:47 +08:00
Arnold aa54a6c576 enable shader tests (#19546) 2019-03-25 22:45:03 -07:00
Arnold 913211116e enable physics (#19545) 2019-03-25 20:02:06 -07:00
minggo 6067d62341
adapt ClippingNodeTest (#19528) 2019-03-24 19:08:49 -07:00
Arnold e1675ae67b Enable navmesh (#19530)
* enable flags

* impl debug draw

* run tests

* remove comments

* fix mac compile error

* review fix
2019-03-20 14:34:35 +08:00
Arnold 6e063330e0
remove todos 2019-03-20 09:45:09 +08:00
patricejiang 82bbeb9b87
merge metal-support 2019-03-19 10:30:15 +08:00
minggo cb9cf672a1
Merge pull request #19517 from PatriceJiang/3d-material-test-cases
Enable material system test cases
2019-03-19 09:46:46 +08:00
minggo 8452b55b82
Merge pull request #19513 from Mee-gu/feature/AddDeviceInfo
Feature/add device info
2019-03-19 09:24:18 +08:00
Arnold c1ba0d866b
remove comments 2019-03-15 15:09:39 +08:00
Arnold d75c2f3c5e
add uniform callback 2019-03-15 14:44:28 +08:00
Arnold c35c4e2347
fix ccpass 2019-03-15 14:41:59 +08:00
Arnold 069800b98c
enable test case 2019-03-15 14:41:59 +08:00
minggo 629eebd031
Merge pull request #19498 from PatriceJiang/texture_setTexParams
Texture2D::TexParams fields use backend enum types
2019-03-15 10:43:52 +08:00
coulsonwang b2387f13de [Feature] add DeviceInfo for querying implementation limits. 2019-03-14 15:58:55 +08:00
patricejiang f8abc80989
fix android compile error 2019-03-14 13:39:11 +08:00
minggo f5380f8efe
Merge pull request #19506 from minggo/rectangleclipping
ClippingRectangleNode works
2019-03-13 15:50:31 +08:00
Arnold fb29eefda6
add setVertexLayout interface 2019-03-13 15:06:30 +08:00
minggo 1d9bde0520 ClippingRectangleNode works 2019-03-13 14:27:47 +08:00
minggo 7ebea45168 fix some todo 2019-03-13 14:11:40 +08:00
patricejiang 73ad5c62d3
fix android compile 2019-03-13 11:16:03 +08:00
Arnold 1d0107c087
alias backend::SamplerDescriptor 2019-03-13 10:54:26 +08:00
patricejiang 53975ee428
fix android error 2019-03-13 09:56:29 +08:00
coulsonwang a8e54b9b53 [Feature] update attribute setting 2019-03-12 21:05:03 +08:00
patricejiang 58c40c1cc6
fix android compile error 2019-03-12 16:53:28 +08:00
Arnold 62c6eae7c3
change Texture2D::TexParams fields type 2019-03-12 16:53:28 +08:00
Arnold a384e38e16 [bugfix] GL vertex attribute layout incorrect (#19484)
* collect OpenGL enum convertion methods

* add testcase for lots of nots

* fix andorid compile error

* move more function to UtilsGL

* use shared pointer

* naming stuff

* move VertexLayouts to CommandBuffer

* fix android compile error

* fix android headers

* add comment

* add comment, fix
2019-03-12 10:37:52 +08:00
coulsonwang c5c6fa3396 Feature/update sprite3 d test (#19475)
* [BugFix] fix crashed test in metal

* [Feature] add comments

* [Feature] modify ways to get max_vertex_attribute

* [Feature] make it crashed in debug mode
2019-03-08 18:48:12 +08:00
coulsonwang e69e7e0b30 [Feature] support cubeMapping in metal (#19469) 2019-03-07 11:08:12 +08:00
Arnold f7496948fd [3d] support particle3d (#19464)
* first commit

* fix matrix

* remove used comments

* fix compile error on mac

* self review fix 1

* litte refactor

* use reference:
2019-03-06 17:03:16 +08:00
coulsonwang 776ab98e0b [BugFix] fix fill UnifromBuffer issues (#19462) 2019-03-05 11:19:52 +08:00
Arnold 3a55fa3dd6 [3d] add CameraBackgroundBrush (#19454) 2019-03-04 09:14:45 +08:00
Arnold 1e00f50266
reorder sprite3d testscase (#19449) 2019-02-28 15:25:41 +08:00
Arnold b4f2ed0376 [3d] Sprite3DTest enable test cases (#19447) 2019-02-28 15:20:23 +08:00
Arnold 7fd82997ef [3d] terrain impl & test case (#19442) 2019-02-27 17:16:25 +08:00
coulsonwang f4170ea89a [Feature] set default scissor rectangle for metal when scissor test disabled (#19441) 2019-02-27 15:02:28 +08:00
coulsonwang cba56e5da7 Feature/save image issue (#19435) 2019-02-27 11:29:20 +08:00
minggo 1e7a6f7fcf
Issue19416 (#19427)
* use more meaningful names

* remove unneeded types
2019-02-22 14:06:26 +08:00
minggo 2ed60f72cf
Remove gl codes (#19415) 2019-02-20 17:07:31 +08:00
Arnold edf3687af5 [3d] add motionstreak3d (#19414) 2019-02-20 16:56:35 +08:00
minggo 06d7e4eda7
remove CCGLProgram related files (#19408)
* remove CCGLProgram related files

* remove CCGLProgram related header files
2019-02-19 16:06:17 +08:00
Arnold bfc98c6f21 [3d] add billboard (#19407) 2019-02-19 14:56:21 +08:00
minggo 480d964039
removed duplicated shaders (#19406) 2019-02-19 11:57:13 +08:00
Arnold fd1d5d2dd7 [3D] texture cubemap GL & skybox (#19401) 2019-02-19 10:15:24 +08:00
Arnold c14c5009a9
fix android compile error (#19397) 2019-02-15 14:55:26 +08:00
Arnold 8be2a2053f
sync 3d support code (#19392)
* Sprite3D
* DrawNode3D
* active more Sprite3DTest
2019-02-15 14:30:10 +08:00
Arnold fe497933f8 3d support: some test cases works
* hack to make sprite3d test work

* support cull face

* support setting front face winding

* convert depth compare function type

* clean codes

* remove usage of glprogramstate

* pass needed information to Material::draw()

* add 3d textures

* enable animation

* 3D: compile on windows  (#179)

* exclude source files from extensions/

* enable assets and 3D

* run on windows

* update comments

* use std::vector instead of raw pointer void *

* compile on mac

* revert cmake

* fix bufferdata

* add todos

* remove dirty flag from uniform buffer

* argument type const &

* enable more tests

* update shader

* save: failed to compile

* pass compilation

* fix type convert

* save stage

* save stage 2

* remove VertexData & IndexBuffer & VertexBuffer

* comment out _meshCommand

* comment bindPredefinedVertexAttribs()

* fix xcode project file

* simple refactor

* remove unused files

* revert sprite3d testcase position

* revert change

* remove ProgramGL::bindPredefinedVertexAttribs()

* add header <string>

* fix uniform size
2019-01-30 09:35:17 +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
minggo 7dcee2bcf9
Remove ccglstatecache (#19013) 2018-09-11 14:39:30 +08:00
ggggamer cf56f96a14 ClassLoader.loadClass use 'Binary names'. (#19011) 2018-09-10 15:06:19 +08:00
CHP 6a442192d4 Fix uninitialized variables problems found by drmemory (#19028) 2018-09-10 11:23:14 +08:00
CHP 548f50b92b Fix auto test (#19029)
* Fix auto test

* Add atomic include
2018-09-10 10:21:11 +08:00
Arnold eb920949a2 Add websocket latency test (#19018)
* compile on windows

* update android.mk, add WebSocketDelayTest.cpp

* update xcode project

* mac: fix printf format argument %llf

* update cmake
2018-09-07 09:11:04 +08:00
Jeff Wang 3948e5eece refine EditBox: add support for pressed and disabled image (#18965)
* refine EditBox add support for pressed and disabled image

* add test case

* fix compile error

* fix compatibility

* fix compile warning

* fix test cases

* remove CC_DEPRECATED_ATTRIBUTE mark
2018-08-07 09:29:51 +08:00
tyfkda aacec550c9 Fix out of range access in Label (#18789)
Out of range occurred in some condition
when using `Label` with its `getLetter()` member function.

`Label::recordPlaceholderInfo()` member function is called for
new line (\n) letter in `Label::multilineTextWrap()`,
but the function doesn't set `_lettersInfo[letterIndex].lineIndex`.

But `lineIndex` is used in `Label::updateLabelLetters()`
even if letter is new line.

This change checks `letterInfo.valid` to avoid
accessing `_linesOffsetX[letterInfo.lineIndex]`
for invalid (i.e. `NewLine`) letter.
2018-08-06 14:27:47 +08:00