Commit Graph

14102 Commits

Author SHA1 Message Date
rh101 cd0c5bfcee Merge branch 'vfs-support' of https://github.com/rh101/engine-x into vfs-support 2021-04-23 00:01:47 +10:00
rh101 2aa2d69151 Move PosixFileStream class to its own files
Update UserDefault to work with FileStream
Fix undefined openFileStream on platforms other than Win32
2021-04-23 00:01:32 +10:00
RH b7506fed0c
Merge pull request #4 from rh101/master
Sync with master
2021-04-22 21:49:43 +10:00
rh101 15c8f2298d Use FileStream to write JPG images to disk 2021-04-22 21:36:26 +10:00
halx99 844119d162 Fix #339 [ci build] 2021-04-22 18:55:56 +08:00
rh101 684a0faf76 Fixed typo 2021-04-22 03:18:23 +10:00
rh101 8de1099614 Add support for virtual file system via custom FileStream and FileUtils implementations. 2021-04-22 03:15:49 +10:00
halx99 e8c1d7bc2c Set cmake min version to 3.10 [ci build] 2021-04-21 14:05:44 +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 41f5307d36 Refine director access [ci build] 2021-02-05 23:09:14 +08:00
HALX99 138781151a
Fix depth stencil state/desc (#321)
* Fix ds state

* fix 3d object not render

* Update DepthStencilStateGL.cpp

* fix ds, not complete

* fix image ref incorrect

* Fix metal captureScreen

* Share ds desc
needs restore properly after non-default render target destroy.

* fix gl compile

* Sync ds desc

* Only set vertex & index buffer once for batch draw

* Add set/get ds desc for renderer

* Refine code style

* Fix RenderTextureTest
a. should restore stencil desc properly

* Sync gl captureNode

* Sync GL
2021-01-31 22:22:52 +08:00
halx99 04b87dfe5d Fix #318 2021-01-27 12:03:42 +08:00
halx99 169c13ad6f Fix warnings 2021-01-26 19:00:04 +08:00
HALX99 46fad08e4c
Revert "Fix #313" 2021-01-21 12:41:01 +08:00
halx99 ab8cde3e95 Fix ParticleBatchNode texture not bind [ci build] 2021-01-19 23:53:22 +08:00
halx99 ae0c3eddef Fix #313
a. error: depthAttachment PixelFormat (MTLPixelFormatInvalid) and stencilAttachment PixelFormat (MTLPixelFormat Depth32Float_Stencil8) must match.
b. Because we only support D24S8(D32FS8) combined format, so needs check
TargetBuffferFlags::DEPTH_AND_STENCIL when setup depth and stencil
format, otherwise newRenderPipelineWithDescriptor will crash.
2021-01-16 00:01:21 +08:00
halx99 208d07697f Fix next drawable maybe nil crash[ci build] (#310) 2020-12-17 15:31:16 +08:00
halx99 c44d94a2b2 Update lua bindings source [ci build]
cxx17::string_view support
2020-12-16 17:52:17 +08:00
halx99 03b605dcee Sync yasio [ci build] 2020-12-15 18:58:04 +08:00
halx99 c95e0466e1 Refactor android runOnGLThread
Ensure the callback run engine core mainLoop,
This commit can solve any weird behaviors, such as:
a. text render maybe missing charactors when bring from back to frontend
b. some renderer objects alpha may present black at sdk callback call
c. some other things
All above behavior is caused gl state not ready when go back to game activity from sdk activity
2020-12-09 15:13:57 +08:00
HALX99 bb9b40689c
Merge pull request #295 from aismann/master
CCPhysicsSprite(Box2D/Chipmunk2D) cleanup, some other small improvements...
2020-12-02 08:39:58 -08:00
halx99 f713ca6baa fix ci 2020-12-02 03:33:53 -08:00
halx99 108399ede3 Unify CC_COMPAT_GL to control renderer backend
win32: google angle
mac: NSGL
ios: GLES
2020-12-02 03:03:05 -08: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 7fd68a77dc
Merge pull request #286 from rh101/add-center-vertical-layout-support
Add support for center vertical layout
2020-11-26 23:43:25 -08:00
HALX99 4c1ff6bd01
Merge pull request #285 from rh101/fix-listview-dimensions
Fix ListView dimensions when child elements are scaled
2020-11-26 23:08:30 -08:00
HALX99 74add84559
Merge pull request #282 from rh101/fix-editbox-globalz
Ensure global Z is correctly set on all child items of EditBox
2020-11-26 23:00:14 -08:00
rh101 17f3959a13 Allow user to set custom program type value 2020-11-27 17:26:02 +11:00
rh101 369bef3614 Add support for center vertical layout 2020-11-27 17:24:07 +11:00
rh101 f113e1f2ed Fix ListView dimensions when child elements are scaled. 2020-11-27 17:02:31 +11:00
rh101 ee996a5cfb Ensure global Z is correctly set on all child items of EditBox 2020-11-27 16:59:34 +11:00
halx99 f543356bb7 Sync yasio to 3.33.4 [ci build] 2020-11-25 19:07:21 +08:00
halx99 5821233e45 Sync pr: https://github.com/cocos2d/cocos2d-x/pull/20614 2020-11-24 18:10:28 +08:00
HALX99 0d04e20b50
fix metal znear range for viewport
https://developer.apple.com/documentation/metal/mtlrendercommandencoder/1515527-setviewport?language=objc
2020-11-23 09:30:51 +08:00
halx99 1bd6f5680f Refine jni param types 2020-11-18 18:19:14 +08:00
halx99 eeafffe2f1 jni match natvie API param types 2020-11-18 18:17:55 +08:00
halx99 ca42ef08ba Refine jni methods decls [ci build] 2020-11-18 13:25:00 +08:00
halx99 53122216ee Add missing param JNIEnv* for natvie interfaces [ci build] 2020-11-18 12:15:48 +08:00
HALX99 5ff9f4786e
fix UserDefault plain mode stack overflow 2020-11-17 19:50:58 +08:00
halx99 64c5c4612d fix ci warnings 2020-11-15 21:34:53 -08:00
halx99 57c767a66d fix #260 [ci build] 2020-11-16 12:21:27 +08:00
halx99 a71788d942 Delete unused buitin shaders 2020-11-16 11:20:12 +08:00
HALX99 619b0863ac
Refine UserDefault comment [ci build] 2020-11-15 13:13:24 +08:00
HALX99 b397ed09a5
Update CCUserDefault.cpp 2020-11-15 13:11:53 +08:00
HALX99 f1262c521f
Update CCUserDefault.cpp 2020-11-15 13:08:21 +08:00
HALX99 9ba25c0fb1
Refine UserDefault comment 2020-11-15 12:26:40 +08:00
HALX99 1e0dcb9c3f
Refine user default comment 2020-11-15 12:16:54 +08:00
halx99 980ff17f9a fix UserDefault doesn't work with encrypt enabled [ci build] 2020-11-15 11:45:14 +08:00
halx99 f6ceee918d fix compile and improve Physics3DConstraint management [ci build] 2020-11-15 00:48:53 +08:00
halx99 0975901da6 Update config.json [ci build] 2020-11-14 13:32:51 +08:00
halx99 ebb6e1963b plain include xxhash.h 2020-11-14 12:22:51 +08:00
halx99 01b4965184 Add missing JNIEXPORT 2020-11-13 23:03:05 +08:00
Born.Xiao fce153cdb1
Update CCUserDefault.cpp
write with variable  size,  calculate size use int32_t
2020-11-12 00:32:33 +08:00
halx99 7d1c669231 Sets box2d as default physics 2d engine 2020-11-08 13:20:36 +08:00
halx99 520cc31f1b Add cmake option -DLUA_ENGINE=luajit to switch lua engine to luajit [ci build] 2020-11-07 10:36:22 +08:00
HALX99 d4284b880e
Update comment 2020-11-06 09:33:26 +08:00
halx99 a2a7166808 [Metal] matching depth stencil state 2020-11-06 08:56:25 +08:00
halx99 8e35201726 fix #255 [ci build] 2020-11-05 22:51:33 +08:00
halx99 449d8ce0e2 fix #255 [ci build] 2020-11-05 22:24:30 +08:00
halx99 9e99cfe119 Remove unused shader files [ci build] 2020-11-04 16:35:12 +08:00
halx99 8b5964504f fixup [ci build] 2020-11-03 12:41:23 +08:00
halx99 043d139669 Now, the lua binding generator should works [ci build] 2020-11-02 16:47:33 +08:00
halx99 da1613a9b6 For scripting binding happy 2020-11-02 16:35:31 +08:00
halx99 9d0cb09f5d Remove Sprite::updateShaders [ci build] 2020-10-31 20:08:32 +08:00
halx99 b897e61c94 Improve memory use 2020-10-29 19:13:36 +08:00
halx99 f27b1201c8 fix userdefault getBoolForKey incorrect 2020-10-27 17:27:52 +08:00
halx99 e25931f686 fix compile 2020-10-27 17:01:03 +08:00
halx99 a3a92b5d81 Use DeviceGL to store defaultFBO 2020-10-27 16:58:37 +08:00
halx99 a0805f52df GLES ios compile 2020-10-27 01:42:05 -07:00
halx99 21d9cbdc11 DNT printmat by default 2020-10-27 11:21:03 +08:00
halx99 119740da15 Sprite::setTexture, programType >= ProgramType::HSV needs update by user manually. 2020-10-27 11:14:36 +08:00
HALX99 e5a05ab7b8
Refine DrawNode, should not use Node::_programState for private use (#251)
The follow classes should not reuse Node::_programState, otherwise needs override Node::setProgramState to update programState of pipelineDescriptor:
- DrawNode
- LayerColor
- LayerRadialGradient
- ParticleBatchNode
- ParticleSystemQuad
2020-10-26 14:49:14 +08:00
halx99 27bdca35f8 Don't update sprite shader when it's not default 2020-10-26 13:08:02 +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 5a6efdf800 Optimize includes 2020-10-23 16:40:51 +08:00
halx99 c3625b5774 fix android build 2020-10-23 16:36:24 +08:00
halx99 ebc89adcfc Support specific manually and more clearly comment 2020-10-23 15:27:03 +08:00
halx99 a14b7cc91e Only needs updateUniformID when set a unstable uniform variable 2020-10-23 15:07:18 +08:00
halx99 8f463be6f9 Add setUniformID manually for user to avoid calculate uniformID with uniform buffer automatically 2020-10-23 12:39:30 +08:00
halx99 a8561bba30 Remove default constructor of ProgramState 2020-10-23 12:17:36 +08:00
halx99 1fb454a7ee Since we have uniformID, CUSTOM_PROGRAM also can batch 2020-10-23 12:07:37 +08:00
halx99 62108b40b1 Since v4, no needs callback uniform, so mark setCallbackUniform deprecated 2020-10-23 11:57:17 +08:00
halx99 2b125c75bd Refine ProgramState mat id 2020-10-23 11:37:52 +08:00
halx99 f50edaa18c Simply skip batch for custom program, see #245 2020-10-23 10:26:45 +08:00
halx99 b8834bc086 Finsih rename 2020-10-22 10:58:10 +08:00
HALX99 0a1af78a0e
Build pugixml from sources for all platforms (#241) 2020-10-21 12:28:34 +08:00
halx99 3b6545b4b4 Fix CCFileStream write bits
make it behavior same with fopen "wb"
2020-10-21 10:58:48 +08:00
HALX99 d28891fb62
Remove unused converter functions 2020-10-21 00:35:39 +08:00
halx99 dd98b13a9d Refine pixel format
a. make RGB565, RGB5A1 identical between GL and MTL backend
b. make texture internal format compatible on GLES-2.0 ONLY GPU devices
2020-10-20 23:27:20 +08:00
halx99 59b1bd30e8 fix rgba4444 enum for gles-2.0 only GPU 2020-10-20 20:01:18 +08:00
halx99 190d4cb3e3 GLES compatible 2020-10-20 19:50:34 +08:00
halx99 8dafaf3b67 Remove unused varaibles 2020-10-20 19:38:33 +08:00
halx99 cdaed31389 fix lua build on android 2020-10-19 19:56:48 +08:00
halx99 919d48d68e Finish cpp and lua template to use env var 'COCOS2DX_ROOT' to avoid copy whole engine source when new project. 2020-10-19 18:33:10 +08:00
halx99 c8c7c1dd6b mini changes 2020-10-18 21:43:51 +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 5fc71649a7 fix clear flow for rendertexture and grid since we use clearCommand to clear renderTarget, see #233 2020-10-16 16:25:10 +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 a397287e3f
fix #233 (#235) 2020-10-16 01:41:36 +08:00
halx99 755a0fb45a fix #233 2020-10-15 10:22:18 +08:00
halx99 4ee711599c Add setDispatchOnWorkThread support 2020-10-08 00:00:14 +08:00
halx99 343b0343f3 Use move assignment 2020-10-07 23:59:26 +08:00
halx99 e28a292ec3 API qualifiers improments 2020-10-07 00:07:53 +08:00
halx99 1735517112 Improve win dll support 2020-10-06 16:46:38 +08:00
halx99 2b8514fdc4 fix warning 2020-10-06 12:31:17 +08:00
HALX99 a83c52d67c
Refine HttpClient (#224) 2020-10-05 08:32:48 +08:00
halx99 b3b8d8b960 Refine HttpClient 2020-10-05 02:40:38 +08:00
halx99 9586f95c81 fix #223 2020-10-05 00:10:31 +08:00
halx99 d45591b49b Change access qualifier 2020-10-05 00:09:12 +08:00
halx99 baa5f69a81 Add custom hosts support for HttpReuqest
refer to: https://curl.haxx.se/libcurl/c/CURLOPT_RESOLVE.html
2020-10-04 23:44:52 +08:00
halx99 cd216f2f4b Move isPOT to ccUtils.h for reuse 2020-10-04 23:43:57 +08:00
halx99 9f2420e9ee fix lua binding, remove unused initWithBackendTexture 2020-10-03 18:04:56 +08:00
halx99 771d278b4e UserDefault int64_t 2020-10-02 19:52:32 +08:00
HALX99 bfa8cbcc6d
Delete duplicated _mv (#220) 2020-09-26 12:33:14 +08:00
halx99 543ead7111 Fix depth stencil state and pipeline state mismatch 2020-09-25 23:16:48 +08:00
HALX99 1090f732c9
Clearly texture usage and TextureGL initWithZeros usage (#219)
* Clearly texture usage and TextureGL initWithZeros usage

* More properly function name
2020-09-25 15:04:55 +08:00
halx99 ec6b9c650a Remove dep 2020-09-25 13:49:23 +08:00
halx99 cba91e085a Delete file ant.properties 2020-09-25 13:17:03 +08:00
halx99 f9c70bc1e9 Sync feature from b2a0cb5e2f 2020-09-25 13:13:54 +08:00
halx99 64e5cde97d Delete unused source files 2020-09-25 13:08:39 +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 1eec5cf7df fix #213 2020-09-22 17:34:52 +08:00
halx99 f6a4dcdfe5 fix macro CC_LOG_TO_CONSOLE doesn't work for win32 2020-09-22 17:23:19 +08:00
halx99 158b12e452 fix AtlasNode, needs update atlas values when ignore content scale factor changed 2020-09-22 16:35:24 +08:00
HALX99 09937c97a7
Refactor render pipeline state (#211)
* Refactor pipeline state
* Cache DepthStencil state for MTL renderer backend
2020-09-22 16:32:17 +08:00
halx99 d4347dc27d Reduce depthStencil state create, don't create it at per draw call 2020-09-21 22:58:45 +08:00
halx99 c5c7de9e1d Remove unused param for setRenderPipeline 2020-09-21 22:35:18 +08:00
HALX99 5a32bcfdaf
RenderTarget abstract, in-progress (#210)
RenderTarget abstract
2020-09-21 22:10:50 +08:00
HALX99 f6d51583a8
fix macro 2020-09-21 11:38:21 +08:00
HALX99 b9ea114b9c
Merge pull request #209 from halx99/delete-copy-stubs
Explicit delete copy stubs for CustomCommand
2020-09-16 22:45:38 -07:00
halx99 03e5a1bd9a fix ci warnings 2020-09-17 12:13:59 +08:00
halx99 ebd19a07b3 fix ci 2020-09-17 12:10:08 +08:00
halx99 22a4586af9 Sync pr from https://github.com/cocos2d/cocos2d-x/pull/20580 2020-09-17 12:05:31 +08:00
halx99 dbf23f4826 Explicit delete copy stubs for CustomCommand 2020-09-17 11:41:14 +08:00
halx99 5554143993 suppressing invalid offset warning [skip appveyor][skip travis] 2020-09-16 22:57:55 +08:00
HALX99 80e5152596
Decrease pod offset 2020-09-16 21:26:14 +08:00
HALX99 3464e4e1a4
fix #206 2020-09-16 21:22:37 +08:00
halx99 fdb29d65c2 Needs recalculate max items when AtlasNode::setIgnoreContentScaleFactor 2020-09-16 13:34:20 +08:00
halx99 fd69e066ae check null also 2020-09-15 16:03:00 +08:00
halx99 2d2d0e7ee6 Take care PBO use on android 2020-09-15 16:01:44 +08:00
halx99 24ddc710e8 captureScreen compatible, saveFile at offthread 2020-09-15 14:12:00 +08:00
HALX99 51980b6edf
Fixup
OpenGL: read screen pixels only works: AFTER_DRAW and BEFORE_END_FRAME
2020-09-14 17:43:44 +08:00
HALX99 9b2f934b47
Needs readPixels at CallbackCommand
Avoid read dirty pixels
2020-09-14 17:20:07 +08:00
halx99 a9f1c43127 fix fbo attachment texture bind error 2020-09-13 19:17:49 +08:00
halx99 c5d6f35d9d Refine code 2020-09-13 19:16:59 +08:00
HALX99 961b023bfa
Remove unused CaptureCallbackCommand (#2) 2020-09-13 14:53:17 +08:00
halx99 2c496b7393 Refine comment 2020-09-13 13:30:41 +08:00