Commit Graph

14127 Commits

Author SHA1 Message Date
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
rh101 17e1cc1d71 Minor code clean-up 2021-04-26 10:45:55 +10:00
RH 6511da1ef1
Merge branch 'master' into vfs-support 2021-04-26 10:40:16 +10:00
rh101 85c5705f48 Return error value in FileUtils::getContents if size result is an unexpected value. 2021-04-26 10:29:29 +10:00
rh101 bcafad58ea Ensure code uses FileStream::tell() to get size if required after using FileStream::seek(0, SET_END) 2021-04-26 10:28:33 +10:00
rh101 d51edf3bfa Remove unnecessary method call to close FileStream 2021-04-26 08:55:07 +10:00
rh101 bceabe87c1 Use FileStream instead of fopen to check if file can be opened in read mode 2021-04-26 01:44:50 +10:00
rh101 d76cb66e8e Convert return value to what is expected by FileStream::seek 2021-04-26 01:37:15 +10:00
rh101 434d2730d6 Initialise member variable 2021-04-26 01:05:06 +10:00
rh101 b1da56d401 Fix downloader crash due to uninitialised variables. 2021-04-25 18:20:25 +10:00
rh101 ce1a24cb15 Ensure FileStream is used for file access where possible 2021-04-25 17:22:43 +10:00
HALX99 8b8b015b02
Merge pull request #341 from rh101/vfs-support
Add support for FileStream in ZipUtils and ZipFile
2021-04-25 14:21:19 +08:00
rh101 3d8884721f Add function comments to detail the expected parameters and return values of a FileStream 2021-04-25 15:27:25 +10:00
rh101 ed177ce084 Removed incorrect delete statement 2021-04-25 14:42:42 +10:00
rh101 521e2cad4c Verify the amount of string space we have to replace the zip extension 2021-04-25 12:15:56 +10:00
rh101 2cdd688166 Initialise member variable 2021-04-25 02:47:21 +10:00
rh101 f68521c4d0 Minor code cleanup 2021-04-25 02:45:04 +10:00
rh101 72bc0bf818 Removed redundant code 2021-04-25 02:43:03 +10:00
rh101 1238a08662 Add support for FileStream in ZipUtils and ZipFile 2021-04-25 02:39:47 +10:00
halx99 63ac9904c4 Fix crash from pr: #340 2021-04-24 18:15:54 +08:00
halx99 01f2ce3a2d Fix indent with clang-format [ci build] 2021-04-24 16:58:41 +08:00
rh101 e1a9141a00 openFileStream now returns a nullptr if it fails 2021-04-24 09:22:27 +10:00
rh101 5b3b0989b4 Remove redundant std::move 2021-04-23 22:00:33 +10:00
rh101 373c9262c4 Added getNativeWritableAbsolutePath() which will always return the underlying file system raw path.
Re-enabled memory mapped UserDefault usage, since it now has access to the raw file system path.
2021-04-23 01:00:00 +10:00
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