Commit Graph

1814 Commits

Author SHA1 Message Date
halx99 395a5afdd7 [Draft] Tidy windows prebuilt folder for win64 support 2021-08-26 23:25:17 +08:00
halx99 d0d77730a9 Update imgui 2021-08-23 17:49:38 +08:00
aismann e2ef8d5ba7 class PhysicsDebugNodeBox2D cleanup 2021-08-19 06:03:58 +02:00
aismann a9569ca061 fix 2021-08-18 06:00:43 +02:00
aismann 42439e5b50 Update CCPhysicsDebugNodeBox2D.cpp 2021-08-18 05:31:33 +02:00
aismann 5b3748cdd6 Important API change for naming convention
rename
class DebugDraw
to
PhysicsDebugNodeBox2D
2021-08-18 05:23:03 +02:00
aismann 780d4e6294 cleanup and improvement 2021-08-18 04:16:21 +02:00
rh101 7ef0ec96bf Update LUA bindings 2021-08-18 01:01:56 +10:00
halx99 16e3d66a66 Update lua bindings 2021-08-14 13:22:03 +08:00
aismann 9f2ab0ef28
More improvements (#455) 2021-08-14 10:28:28 +08:00
halx99 c5aeed4c06 Update lua bindings 2021-08-13 20:36:10 +08:00
aismann 7b7a3a8ae7 Box2D_TestBed_improvement 2021-08-12 05:54:06 +02:00
halx99 39ca61f623 Update spine-3.8 runtime to latest
Maybe no further update until upgrade to spine-4.x
2021-08-07 00:59:58 +08:00
aismann 56b99eff6a Box2D - Basic ready for use 2021-08-06 09:35:29 +02:00
aismann f5077bfb0f
Add DebugDraw to Box2DTest, Improve Box2D-Testbed add some new classes to physics-nodes (#444)
* Update AppDelegate.cpp

Add '*Debug*' on the title

* Update CCPhysicsDebugNodeBox2D.h

* Improve Box2D-TestBed

* improvements

* Update CCPhysicsDebugNodeBox2D.cpp

* Improve the 2d physics stuff

* dirty fix for build android:

* Fix fatal error: 'GLFW/glfw3.h' file not found

* Add DebugDraw to  Box2DTest, Improve Box2DTestBed, Add some new physicnodes

* fix settings, unknow  labelDebugDraw;
2021-08-05 17:23:55 +08:00
halx99 484549b801 Fix ci 2021-07-19 08:10:37 +08:00
halx99 d90dfd89e0
Update lua_xml_http_request.cpp 2021-07-19 01:29:08 +08:00
halx99 ad035e2729 Improve code quality 2021-07-17 23:32:31 +08:00
halx99 26c3de632a Update fairygui 2021-07-17 19:51:27 +08:00
halx99 0e215e77bb Tidy thirdparty lua-cjson 2021-07-16 11:17:34 +08:00
halx99 092b24e591 Improve code quality 2021-07-16 11:04:38 +08:00
halx99 bc6ebd920a Improve code quality 2021-07-15 23:03:43 +08:00
halx99 ec9a50136f Add new API Node::hitTest 2021-07-15 17:01:57 +08:00
halx99 f70ad053c0 Rename everything to adxe 2021-07-09 10:42:36 +08:00
aismann a934652f82
Update README.md 2021-07-08 07:42:15 +02:00
halx99 5a78eeda36 Sync lua bindings [ci build] 2021-06-27 21:47:15 +08:00
halx99 a84067eb74 Refactor dual sampler shader [ci build]
Since not only etc1 could use sepreate RGB, A to two texture samplers, we unify the shader name.
2021-06-27 20:58:50 +08:00
aismann 39be77144c
Fix CCPhyhsicsDebugNode Polygon stuff, add all bench tests, ... (#403)
* Improve Chipmunk2D - TestBed, add same more debug draw stuff and some fixes too.

* Improve Chipmunk2D- TestBed and starting the code cleanup ...

* Fix CCPhyhsicsDebugNode Ploygon stuff,  add all bench tests, improve  same demos, code cleanup
2021-06-26 17:46:06 +08:00
halx99 c9eb1a7de4
Merge branch 'dev' into Chipmunk2D 2021-06-24 17:04:04 +08:00
aismann df58dd753c Add springs (draw), add Copyright, improve Chipmunk2d - Testbed 2021-06-24 09:54:02 +02:00
halx99 a379f936d8
Reimplement HttpClient based on yasio (#390)
* [WIP] Reimplement HttpClient based on yasio
This change will make HttpClient support concurrency request

* [WIP] Reimplement HttpClient based on yasio
a. timeoutForRead support
b. Improve code

* [WIP] Reimplement HttpClient based on yasio [ci build]

* [WIP] Fix ci [ci build]

* [WIP] Reimplement HttpClient based on yasio [ci build]
PUT,DELETE support

* [WIP] Reimplement HttpClient based on yasio [ci build]
HttpClientTest works

* Update HttpClient.cpp

* HttpClientTest: enable sslVerifaction test

* Update HttpResponse.h

* Sync luabindings [ci build]

* Add chrome UA test

* Fix ci [ci build]

* The timer for read timeout should be associated with per channel

* Remove unused function

* Update url
2021-06-24 12:33:07 +08:00
aismann 85347cd438 Chipmunk2D - TestBed Add more examples and improve using the original source 2021-06-18 16:52:56 +08:00
halx99 7ee1785858 Improve Lua RTTI performance [ci build] 2021-06-18 12:23:10 +08:00
halx99 b6378332eb Fix for luabinding generator [ci build] 2021-06-18 11:31:07 +08:00
halx99 c12aa74b55 Fix #386 [ci build] 2021-06-17 22:22:41 +08:00
halx99 ffda7422c9 Revert "Fix imgui draw frame cause drawNode Afterimage" 2021-06-17 21:16:30 +08:00
halx99 b485cd1d9a Fix imgui draw frame cause drawNode Afterimage 2021-06-17 12:20:23 +08:00
aismann a491997731
Improve the "Physics part" (#379)
* 1. Add "initial" Chipmunk - TestBed

More demos comes later.

* 2. Removed unused source

* Update CMakeLists.txt

* Some fixes #1

* workaround #1

* workaround #1
2021-06-16 19:34:09 +08:00
halx99 99cf51df55 Update imgui to 1.84 WIP [ci build] 2021-06-15 22:30:54 +08:00
halx99 8528090af5 Fixup [ci build] 2021-06-08 22:15:21 +08:00
halx99 73df034804 Rename external to thirdparty [ci build] 2021-06-08 20:45:55 +08:00
halx99 c49a4ea632
Update README.md 2021-05-24 17:54:18 +08:00
halx99 13d187c174 Fix lua include header 2021-05-18 19:56:36 +08:00
HALX99 a42f9ac25c
Renaming refactor (#353) [ci build] 2021-05-18 16:40:30 +08:00
HALX99 4cd026c920
Merge pull request #347 from rh101/imgui-fix
ImGUI font crash fix when using virtual file system
2021-04-27 23:29:22 -07:00
rh101 1efe0091a8 Load fonts into IMGUI using memory routines rather than allowing it to use its own file handling in order to support FileStream related implementations. 2021-04-28 15:53:37 +10:00
halx99 c1063ea03d Fix cpp-tests exit crash when tableView in scrolling [ci build] 2021-04-26 17:55:55 +08:00
halx99 5b13927d47 Fix ci warnings [ci build] 2021-04-26 17:28:58 +08:00
rh101 b865d9e18e Use reset() to clear unique_ptr.
Use value initialization for unique_ptr.
Change AudioDecoderOgg override functions to use FileStream* instead of unique_ptr.
Remove redundant code.
2021-04-26 15:43:33 +10:00
rh101 ef6bedd069 Use unique_ptr for FileUtils::openFileStream
Fix OGG audio playback due to incorrect tell() method
Fix unzip close() override method not deleting FileStream pointer.
2021-04-26 14:21:56 +10:00
RH 72fc8a6f4d
Merge branch 'vfs-support' into master 2021-04-26 10:39:09 +10:00
halx99 dff3aff1e4 Update lua script 2021-04-25 22:37:52 +08:00
rh101 73e45e33c2 Update usage of createDownloadFileTask 2021-04-25 18:36:20 +10:00
rh101 ce1a24cb15 Ensure FileStream is used for file access where possible 2021-04-25 17:22:43 +10:00
halx99 540c9375ff Update fairygui runtime [ci build] 2021-04-24 18:53:21 +08:00
halx99 39b5e14489 Update spine runtimes 2021-04-24 18:14:30 +08:00
halx99 e8c1d7bc2c Set cmake min version to 3.10 [ci build] 2021-04-21 14:05:44 +08:00
halx99 958f6c3a93 Properly set gc mode for lua-5.4 [ci build] 2021-03-27 19:49:19 +08:00
HALX99 1590c200d5
Merge pull request #331 from c4games/cmake-improve
Improve cmake scripts
2021-03-13 18:46:32 +08:00
halx99 9aebfd4b0d Improve cmake scripts
a. rename project 'plainluac' to 'luac'
b. add executable project 'lua'
c. unify cmake runtime directory to bin
2021-03-13 18:18:40 +08:00
halx99 a5cf017e0f Lua 5.4 compatible 2021-03-13 16:47:09 +08:00
halx99 f771a92ca2 lua api compatible 2021-01-09 18:32:22 +08:00
halx99 c44d94a2b2 Update lua bindings source [ci build]
cxx17::string_view support
2020-12-16 17:52:17 +08:00
halx99 c3ad19df96 fix FUISprite gray to normal doesn't work 2020-12-10 16:54:59 +08:00
aismann dbf81d7511 Removed CC_ENABLE_CHIPMUNK_INTEGRATION from class CCPhysicsDebugNode
CCPhysicsDebugNode.cpp has only the Chipmunk2D implementation
2020-12-01 17:58:34 +01:00
aismann 72be372699 CCPhysicsSprite(Box2D/Chipmunk2D) cleanup, some other small improvements too
CCPhysicsSprite(Box2D/Chipmunk2D) cleanup and small improvements on PhysicsTest
2020-12-01 16:39:28 +01:00
aismann 5e249bf6f8 Chipmunk2D and Box2D works together now (add two new classes)
add class PhysicsSpriteChipmunk2D
add class PhysicsSpriteBox2D

Improve window size problem with ImGuiEXTTest
2020-12-01 10:15:30 +01:00
halx99 192a59f39e Sync extension fairygui 2020-11-26 17:40:32 +08:00
Oren Bengigi a6b3b7050a Fix manifest version greater check 2020-11-18 20:43:49 +02:00
halx99 ca42ef08ba Refine jni methods decls [ci build] 2020-11-18 13:25:00 +08:00
halx99 1051d38562 Merge branch 'master' of https://github.com/c4games/engine-x 2020-11-18 12:16:36 +08:00
halx99 53122216ee Add missing param JNIEnv* for natvie interfaces [ci build] 2020-11-18 12:15:48 +08:00
halx99 a708c2f904 Improve lua framework code 2020-11-17 23:17:40 +08:00
halx99 acc064770c fix #263 2020-11-17 21:57:35 +08:00
halx99 7852cb21e5 fix #262 2020-11-16 22:38:18 +08:00
halx99 cd34ea9c4d fix compile issue 2020-11-16 14:19:56 +08:00
wtfdnvxk f5fcd5592c
Update lua_module_register.cpp
extend lua by register extensions
2020-11-11 16:53:00 +08:00
halx99 d1f0a287ac Remove ENABLE_CJSON_GLOBAL from cmake 2020-11-11 16:37:33 +08:00
halx99 0bc8728342 mandatory yasio for lua bindings 2020-11-11 15:51:46 +08:00
halx99 e0a36031c9 fix cjson can't use 2020-11-11 15:21:29 +08:00
halx99 5da2894e1b Prepre for box2d-2.4.1 2020-11-08 13:11:40 +08:00
halx99 c5493b4230 Update extension spine README.md 2020-11-04 23:28:51 +08:00
halx99 f90046f0ac Tidy extension spine folder structure [ci build] 2020-11-04 23:17:05 +08:00
halx99 d5d11d203a fix lua bindings [ci build] 2020-11-04 19:35:58 +08:00
halx99 c9873122b5 spine-c runtime compatible [ci build] 2020-11-04 19:10:02 +08:00
halx99 9d0cb09f5d Remove Sprite::updateShaders [ci build] 2020-10-31 20:08:32 +08:00
halx99 645364864b Optimize FUISprite::setGrayed for engine-x 2020-10-31 13:58:47 +08:00
halx99 3fa65521e3 Sync https://github.com/EsotericSoftware/spine-runtimes/pull/1801 2020-10-27 17:08:26 +08:00
HALX99 9156bc122c
Update README.md 2020-10-25 22:01:32 +08:00
halx99 863bd35676 Finish #244 2020-10-25 16:25:08 +08:00
halx99 975ef2ff61 Lock name 2020-10-24 21:57:36 +08:00
halx99 4a93071ab0 Simplify interface include for extension GUI 2020-10-22 23:14:58 +08:00
halx99 a09d53bf05 Remove unused comment 2020-10-22 21:32:09 +08:00
halx99 b8834bc086 Finsih rename 2020-10-22 10:58:10 +08:00
halx99 c9dda9145e fix lua bindings build 2020-10-21 17:58:05 +08:00
HALX99 0a1af78a0e
Build pugixml from sources for all platforms (#241) 2020-10-21 12:28:34 +08:00
halx99 834cf88a8a Fix compile error at non-win32 platforms 2020-10-21 10:57:37 +08:00
halx99 86f3c58c39 Reserve extensions 'cocostudio' for esay to migrate exist projects 2020-10-21 10:12:00 +08:00
halx99 d88518f508 fix compile error when disable script 2020-10-20 17:45:50 +08:00
HALX99 7f2b8dfac5
fix ci 2020-10-20 00:34:14 +08:00
halx99 25cc511532 fix lua build link on android 2020-10-19 23:21:40 +08:00
halx99 bd76794a36 fix lua compile on android, link needs to fix later 2020-10-19 20:01:13 +08:00
halx99 cdaed31389 fix lua build on android 2020-10-19 19:56:48 +08:00
halx99 d87af8e76a fix ci 2020-10-18 16:54:45 +08:00
halx99 e2d5d9423a fix ci 2020-10-18 15:48:06 +08:00
halx99 adf09cf173 Reserve extension GUI for cpp-tests only 2020-10-18 12:31:45 +08:00
halx99 6448083c7d Remove deprecated sources, remove old extension GUI 2020-10-18 00:27:23 +08:00
halx99 8f1ae3cee2 delete for rename 2020-10-18 00:24:34 +08:00
halx99 c7a2582afa Enable yasio lua bindings for lua projects by default. can use cmake parameter: BUILD_YASIO_LUA to control it. 2020-10-17 23:46:59 +08:00
halx99 c6d8d395a3 fix #234, spine custom shader doesn't work. 2020-10-17 22:00:53 +08:00
halx99 9e46cdc192 Sync official fix 2020-10-17 21:58:15 +08:00
HALX99 90ecc475f0
Refactor modules (#238) 2020-10-17 16:32:16 +08:00
halx99 2f934aeedc Simplfy hsv color 2020-10-16 17:23:29 +08:00
HALX99 b342ebd7ae
Refactor programState management (#236)
1. Add custom program registery
2. Re-enable batch draw for custom program
2020-10-16 16:23:14 +08:00
halx99 b5780531d5 win32 dll improvements 2020-10-07 00:15:11 +08:00
halx99 4130fbd729 Refine code 2020-10-04 23:41:01 +08:00
HALX99 235f09f635
Refactor pixel format manipulate (#217)
* PixelFormat use table

* Correct PixelFormat name to match 'GL_LUMINANCE'

* Up

* fix cube update texture enum

* linux build

* Refine ci

* fix linux build

* Remove unused function, match mtl framebuffer pixel format

* readPixels always RGBA format

* fix ci for linux

* fix linux build

* Remove unused functions

* fix travis

* fix android ci

* Update config.json

* linux glad

* Update CCGLViewImpl-desktop.cpp

* fix linux build

* Fix linux build

* Link issue [skip appveyor][skip travis]

* Update CMakeLists.txt

* Refine GL enums use

* Update test case name [skip appveyor][skip travis]

* fix linux link issue

* for mtl

* fix ci

* Tidy pixelformat enums

* fix ci

* fix rgba8 to abgr4 error

* fix ci

* fix ci for GLES

* Fix linux build, require glibc-2.27+

* Use properly dist for travis [skip appveyor]

* fix linux build [skip appveyor]

* Update install-deps-linux.sh

* Remove unused members for pixel block info, update external to v73

* Sync from compile linux warnings

* Remove unused check, and PixelFormat::A8 is ordinary format, not compressed format

* metal doesn't support rgb8 (#3)

* Update CCTexture2D.cpp

* Refine code

* Pixel Format Descriptor Table

* fix ci

* BGR5A1

* Simplfy texture format convert function name

* Update

* rgba4 match mtl render format

* Add note about RGBA4

* Remove unused function

* fix osx

* Already converted at texture2d

* Clearly comment

* fixup
2020-09-25 11:07:56 +08:00
HALX99 5a32bcfdaf
RenderTarget abstract, in-progress (#210)
RenderTarget abstract
2020-09-21 22:10:50 +08:00
halx99 436bb5bb0e ImGui multi-viewports Compatible with desktop GLES 2020-09-16 20:16:32 +08:00
halx99 165b588a10 Add ImGuiEXT::end to end game 2020-09-10 17:53:17 +08:00
halx99 0141396fde Sync fairygui extension to https://github.com/fairygui/FairyGUI-cocos2dx/commit/bc45f58 2020-09-08 19:15:28 +08:00
HALX99 57a0034668
Add useful resource links [skip appveyor][skip travis] 2020-09-08 18:21:41 +08:00
HALX99 44ed3af78e
Fix readme example [skip appveyor][skip travis] 2020-09-08 17:06:12 +08:00
halx99 44940933a0 Remove TODO 2020-09-08 16:31:11 +08:00
halx99 b50bea8702 Refine code style 2020-09-08 16:15:40 +08:00
halx99 5b3c7f0d81 Update ImGuiEXT readme[skip appveyor][skip travis] 2020-09-08 15:15:25 +08:00
HALX99 128ac5b2e0
Merge pull request #199 from halx99/imgui-hdpi
ImGuiEXT improvements
2020-09-08 00:07:16 -07:00
halx99 a824eb4050 Checking condition for dirty ImGui device objects [skip appveyor][skip travis] 2020-09-08 14:21:26 +08:00
halx99 7a15d5b74f Update CMake scripts and readme 2020-09-08 13:44:59 +08:00
halx99 090cd1002b Add ImGuiEXT test case for PC platforms 2020-09-08 13:38:16 +08:00
halx99 500e913517 ImGUIEXT addRenderLoop support global without any target scene 2020-09-07 23:21:15 +08:00
HALX99 cde039b34b
More cleary comment [skip appveyor][skip travis] 2020-09-07 21:25:22 +08:00
HALX99 c251213953
Update CCImGuiEXT.h 2020-09-07 21:22:03 +08:00
HALX99 c01b11dbb0
Update ImGUIEXT readme [skip appveyor][skip travis] 2020-09-07 20:52:16 +08:00
halx99 e005bb15fe ImGuiEXT: hdpi support, Add APIs: scaleAllByDPI, addFont, clearFonts for more easy to use 2020-09-07 20:31:50 +08:00
halx99 4d0375e7a8 ImGuiEXT manage ImGui render loop more clearly 2020-09-07 19:15:53 +08:00
halx99 6e4cee5855 Refine code 2020-09-07 14:15:09 +08:00
halx99 d9cd3e1256 Mac currently dosn't works on multi-viewports 2020-09-05 23:29:16 +08:00
halx99 cc2c524573 Refine extension ImGui, and rename director to ImGuiEXT 2020-09-05 17:10:09 +08:00
halx99 40b5efc011 fix .travis.yml ident, update readme [skip appveyor] 2020-09-04 16:55:13 +08:00
halx99 d9c4be96a2 Add ImGuiEXT extension support 2020-09-04 16:13:40 +08:00
halx99 f3c17427aa More clearly ETC1 format, sync enums for ETC1, correct somethings 2020-09-01 11:43:03 +08:00
halx99 50fe831d7a fix ci 2020-08-28 17:26:30 +08:00
halx99 ae99a5965b Remove TMXLayer,TMXMap, remain FastTMXLayer,FastTMXMap enough 2020-08-28 15:42:40 +08:00
halx99 9e8ace195c fix compile warning and uninitialized member variable ActionTimeline::_loop 2020-08-26 15:26:06 +08:00
halx99 d6e9427e61 Backport CCValue APIs 2020-08-18 11:40:45 +08:00
halx99 9d9067dec4 Backport CCValue APIs 2020-08-18 11:33:18 +08:00
halx99 e2697b89be Sync from official-v4 pr 2020-08-14 18:57:08 +08:00
halx99 0f1dcc86dc Disable double use in chipmunk_types.h instead CMakeLists.txt more stable for ENGX 2020-08-09 22:41:06 +08:00
halx99 4c56d6587e Sync optimize code 2020-08-06 19:58:24 +08:00
halx99 f38f76c1a1 Sync spine code and resource to 3.8 2020-08-05 17:04:57 +08:00
halx99 0b89fe5f2b fix lua compile issue 2020-08-04 22:38:57 +08:00
HALX99 7cfda40e07
Finish dragonbones, all extensions can be remove one by one (#142)
* Finish dragonbones, all extensions can be remove one by one, by default, all extensions are enabled
2020-08-04 21:13:26 +08:00
halx99 467a108698 fix logic 2020-08-04 12:39:34 +08:00
halx99 8531a1914d Add extension fairygui support 2020-08-04 12:31:33 +08:00
halx99 9f4d5d1e4b [CMake] remove unnecessary print 2020-08-04 11:35:01 +08:00
halx99 88d6c48d98 Tidy sources 2020-08-04 10:55:30 +08:00
halx99 b2c23feee7 Tidy sources 2020-08-04 00:14:35 +08:00
halx99 5dc9e92fb7 fix android build issues 2020-08-03 20:31:47 +08: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 2f2f3f9961
Update CCPhysicsDebugNode.cpp
class "cpShape" has no member "CP_PRIVATE"
2020-07-28 21:29:08 +02:00
halx99 52a08966b6 Resume scissor of CCScrollView, indent correct with vs2019 2020-05-20 10:35:30 +08:00
halx99 40cb068201 finish issue: #85 2020-05-06 15:42:25 +08:00
halx99 ddb30e881c Clean JSB sources, optmize script event dispatch. 2020-02-28 02:15:33 +08:00
halx99 3ef5ab500c Use '/' instead "/" for find & string append. 2019-11-25 17:10:25 +08:00
halx99 97e81e8180 Refactor CCDownloader, use curl for all platforms. 2019-11-24 15:43:28 +08:00
minggo 01ff6ddd66
delete useless files and clean codes (#20279) 2019-11-06 14:24:06 +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 03a4ddf764 fix warning (#20146)
* fix warning
fix warning

* remove integer type constructor for Vec2
2019-09-24 11:31:35 +08:00
coulsonwang c4e6ede197 move VertexLayout to ProgramState (#20029)
* move VertexLayout to ProgramState

* fix lua
2019-08-15 16:51:49 +08:00
minggo 8913c30fc0
fix compile warnings (#20028) 2019-08-13 18:19:32 +08:00
minggo 0d121d7913
remove void in function declaration (#19954) 2019-07-22 09:38:46 +08:00
minggo 5820915287
sync 19693: FIX ios bug : You don’t have permission to save the file Documents_temp (#19937) 2019-07-22 09:35:15 +08:00
coulsonwang 7b7cf55efb remove vertex step mode (#19921) 2019-07-17 13:59:37 +08:00
coulsonwang 9dc04bf228 remove opengl codes (#19797) 2019-06-05 02:58:33 -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
John c259918d03 Optimize cases where loop variable is unecessarily copied in a range-for loop. (#19637) (#19640)
Pass by const reference when appropriate.
2019-04-27 18:20:22 -07:00
minggo fd792813d2
Optimize calls to std::string::find() and friends (#19624) 2019-04-21 18:44:19 -07:00
minggo df88380394
fix the member parameter:_percent is always be 0 during the update process. (#19591) 2019-04-10 18:31:06 -07:00
minggo 4bb958fe29
fix static token array in headfile (#19164) (#19585)
The token array shouldn't be static in CCPUScriptTranslator.h,
otherwise including it will generate duplicate token array.
2019-04-09 22:38:13 -07:00
Arnold 913211116e enable physics (#19545) 2019-03-25 20:02:06 -07:00
coulsonwang 8e6416bf87 [BugFix] fix particle3D 2019-03-13 15:12:36 +08:00
Arnold 0f1e70ac8b [bugfix] add mesh command callbacks (#19477) 2019-03-08 11:06:03 +08:00
Arnold 8caade49e6 [3d] add meshcommand (#19472) 2019-03-07 17:30:11 +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
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
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
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
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
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
James Chen d21af3b981 Some fixes after using ndk r16 clang to build android projects (#18531)
* [android] Fixes warning in UrlAudioPlayer.cpp and CCUserDefault-android.cpp

* Don't write 'using namespace std;' in header files.

* Uses std::unordered_map instead of std::map for Particle3D module.

* Updates external/config.json to v3-deps-141

* Continue to replace `gnustl_static` to `c++_static` for templates and test projects.

* Updates CCConsole.h/.cpp to resolve the following issue on Android:

jni/../../../../../cocos/base/CCConsole.cpp:321:28:   required from here
/Users/james/Software/android/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/utility:506:63: error: incomplete type 'std::__ndk1::is_move_assignable<cocos2d::Console::Command>' used in nested name specifier
                         is_move_assignable<first_type>::value &&
                                                               ^
make: *** [obj/local/arm64-v8a/objs-debug/cocos2dx_internal_static/base/CCConsole.o] Error 1

* Fixes a memory leak while addCommand and other minor changes.

* Updates tolua/cocos2dx.ini, don't bind Console::Command

* Adds CC_DLL for Console::Command

* Reverts tolua/cocos2dx.ini and ignore Console::[add Command addSubCommand getSubCommand delSubCommand].

* Ignores Console::getCommand.
2017-12-05 13:35:16 +08:00
Jeff Wang 8733b952da Update CCTableView.cpp (#18451) 2017-11-08 13:55:57 +08:00
jtkjp e933dea96a Let ScrollView swallow touch events variable. (#18126) 2017-08-07 11:20:35 +08:00
Vladimir Perminov dac7030017 [Win32,WinRT] Fix old bag, Manifest not save. (#17814)
Manifest::saveToFile not save, if path contains not asii chars.
std::ofstream not use unicode api.

Now use FileUtils api for write file.
2017-05-17 16:18:58 +08:00
David DeSimone ca0a7f313e Changing AsyncTaskPool/Scheduler to better leverage move semantics (#17727)
* Changing CCAsyncTaskPool and CCScheduler to better leverage move semantics, to avoid several lambda copy constructor calls. Chaning call sites in the cocos engine to better leverage move semantics.

* Editing binding generator to not generate bindings for AsyncTaskPool::enqueue. Bindings were not previously generated for this function due to it's type signature involving a template parameter.

* Adding missing std::move call in AsyncTaskPool to skip a copy constructor call.
2017-05-08 13:39:17 +08:00
pandamicro 0eec73ba43 Bindings fix and assets manger ex fix (#17115)
* Fix custom event being discard during event emission

* Fix tilemap black line issue

* Fix auto bindings config

* Adapt websocket to new memory model

* Improve cocos2d_specifics code stability

* Fix issue with get_or_create_js_object function

* Improve memory usage in function wrapper invocation

* Use JS Function bind to avoid memory tracking issues

* Support size parameter to collect total byte size before update process

* Fix download resuming issue on Android

* Remove temporary assets when temporary manifest is invalid or out of date

* Use version compare handle to compare manifests versions

* Support max concurrent tasks setting & download verify callback

* Add Manifest::Asset conversion

* Avoid crash caused by wrappers

* Sync implementation of tested and published AssetsManagerEx from Cocos Creator

* Fix linux compilation issues
2017-03-15 16:09:02 +08:00
j-jorge e0918a85f4 Signal the scroll once the list is updated in cocos2d::extension::TableView. (#17295) 2017-03-14 13:58:11 +08:00
CocosRobot d07794052f Update license to 2017 (#17362)
* Typo: CopyRight -> Copyright

* Copyright update: chukong-inc.com -> Chukong Technologies Inc.

* [js files] Copyright update: 2014 -> 2014-2017

* [cpp files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2015 -> 2015-2017

* [js files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2016 -> 2016-2017

* Copyright update: 2013 -> 2013-2017

* Copyright update: 201?-201? -> 201?-2017

* License year fixes.

* Liscene year fix in CCRay.cpp

* Updates license years in CCGLProgramState.h & CCGLProgramStateCache.h
2017-02-14 14:36:57 +08:00