Commit Graph

1449 Commits

Author SHA1 Message Date
halx99 81e4c28d24 Fix mac [skip appveyor] 2020-09-04 18:16:13 +08:00
halx99 53509b8833 Fix glviewimpl for osx 2020-09-04 17:58:34 +08:00
HALX99 7a2f91e514
ASTC6x6 support and more comment about bpp usage in engine (#191)
* ASTC6x6 support and more comment abount bpp usage in engine

* fix log output

* Comment astc compression tool download url

* Add command line comment for astcenc tool [skip travis][skip appveyor]

* Add astc_6x6 test image[skip appveyor][skip travis]

* astc_6x6 mtl

* Refine log info[skip appveyor][skip travis]

* Empty line[skip appveyor][skip travis]
2020-09-03 18:01:40 +08:00
HALX99 2539e78774
Merge pull request #188 from halx99/etc2-support
Add etc2 compressed texture support
2020-09-01 00:16:01 -07:00
halx99 8cad7319f6 Use uint8_t instead unsigned char for byte buffer [skip appveyor][skip travis] 2020-09-01 14:57:18 +08:00
halx99 5bfce4bed4 Add copyright notice [skip appveyor][skip travis] 2020-09-01 13:24:45 +08:00
halx99 6c129165f5 Also decode bmp to RGBA8888 directly 2020-09-01 12:06:21 +08:00
halx99 f3c17427aa More clearly ETC1 format, sync enums for ETC1, correct somethings 2020-09-01 11:43:03 +08:00
halx99 5e0e017b2a wrap fowardPixels for hardware decoder 2020-08-31 23:09:42 +08:00
halx99 dffbad412a Improve images decoder 2020-08-31 21:04:47 +08:00
halx99 aa9e5130e4 More clearly data owner when decode images. 2020-08-31 19:24:23 +08:00
halx99 18037c44de Clearly CCLOG content 2020-08-31 17:13:04 +08:00
halx99 5cfc6fe7ed Remove test code [skip appveyor] [skip travis] 2020-08-31 16:31:37 +08:00
halx99 201b91e242 Use etc2_decode_image decode etc1 to RGBA8888 [skip appveyor] [skip travis]
This can avoid further texture data convert
2020-08-31 15:34:20 +08:00
halx99 3426d03745 ETC2 software decode support 2020-08-31 14:11:48 +08:00
halx99 e7811e707a 1. Finish ETC2 support on GL renderer backend
2. Improve ASTC compressed format check
2020-08-30 17:58:39 +08:00
halx99 1975ad1f94 Add CMake -DCC_FORCE_USE_GLES to control whether force use gles on win32,iOS 2020-08-28 12:57:00 +08:00
halx99 9ae19df7e0 Improve listFiles for win32, use std::move avoid string deep copy 2020-08-28 11:05:32 +08:00
halx99 0fd2364429 fix #179 2020-08-28 11:04:14 +08:00
halx99 bf3a608c01 freetype stream parsing support, reduce memory use on FontCache 2020-08-27 11:35:55 +08:00
halx99 c3b823586b Refine code style 2020-08-27 10:19:21 +08:00
halx99 fe4d26cea1 Rename PXFileStream to CCFileStream 2020-08-27 00:21:44 +08:00
halx99 a567820461 Improve code quality 2020-08-18 14:29:09 +08:00
halx99 37ddd1cbfa Consider mutex use, which object dou you want guard? 2020-08-18 12:48:16 +08:00
halx99 98bdeef044 Sync fix from https://github.com/cocos2d/cocos2d-x/pull/20518 2020-08-18 12:09:56 +08:00
halx99 9d9067dec4 Backport CCValue APIs 2020-08-18 11:33:18 +08:00
halx99 185934c45e Make android listFiles behavior same with other platforms 2020-08-17 12:09:31 +08:00
aismann b7b2687758
OpenGL 'works' better... 2020-08-07 08:10:12 +02:00
halx99 428ff263b3 Add missing optimize from v3 2020-08-05 13:10:37 +08:00
halx99 421cf7b1ad win32 cover wide API use, remove unused long getFieSize(const std::string&) 2020-08-05 12:24:31 +08:00
halx99 66a198ab2b utf-8 file path 2020-08-05 12:17:57 +08:00
HALX99 8e72fe24b4
Merge pull request #135 from halx99/unify-plist-ops
Unify plist implementation, remove apple specific sources.
2020-08-02 20:22:36 -07:00
halx99 3e95b8ccf3 Unify plist implementation, remove apple specific sources. 2020-08-03 10:48:26 +08:00
halx99 6fd4d6e4ab Adapte multi monitors 2020-08-03 10:33:04 +08:00
halx99 f396ba9983 Unnecessary space lilne [skip appveyor] [skip travis] 2020-08-02 17:00:35 +08:00
halx99 99432aa171 Optimize param use. 2020-08-02 16:48:19 +08:00
halx99 a624babd09 vidMode need moniter 2020-08-02 16:36:58 +08:00
halx99 020b0ff79c Update comment [skip appveyor] [skip travis] 2020-08-02 16:24:30 +08:00
halx99 6a133fa1e5 check isFullscreen 2020-08-02 16:22:41 +08:00
halx99 dd226789b3 Provide more useful for setFullscreen with width,height,refreshRate. 2020-08-02 16:18:39 +08:00
halx99 106d8e2ecf Refactor full screen support, fix different behavior when enter full screen between 1 and >=2 times 2020-08-02 11:54:46 +08:00
halx99 aa59cf6876 Add wav testcase 2020-08-01 19:25:39 +08:00
halx99 fd8f6a01d5 fix #129 2020-08-01 11:23:13 +08:00
halx99 82314c2972 Add alconfig.h to choose whether use openal-soft 2020-07-31 17:03:58 +08:00
halx99 594767290d Add CMAKE option CC_USE_ALSOFT_ON_APPLE to use kcat openal-soft on apple platform, by default currently OFF 2020-07-31 00:06:59 +08:00
halx99 58c4fb32c1 Sync fix from v3, see also: https://github.com/cocos2d/cocos2d-x/pull/20509 2020-07-30 10:59:50 +08:00
halx99 c9e1df125a Improve utf-8 path on win32, explicit call wide version of system API. 2020-07-10 15:14:16 +08:00
halx99 e5815f9cd8 Adapte glfw-3.4 2020-07-03 11:08:39 +08:00
halx99 bfd1709ab7 Optimzie writeStringToFile 2020-06-14 15:54:55 +08:00
halx99 208bc9fe6f ios don't support thread local storage 2020-06-14 15:52:15 +08:00
halx99 786ad14b68 fix ios compile error 2020-06-14 13:58:29 +08:00
halx99 93a3452261 finish angle dependencies auto copy for win32, make flatbuffers dep header only 2020-06-14 12:50:20 +08:00
halx99 3d3fea28c6 Support use google angle support on windows. 2020-06-12 12:42:58 +08:00
HALX99 04ac727c8e
fix ios compile error 2020-03-03 20:05:56 +08:00
halx99 e379fc513d Refactor CCValue. 2020-03-03 19:24:07 +08:00
halx99 f5eac1eede Sync v3 pr-19256, see: https://github.com/cocos2d/cocos2d-x/pull/19256 2020-02-24 16:22:40 +08:00
halx99 b76cd80043 Sync for glad 2020-02-16 16:44:14 +08:00
halx99 1f9f27d63f Use modern gl/gles loader 'glad' to instead 'glew' 2020-02-15 23:51:23 +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 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