Commit Graph

262 Commits

Author SHA1 Message Date
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 68a40694a8 Fix ci warnings [ci build] 2021-04-26 17:28:58 +08: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
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 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 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
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
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
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 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 8ed6d34234 Explicit set cmake minimum version at app/build.gradle [ci build] 2021-04-22 11:40:53 +08:00
rh101 2bf12b2226 Add support for virtual file system via custom FileStream and FileUtils implementations. 2021-04-22 03:15:49 +10: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 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 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 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 cf24cf3a36 Sync yasio to 3.33.4 [ci build] 2020-11-25 19:07:21 +08:00
halx99 dd5f706dff Refine jni methods decls [ci build] 2020-11-18 13:25:00 +08:00
halx99 d1fc9712b4 fix UserDefault plain mode stack overflow 2020-11-17 19:50:58 +08:00
halx99 b341aa31da fix ci warnings 2020-11-15 21:34:53 -08:00
halx99 bcacf9137e Refine UserDefault comment [ci build] 2020-11-15 13:13:24 +08:00
halx99 9e3ad89089 Update CCUserDefault.cpp 2020-11-15 13:11:53 +08:00
halx99 772e57ef67 Update CCUserDefault.cpp 2020-11-15 13:08:21 +08:00
halx99 c3401087d2 Refine UserDefault comment 2020-11-15 12:26:40 +08:00
halx99 ff662dfffc Refine user default comment 2020-11-15 12:16:54 +08:00
halx99 c727d692a8 fix UserDefault doesn't work with encrypt enabled [ci build] 2020-11-15 11:45:14 +08:00
halx99 74133ec753 Add missing JNIEXPORT 2020-11-13 23:03:05 +08:00
Born.Xiao 6a1b561d7e Update CCUserDefault.cpp
write with variable  size,  calculate size use int32_t
2020-11-12 00:32:33 +08:00
halx99 b2d8a4626c Sets box2d as default physics 2d engine 2020-11-08 13:20:36 +08:00
halx99 d76e592ca9 fixup [ci build] 2020-11-03 12:41:23 +08:00
halx99 a7e03fa49f For scripting binding happy 2020-11-02 16:35:31 +08:00
halx99 09d1fffac7 fix userdefault getBoolForKey incorrect 2020-10-27 17:27:52 +08:00
halx99 534b2acc39 Lock name 2020-10-24 21:57:36 +08:00
halx99 b8a0e0a478 Finsih rename 2020-10-22 10:58:10 +08:00
halx99 ac21c27140 Build pugixml from sources for all platforms (#241) 2020-10-21 12:28:34 +08:00
halx99 dcf3dbe9e6 mini changes 2020-10-18 21:43:51 +08:00
halx99 b999d86597 Improve win dll support 2020-10-06 16:46:38 +08:00
halx99 5b5ab83830 Change access qualifier 2020-10-05 00:09:12 +08:00
halx99 0e987a7a0d Move isPOT to ccUtils.h for reuse 2020-10-04 23:43:57 +08:00
halx99 4592656b28 UserDefault int64_t 2020-10-02 19:52:32 +08:00
halx99 cca0739793 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 ad62747456 fix #213 2020-09-22 17:34:52 +08:00
halx99 9790c31529 fix macro CC_LOG_TO_CONSOLE doesn't work for win32 2020-09-22 17:23:19 +08:00
halx99 6e7e117a0d RenderTarget abstract, in-progress (#210)
RenderTarget abstract
2020-09-21 22:10:50 +08:00
halx99 e91b7240e6 captureScreen compatible, saveFile at offthread 2020-09-15 14:12:00 +08:00
halx99 b956637c74 Fixup
OpenGL: read screen pixels only works: AFTER_DRAW and BEFORE_END_FRAME
2020-09-14 17:43:44 +08:00
halx99 c542037e7c Needs readPixels at CallbackCommand
Avoid read dirty pixels
2020-09-14 17:20:07 +08:00
halx99 81e78573e6 Refine code 2020-09-13 19:16:59 +08:00
halx99 d4887b8584 No need CaptureCommand for capture screen or node 2020-09-13 13:27:50 +08:00
halx99 cc7d95ffef Update comment [skip appveyor] [skip travis] 2020-09-12 20:44:08 +08:00
halx99 3b71ea621a Refine code 2020-09-12 15:34:09 +08:00
halx99 c79da1ca05 fix ci 2020-09-11 14:45:45 +08:00
halx99 66161f982a Remove unused comment 2020-09-11 12:14:40 +08:00
halx99 0365122f4a v4 captureScreen API compatiable, gl needs flip always for capture 2020-09-11 11:57:55 +08:00
halx99 d2acbe176e finish gl backend 2020-09-11 01:19:10 +08:00
halx99 671b6b4ca9 Tidy code 2020-09-11 00:10:44 +08:00
halx99 dc3796d746 Refine code 2020-09-10 21:38:24 +08:00
halx99 e283a4fca0 Refactor capture, fix data race for apple metal reanderer backend 2020-09-10 21:14:28 +08:00
halx99 0df57da33f fix compile issue[skip appveyor] 2020-09-09 15:47:41 +08:00
halx99 df8631582b Tidy, update programState texture at attachProgramState 2020-09-09 15:29:56 +08:00
halx99 cabc917bff Move getFileDataFromZip from FileUtils to ZipFile and mark it as deprecated 2020-09-06 17:00:20 +08:00
halx99 e564a5bc25 Add CC_REDUCE_PAUSED_CPU_USAGE ccConfig.h to control whether reduce cpu usage after paused 2020-09-05 17:12:30 +08:00
halx99 cd3923b553 Add utils::makeInstance and utils::newInstance 2020-09-04 11:28:16 +08:00
halx99 d66e62e436 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 6f524beeb6 Remove unused comment [skip appveyor][skip travis] 2020-09-01 13:29:41 +08:00
halx99 cc53868d27 More clearly ETC1 format, sync enums for ETC1, correct somethings 2020-09-01 11:43:03 +08:00
halx99 09cedf60b2 Improve images decoder 2020-08-31 21:04:47 +08:00
halx99 e96ae229dd Merge: 5ddc84bbee 539e5ca42c
Merge pull request #189 from aismann/patch-8

Update README.md
2020-08-31 04:27:33 -07:00
halx99 a87c0bba78 More clearly data owner when decode images. 2020-08-31 19:24:23 +08:00
halx99 fa5d2d198b fix resources relative path to avoid test case crash on mobile 2020-08-31 17:39:29 +08:00
halx99 c338472df8 Move copyright notice to header [skip appveyor][skip travis] 2020-08-31 17:35:01 +08:00
halx99 477aa0c185 Clearly CCLOG content 2020-08-31 17:13:04 +08:00
halx99 086c3dee3c Add comment for etc1/etc2 compression tools [skip appveyor][skip travis] 2020-08-31 16:16:13 +08:00
halx99 8749c63346 fix compile issue 2020-08-31 15:17:28 +08:00
halx99 2443e01136 fix compile issue 2020-08-31 14:50:33 +08:00
halx99 27ba2fd377 Remove unused file [skip appveyor][skip travis] 2020-08-31 14:48:10 +08:00
halx99 da8f1c56fe ETC2 software decode support 2020-08-31 14:11:48 +08:00
halx99 43f464163c 1. Finish ETC2 support on GL renderer backend
2. Improve ASTC compressed format check
2020-08-30 17:58:39 +08:00
halx99 0edf05888f fix CCValue::visit 2020-08-30 17:45:21 +08:00
halx99 81b038c18d Code improvement 2020-08-28 15:01:25 +08:00
halx99 238cd782e3 Add CMake -DCC_FORCE_USE_GLES to control whether force use gles on win32,iOS 2020-08-28 12:57:00 +08:00
halx99 53b1da1bf9 fix mssing sources 2020-08-27 12:44:30 +08:00
halx99 b6f2d775a9 Make UserDefault encrypt/decrypt algorithm can be customlized 2020-08-27 12:37:20 +08:00
halx99 d0c01ea688 Merge: 6be52c29e7 9d7d1e40fb
Merge branch 'master' of https://github.com/c4games/engine-x into master
2020-08-26 12:46:51 +08:00
halx99 6df5f91142 Sync LayoutHelper APIs 2020-08-26 12:46:41 +08:00
halx99 8d7a5ab3c6 finish killCurrentProcess implementation on windows 2020-08-26 10:36:33 +08:00
halx99 6fe10e8809 Add utils::killCurrentProcess API to kill game immidiately 2020-08-25 23:12:26 +08:00
halx99 0e0a28e033 Merge: 1740c444f8 5c850e00ac
Merge pull request #171 from halx99/feature-170

Add utils::createInstance to instead macro CREATE_FUNC
2020-08-24 23:55:37 -07:00
halx99 feb4e1783a fix warning 2020-08-25 14:47:51 +08:00
halx99 0545a471cb fix ci 2020-08-25 14:08:17 +08:00
halx99 d39f803459 Add utils::createInstance to instead macro CREATE_FUNC 2020-08-25 13:49:45 +08:00
halx99 083d14f342 Improve code quality 2020-08-18 14:29:09 +08:00
halx99 a3a231495c Backport CCValue APIs 2020-08-18 11:33:18 +08:00
halx99 9fef6a8720 Sync macro 2020-08-07 23:55:25 +08:00
halx99 7e7fba9649 By default, make cocos2d::log multi-threading safe 2020-08-07 23:52:41 +08:00
halx99 d424be2a80 Naming style 2020-08-07 00:39:55 +08:00
halx99 77b3290226 Make CCValue compatible official cocos2d-x v3/v4 2020-08-06 19:39:50 +08:00
halx99 03816cd0c0 fix console output error on win32, see #144 2020-08-05 17:30:30 +08:00
halx99 205d6e5fb9 fix lua compile issue 2020-08-04 22:38:57 +08:00
halx99 2add0272a3 Add ENGINEX_VERSION and improve ABI compatiable 2020-08-04 12:11:36 +08:00
halx99 e638e0bd68 Tidy sources 2020-08-04 00:14:35 +08:00
halx99 818842671f fix compile issue on iOS 2020-07-21 23:05:25 +08:00
halx99 e9fa3b4dac Merge: 7624df74f3 d20d3fd241
Merge pull request #111 from halx99/fix-type-error

fix type error, well xxhash never generate 0 for validate draw command.
2020-07-10 16:42:57 +08:00
halx99 67ab691c30 fix compile issue 2020-07-10 16:00:21 +08:00
halx99 3df478d5e1 Merge: 851d301574 7b82d47fcf
Merge pull request #110 from halx99/fix-angle

Correct feature test when use angle backend
2020-07-10 15:56:41 +08:00
halx99 26da430a2f fix type error, well xxhash never generate 0 for validate draw command. 2020-07-10 15:55:31 +08:00
halx99 c93a443f18 Correct feature test when use angle backend 2020-07-10 15:16:44 +08:00
halx99 e77b0eb4be Fix compile error 2020-05-18 10:13:57 +08:00
halx99 f26fbf2843 fix missing include header file 2020-05-18 09:21:52 +08:00
halx99 d2cb808160 Improve StringUtils::format reuseable, see #88 2020-05-15 22:57:33 +08:00
halx99 5b18408c96 fix typo 2020-05-11 23:00:02 +08:00
halx99 0fef6018c0 fix #86 2020-05-06 16:28:34 +08:00
halx99 52058861a0 Refactor CCValue. 2020-03-03 19:24:07 +08:00
halx99 331fa9542e Use original c lib minizip-1.2.0 2020-02-28 13:55:25 +08:00
halx99 9d797b6998 Clean JSB sources, optmize script event dispatch. 2020-02-28 02:15:33 +08:00
halx99 d0c0872dd9 Add missing header 2020-02-23 21:36:36 +08:00
halx99 734b5bd44f fix #41 2020-02-23 21:27:14 +08:00
halx99 55f96054b7 Update deps to v29 2020-02-14 19:14:39 +08:00
halx99 b108276f56 Refine extensions output. 2020-02-14 16:03:58 +08:00
halx99 41f0869926 Merge: 2d3e162e21 5d7f58c3ad
Merge pull request #50 from weiwest/master

add astc support (Great Job)
2020-02-12 20:24:29 +08:00
halx99 53d784af8d fix #51 2020-02-12 20:15:09 +08:00
weiwest a998fe8c14 Merge: 2a02db76d8 2d3e162e21
Merge remote-tracking branch 'upstream/master'
2020-02-12 16:58:47 +08:00
weiwest 33b9e8330b add astc soft decode support 2020-02-11 23:54:17 +08:00
halx99 d38b5a1310 fix comment. 2020-02-06 23:33:12 +08:00
halx99 b32d0b0afe Refactor UserDefault, cbc128 encrypt support. 2020-02-06 23:30:33 +08:00
halx99 aa4d08eb3f Merge: ffcb65fdaa e10155bef4
Merge pull request #39 from halx99/master

Refactor UserDefault, add plain mode for win32.
2020-02-06 23:28:33 +08:00
weiwest 2acb59d377 add astc support 8x8 block size 2020-02-06 21:54:45 +08:00
halx99 277120ead1 Refactor UserDefault, add plain mode for win32.
plain mode: 760ms
binary mode: 11ms
2020-02-06 21:15:15 +08:00
halx99 062c99844e Refactor UserDefault, handle error & fix can't enlarge problem. 2020-02-06 11:55:28 +08:00