Commit Graph

663 Commits

Author SHA1 Message Date
RH 3c49c07465 Fix to allow the correct saving of images on iOS when using a virtual file system (#369)
* Fix to allow the correct saving of images on iOS when using a virtual file system

* Add missing import for FileUtils
2021-06-03 02:34:02 +08:00
halx99 5a6045ab19 Make gradle utils file as shared [ci build] 2021-06-02 06:27:19 +08:00
halx99 42fdfe5565 Use md5 from openssl [ci build] 2021-06-02 00:44:45 +08:00
halx99 20bfeb26bf Update astc [ci build] 2021-06-01 23:43:54 +08:00
halx99 1d10a42cfa Update ConvertUTF,poly2tri [ci build] 2021-06-01 11:47:19 +08:00
RH 56fc4513ef FileStream::size() implemented (#365)
* Add FileStream::size()
Add ZipFile::zfsize()

* Use FileStream::size()
2021-05-31 15:08:44 +08:00
RH 5e18a87849 Cache stream size because Apple audio decoder requests the value too often (#364)
* Use FileStream to handle file operations for audio files on Apple platforms

* Audio callbacks are now static methods of AudioDecoderEXT class

* Track AudioFileID and close it explicitly in case it is required

* Remove unused code

* Improve performance by caching stream size since Apple audio decoder requests the size constantly during playback
2021-05-31 12:37:28 +08:00
RH a74c61c218 Add Apple audio virtual file system support by using FileStream (#363)
* Use FileStream to handle file operations for audio files on Apple platforms

* Audio callbacks are now static methods of AudioDecoderEXT class

* Track AudioFileID and close it explicitly in case it is required

* Remove unused code
2021-05-29 16:15:16 +08:00
halx99 d0bb2a38a2 Fix ci [ci build] 2021-05-28 16:43:32 +08:00
halx99 571f639f0b Use type GLchar for glGetShaderInfoLog 2021-05-27 14:52:09 +08:00
halx99 7d0395ee26 Fix #360 2021-05-27 14:39:17 +08:00
halx99 026c3ab7c5 Fix console output text encoding for win32. 2021-05-26 00:24:39 +08:00
halx99 84a8ec8e2e Fix lua build [ci build] 2021-05-24 19:18:15 +08:00
halx99 6ff9a28f78 Better code style 2021-05-24 13:26:56 +08:00
halx99 4ebc4e48c7 Update CCDevice-win32.cpp 2021-05-18 23:52:25 +08:00
halx99 ba7e7ff84a Fix charset process for fontName on win32 [ci build]
Since we use freetype, never needs create ttf font by win32 API
2021-05-18 23:50:23 +08:00
halx99 827d384eef Renaming refactor (#353) [ci build] 2021-05-18 16:40:30 +08:00
halx99 dba89b7362 Fix warning [ci build] 2021-05-14 20:50:59 +08:00
halx99 64a1d68d6f Fix cmake issue [ci build]
Avoid cause check_include_file return unexpected result.
2021-05-11 23:48:15 +08:00
halx99 8e6faac1f1 Merge: 3348f10813 3a7bb58045
Merge pull request #350 from rh101/fix-cmake-set-property

Fix for CMake error when set_property is called with aliased target
2021-05-05 19:49:30 +08:00
rh101 c3618f8ea6 Extract real target from ALIAS if it exists in order to set property successfully
Remove duplicate entries in dependencies lists
2021-05-05 16:04:06 +10:00
halx99 a7577ba4c7 Merge: d8367d9376 3a3c4ed518
Merge pull request #348 from c4games/dev

Merge dev to master
2021-04-28 04:47:16 -07:00
halx99 70f8393b8f Update install-deps-linux.sh 2021-04-28 19:14:44 +08:00
halx99 7cbfd84f95 Enable build curl with openssl [ci build] 2021-04-28 15:10:28 +08:00
halx99 0511520281 Merge: 7f1ca55a97 1efe0091a8
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 e5fa398c67 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 d734599c1c NavMesh Use lz4 instead fastlz [ci build] 2021-04-26 22:39:44 +08:00
halx99 0f12e59e3b Sync pr: https://github.com/cocos2d/cocos2d-x/pull/20662 2021-04-26 19:00:43 +08:00
halx99 68a40694a8 Fix ci warnings [ci build] 2021-04-26 17:28:58 +08:00
halx99 ff24bdf192 Optimize macro posix_fsetsize, use ',' is better [ci build] 2021-04-26 17:02:28 +08:00
rh101 0583f9a4e0 Get the raw pointer on creation of the FileStream to avoid any accidental usage of the unique_ptr. 2021-04-26 17:31:34 +10:00
rh101 13115cc789 Let the OGG function overrides handle freeing memory of the FileStream pointer. 2021-04-26 17:30:18 +10:00
rh101 3281c7349a Clear unique_ptr with reset(). 2021-04-26 15:46:59 +10:00
rh101 b923b1a678 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 668e96cadd 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 23301e563e Minor code clean-up 2021-04-26 10:45:55 +10:00
RH ba6f6dfcfa Merge: 85c5705f48 ce6117fa65
Merge branch 'master' into vfs-support
2021-04-26 10:40:16 +10:00
RH 5b168e3bb6 Merge: 03bb24f313 85c5705f48
Merge branch 'vfs-support' into master
2021-04-26 10:39:09 +10:00
RH 0e2247a2d9 Merge: d1027ab263 ce6117fa65
Merge pull request #7 from c4games/master

Sync with primary
2021-04-26 10:32:25 +10:00
rh101 ff60724c9e Return error value in FileUtils::getContents if size result is an unexpected value. 2021-04-26 10:29:29 +10:00
rh101 833f27f499 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 e6990d0b36 Remove unnecessary method call to close FileStream 2021-04-26 08:55:07 +10:00
halx99 be9bd61131 Fix tool script cocos 2021-04-25 09:22:07 -07:00
rh101 4745016bc2 Use FileStream instead of fopen to check if file can be opened in read mode 2021-04-26 01:44:50 +10:00
rh101 3eb42e00c7 Convert return value to what is expected by FileStream::seek 2021-04-26 01:37:15 +10:00
rh101 fa4ed8a975 Initialise member variable 2021-04-26 01:05:06 +10:00
halx99 87be236932 Merge: 8b8b015b02 b1da56d401
Merge pull request #343 from rh101/curl-fix-filestream

Fix for downloader crash due to uninitialised variables
2021-04-25 18:34:29 +08:00
rh101 5509d0f80d Update usage of createDownloadFileTask 2021-04-25 18:36:20 +10:00
rh101 abb27ce2f3 Fix downloader crash due to uninitialised variables. 2021-04-25 18:20:25 +10:00
RH c8c4c2d703 Merge: 6fbebe9617 8b8b015b02
Merge pull request #6 from c4games/master

Sync with primary
2021-04-25 18:14:50 +10:00
rh101 c26a5e7bd8 Ensure FileStream is used for file access where possible 2021-04-25 17:22:43 +10:00
halx99 964e515f48 Merge: 2a1459b27b 3d8884721f
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 0867aa48a9 Add function comments to detail the expected parameters and return values of a FileStream 2021-04-25 15:27:25 +10:00
rh101 5cc21f52ba Removed incorrect delete statement 2021-04-25 14:42:42 +10:00
rh101 3dbdd7b5ee Verify the amount of string space we have to replace the zip extension 2021-04-25 12:15:56 +10:00
rh101 8703cad209 Initialise member variable 2021-04-25 02:47:21 +10:00
rh101 84be1fa014 Minor code cleanup 2021-04-25 02:45:04 +10:00
rh101 a819f310b2 Removed redundant code 2021-04-25 02:43:03 +10:00
rh101 cce67f688e Add support for FileStream in ZipUtils and ZipFile 2021-04-25 02:39:47 +10:00
halx99 da1038b147 Fix crash from pr: #340 2021-04-24 18:15:54 +08:00
halx99 5484825229 Fix indent with clang-format [ci build] 2021-04-24 16:58:41 +08:00
rh101 155fe98406 openFileStream now returns a nullptr if it fails 2021-04-24 09:22:27 +10:00
rh101 e1ce966be2 Remove redundant std::move 2021-04-23 22:00:33 +10:00
rh101 6502627714 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 95cf5b5c2b Merge: 2aa2d69151 b7506fed0c
Merge branch 'vfs-support' of https://github.com/rh101/engine-x into vfs-support
2021-04-23 00:01:47 +10:00
rh101 54ffa13dff 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 dd5f77c3d5 Merge: 15c8f2298d 0886473e1b
Merge pull request #4 from rh101/master

Sync with master
2021-04-22 21:49:43 +10:00
RH 1e15ed4839 Merge: 2cef9f2e76 844119d162
Merge pull request #3 from c4games/master

Sync with master
2021-04-22 21:48:49 +10:00
rh101 7540c06fd3 Use FileStream to write JPG images to disk 2021-04-22 21:36:26 +10:00
halx99 6effb1642f Fix #339 [ci build] 2021-04-22 18:55:56 +08:00
halx99 8ed6d34234 Explicit set cmake minimum version at app/build.gradle [ci build] 2021-04-22 11:40:53 +08:00
rh101 57e2d5dea8 Fixed typo 2021-04-22 03:18:23 +10:00
rh101 2bf12b2226 Add support for virtual file system via custom FileStream and FileUtils implementations. 2021-04-22 03:15:49 +10:00
halx99 473e51cee7 Set cmake min version to 3.10 [ci build] 2021-04-21 14:05:44 +08:00
halx99 4f0f713977 Merge: 6a868299f5 9aebfd4b0d
Merge pull request #331 from c4games/cmake-improve

Improve cmake scripts
2021-03-13 18:46:32 +08:00
halx99 b8892e446b Merge: 91bfb7c8ff a5cf017e0f
Merge pull request #330 from c4games/lua54-compat

Lua 5.4 compatible
2021-03-13 18:46:13 +08:00
halx99 d7610b8c77 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 fce0f9caf0 Refine director access [ci build] 2021-02-05 23:09:14 +08:00
halx99 6904b9f3f3 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 472266c25c Fix #318 2021-01-27 12:03:42 +08:00
halx99 53bbf7368c Fix warnings 2021-01-26 19:00:04 +08:00
halx99 03e130a19f Revert "Fix #313" 2021-01-21 12:41:01 +08:00
halx99 be79c908c5 Fix ParticleBatchNode texture not bind [ci build] 2021-01-19 23:53:22 +08:00
halx99 734602069e 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 984c164c57 Sync yasio to 3.35.0 [ci build] 2020-12-21 18:12:13 +08:00
aismann f38b271650 Update controller.cpp
"Node: Physics" using Chipmunk2D (hardcoded on e.g.: CCPhysicsBody.cpp)

Maybe a Wiki entry is also usefull?
2020-12-20 07:11:13 +01:00
halx99 3ebb1f57c0 Fix next drawable maybe nil crash[ci build] (#310) 2020-12-17 15:31:16 +08:00
halx99 b92c3d30c4 Update lua bindings source [ci build]
cxx17::string_view support
2020-12-16 17:52:17 +08:00
halx99 86e0340b9d Sync yasio [ci build] 2020-12-15 18:58:04 +08:00
halx99 3a49f0e064 Merge: c3ad19df96 c95e0466e1
Merge pull request #308 from c4games/refactor-android-run-on-gl-thread

Refactor android runOnGLThread
2020-12-10 16:56:14 +08:00
halx99 78aaf568c6 fix FUISprite gray to normal doesn't work 2020-12-10 16:54:59 +08:00
halx99 ca4597a1ff 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 04db04ad93 Merge: 3f4178cc27 dbf81d7511
Merge pull request #295 from aismann/master

CCPhysicsSprite(Box2D/Chipmunk2D) cleanup, some other small improvements...
2020-12-02 08:39:58 -08:00
halx99 571adc605a fix ci 2020-12-02 03:33:53 -08:00
halx99 8b9d5db029 Unify CC_COMPAT_GL to control renderer backend
win32: google angle
mac: NSGL
ios: GLES
2020-12-02 03:03:05 -08:00
aismann 73b2b175d9 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
halx99 43f5a305c8 Merge: 079ecdbbec 5e249bf6f8
Merge pull request #293 from aismann/master

Chipmunk2D and Box2D works together now (add two new classes) and FIX  ImGuiEXTTest window size problem
2020-12-01 01:52:47 -08:00
aismann 18cc4a9eb4 Update README.md
change wiki link:  https://github.com/c4games/engine-x-wiki
2020-12-01 10:32:09 +01:00
aismann 91843b3fae 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 315e42b126 Merge: 4c1ff6bd01 369bef3614
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