Commit Graph

309 Commits

Author SHA1 Message Date
RH 371ee89f8a Reduce memory usage when using getFileMD5Hash function (#1472)
* Avoid high memory usage when hashing a file.

* Make the chunk size adjustable when hashing a file. Default to 16KB.

* Add computeFileDigest to enable the use of different hashing algorithms.

* A hash should still be reported for an empty file.
2023-12-04 19:08:18 +08:00
Paulo Coutinho 0aab228acc Rename glview to correct representative name (#1467) 2023-12-01 09:04:51 +08:00
halx99 7b33b4edf0 Apple: remove deprecated gamepad
refer #1453
2023-11-27 00:01:14 +08:00
halx99 6a0f021ba9 Update thirdparty
simdjson 3.3.0 ==> 3.6.0
astcenc 4.5.0 ==> 4.6.0
yasio 4.1.0 ==> 4.1.1
2023-11-23 23:27:27 +08:00
RH 6f00aed73f [Android] Enable support for restarting application process if OpenGL context is lost (#1409)
* Add code to allow app to restart cleanly.
Call native renderer before the sleep in onDrawFrame due to possibility of invalid texture data after delay.
Dispatch event if application process will be restarted.
Add AX_ENABLE_RESTART_APPLICATION_ON_CONTEXT_LOST configuration option. Disabled if AX_ENABLE_CACHE_TEXTURE_DATA is enabled.

* Add missing code for nativeOnContextLost

* Revert onDrawFrame change to commit in separate PR

* Fix activity reference
2023-11-02 19:41:41 +08:00
RH e808fb9758 [Android] Fix corrupted FPS stats font textures on OpenGL context lost (#1402)
* Fix corrupted FPS stats font textures on OpenGL context lost

* Ensure _rendererRecreatedListener is recreated on a director restart.
2023-10-25 09:44:08 +08:00
halx99 429f11fd1c Fix #1391 2023-10-17 23:23:57 +08:00
halx99 4ccac3c21c Fix #1389 2023-10-16 20:24:38 +08:00
halx99 de286831de Improve code style 2023-10-12 22:10:11 +08:00
Deal c2847f892e Use std containers instead uthash (#1379) 2023-10-12 22:00:46 +08:00
halx99 b9042aeb20 Add a dedicated class for easy load padded string for simdjson parser 2023-10-12 00:02:48 +08:00
halx99 65e253b54a Fix wasm build 2023-10-10 22:01:09 +08:00
Deal 58221bbf2a Fix osx ci 2023-10-08 08:03:47 +08:00
halx99 dbb0dbcb79 Use JsonWriter for SDFGen 2023-10-08 02:28:08 +08:00
halx99 2305bfeced Update yasio to latest 2023-10-06 01:02:01 +08:00
halx99 539f37651b Make Data::fastSet behavior compatible, refer #1369 2023-10-02 21:08:51 +08:00
halx99 57492b203c Update yasio, improve pod_vector
a. now the pod_vector more reusable, byte_buffer, array_buffer aka dynamic_array
b. change pod_vector resize, assign allocate memory exactly/fit and +=, append, insert operations trigger msvc capacity growth strategy
2023-10-01 22:04:47 +08:00
halx99 79cd628235 Improve API utils::base64Encode with std::span 2023-09-29 17:13:10 +08:00
halx99 8ea11838a3 Minor improvements 2023-09-29 11:30:33 +08:00
halx99 4735e7acbe Minor improvements 2023-09-29 11:27:01 +08:00
halx99 4065b90039 Preferred use byte_buffer as APIs 2023-09-29 01:57:41 +08:00
halx99 2f1efe5a51 Add preload ttf SDF font atlas support
A extension SDFGen tool also available, see ImGuiTest
2023-09-26 01:33:06 +08:00
halx99 324ebeb628 Fix wasm RandomHelper always return 0 2023-09-18 19:07:15 +08:00
halx99 f8b796a7f9 Add API Director::getNextScene
Gets the top(next) scene which will going to running state.
2023-09-07 21:57:41 +08:00
halx99 c7ab6a227e Processing wasm touch events properly 2023-09-07 19:32:06 +08:00
halx99 5a528b46e5 WASM: use shorten target platform name 'wasm' instead 'emscripten'
For examples:
- win32 app build by msvc/clang and runs on windows
- wasm app build by emscripten/emcc and runs on web browsers
2023-09-05 22:17:18 +08:00
halx99 0a56810af5 Improve wasm support
- Enable thread support
- Improve emcc flags
- Enable webp support
- axmol run now support wasm by emrun
- Rebuild openssl by pthread support
- Extension: effekseer support
2023-09-05 21:10:25 +08:00
halx99 c66ac9dedc Merge: 41714a04fd 2631c8405b
Merge branch '1.x' into dev
2023-09-02 19:56:50 +08:00
halx99 b21fcb0272 Fix gendocs.ps1 2023-09-02 19:56:33 +08:00
halx99 8f8418c15d Merge: c8bfa8cdf1 062b510c38
Merge 1.x WASM support into 'dev'
2023-09-02 19:47:18 +08:00
nowasm 03f007fdbe Add webgl aka wasm build support (#1315) 2023-09-01 16:31:14 +08:00
halx99 4c0c328b80 Merge: 6d82d3a76c 5e3cba78a6
Merge branch '1.x' into dev
2023-09-01 16:29:02 +08:00
halx99 396313de47 consle-next: Looking both powershell 7.x and 5.x 2023-09-01 16:28:34 +08:00
iAndyHD3 ed39cf3996 Update AXBuildHelpers.cmake (#1316)
fix find_program call
2023-09-01 16:09:58 +08:00
halx99 b1ddb2fcce Sync #1316 2023-09-01 16:09:27 +08:00
halx99 a000ccbab5 Update site build 2023-09-01 14:49:03 +08:00
halx99 ada7deb002 Sync docs [skip ci] 2023-09-01 14:48:42 +08:00
halx99 310c5868ec Merge: 8f8814532d bdbbc55909
Merge branch '1.x' into dev
2023-09-01 13:36:38 +08:00
halx99 e5d984a4f8 Auto deploy wasm demo to gh pages 2023-09-01 13:36:23 +08:00
halx99 5fe4e6d61f Merge: 89955d901a 279ea746cc
Merge branch '1.x' into dev
2023-09-01 10:37:57 +08:00
halx99 e565645443 Auto get release list for doc build 2023-09-01 10:31:34 +08:00
halx99 f3f91147a3 Merge: 2a6e84aa15 2969a5b4ff
Merge branch '1.x' into dev
2023-09-01 03:35:30 +08:00
halx99 fe60bf0a1b Fix cmake setup for linux 2023-09-01 01:17:49 +08:00
halx99 ec9b7f6e42 Merge: 1d4deae63a 7399ac41a6
Merge branch '1.x' into dev
2023-09-01 01:07:15 +08:00
halx99 0094c6bbb2 keep files for site build [skip ci] 2023-08-31 22:08:50 +08:00
halx99 2566feff5a Merge: 6e1be139bd 1d26aa28a5
Merge branch '1.x' into dev
2023-08-31 21:20:23 +08:00
halx99 12bb1eb62a Improve axmol site build 2023-08-31 21:20:01 +08:00
halx99 b50c629307 Merge: bdf976681e 82679fca74
Merge branch '1.x' into dev
2023-08-31 19:56:21 +08:00
Deal c8d0fb85ea Fix linux build 2023-08-31 18:59:12 +08:00
halx99 0952acea6a Merge: 4fe5dd55e7 cc826cb6ae
Merge branch '1.x' into dev
2023-08-31 18:14:46 +08:00
halx99 b97b1a5630 Fix ci 2023-08-31 18:14:26 +08:00
halx99 06d51ac961 Merge: d3f55e0472 8e723b0cc9
Merge branch '1.x' into dev
2023-08-31 18:09:23 +08:00
halx99 4a52c781a2 Fix ci 2023-08-31 18:07:23 +08:00
halx99 09db3594f2 Merge: 3d97d1bcc1 0a63a8e364
Merge branch '1.x' into dev
2023-08-31 17:57:36 +08:00
halx99 a3a117ad2d Update script permision 2023-08-31 17:57:19 +08:00
halx99 449a596f3e Merge: fd2cbdc331 a816a8ac64
Merge branch '1.x' into dev

# Conflicts:
#       README.md
#       README_CN.md
#       install-pwsh.sh
#       tools/console/axmol
2023-08-31 17:56:09 +08:00
halx99 c2e55c4cdc Merge console-next from dev into 1.x 2023-08-31 17:48:39 +08:00
halx99 cce6c2f8e1 Improve code style 2023-08-30 19:35:38 +08:00
halx99 5183995a36 Merge: f9b6553e57 94be720d3f
Merge branch '1.x' into dev
2023-08-25 16:57:54 +08:00
halx99 2bf41d7d31 Fix ci 2023-08-25 16:57:38 +08:00
halx99 46f668b01b Remove render backend setLineWidth [skip ci]
Due to not all of GL and Metal support it, so remove it unify behavior
developers shouldn't relay on it
2023-08-25 16:49:08 +08:00
halx99 f525d6c726 Update docs 2023-08-25 16:46:32 +08:00
halx99 d427fd8767 Improve DeviceInfoGL 2023-08-15 18:02:02 +08:00
halx99 bfe167121e Add cmake option AX_GLES_PROFILE
Valid value of AX_GLES_PROFILE: 0, 200, 300

By default, the AX_GLES_PROFILE is:

- android: 200, allow axmol apps runs on: API 17 Android 4.2+ devices
- winuwp: 300
- Win32/linux/osx/ios/tvos: 0

For ios/tvos, will forcing AX_GLES_PROFILE to 300 if AX_GLES_PROFILE not 0
2023-08-14 20:40:05 +08:00
Deal 9dc9e9adc7 Update android.yml 2023-08-13 23:58:18 +08:00
halx99 bd0e1fef4b Fix compile error 2023-08-13 22:09:02 +08:00
Deal 572bb2f700 Test use glad on android 2023-08-13 00:24:35 +08:00
halx99 79187cf9f6 Improve ZipUtils 2023-08-11 20:52:15 +08:00
halx99 72558c6c2d Fix crash when digital envelope routines::unsupported 2023-08-11 16:19:15 +08:00
halx99 bf31f7b77d Fix ci 2023-08-11 15:04:33 +08:00
halx99 cdc8bb0b4c Refactor FileStream implementation 2023-08-11 14:42:41 +08:00
halx99 cc9cbcbff9 Merge: eba7fc17ba 6bbdc273f8
Merge branch 'main' into dev
2023-08-10 18:53:35 +08:00
halx99 46ed10dac3 Update yasio to v4.1.0 2023-08-10 18:36:45 +08:00
halx99 1ec408812f Fix cmake setup 2023-08-09 14:37:43 +08:00
Deal 969baf94d4 Update CHANGELOG [skip ci] 2023-08-09 13:52:28 +08:00
halx99 d2dda873c4 Improve code style 2023-07-29 15:46:04 +08:00
halx99 2191b51499 [WIP] Not convert mat3 to mat3x4 in engine
Because both metal and GLSL3/ESSL3 mat3 is identical to mat3x4, so provide a
class Mat3 to handle GPU mat3x3
2023-07-27 22:36:51 +08:00
halx99 76f00b4456 Make renderer works on opengl core profile mode 2023-07-20 20:23:56 +08:00
halx99 02616bb774 Merge: ac073ee8c1 4753270d77
Merge branch 'main' into dev
2023-07-19 23:45:36 +08:00
halx99 1b4c9bbec8 Auto compile app/Sources/shaders to axslc/custom 2023-07-19 23:41:16 +08:00
halx99 7bd3b57809 Improve code style 2023-07-19 21:12:25 +08:00
halx99 04c5505fa2 Fix glDisable state guard 2023-07-19 18:35:05 +08:00
Deal eae07123dc Refer to #1278 2023-07-19 09:10:46 +08:00
Turky Mohammed 7759ad562f Optimize `OpenGL` State Management (#1269)
Co-authored-by: halx99 <halx99@live.com>
2023-07-18 21:16:21 +08:00
j-jorge c2d7bdcb45 Allow unity builds on a subset of the sources. (#1266)
In order to allow unity builds we need to avoiding "using namespace"
at file scope, #undef our file-specific #defines, and avoid having
static functions with identical name and signature.
2023-07-15 19:06:54 +08:00
j-jorge fcdbd9968e Add missing include guards. (#1265) 2023-07-10 08:47:20 +08:00
j-jorge 0af6db6345 Add missing include guard in NinePatchImageParser.h (#1248) 2023-07-01 08:53:09 +08:00
j-jorge 049db01a8a UserDefault: check the result of posix_ftruncate. (#1249) 2023-07-01 08:51:29 +08:00
halx99 c06d5af3f8 Move queueOperation from GLView to Director 2023-06-25 01:17:29 +08:00
halx99 3eac3abecf Sync yasio to latest 2023-06-24 21:18:27 +08:00
Deal(涓€绾跨伒) feffe4095c Update 3rd sources (#1240)
- llhttp: 8.1.1
- yasio: latest
- recast 1.6.0
- openal-soft: latest for official UWP support
- glad 2.0.4
- libpng 1.6.40
- astcenc 4.5.0
- Add fastlz: latest
- Disable lz4 by default
2023-06-24 09:17:14 +08:00
halx99 63175a193e Move win32 _ftruncate impl to base/posix_io.cpp 2023-06-11 19:19:12 +08:00
halx99 2cd3f8c6c9 Move posix io macros to base/posix_io.h 2023-06-11 14:39:19 +08:00
Deal(涓€绾跨伒) abd8029f64 Remove CC prefix from code file name (#1230)
* Add migrate sources tool

* Fix include replace regex

* Fix compile

* Migrate maually

* Disable sources-migrate tool by default

* Fix ci

* Fix ci

* Improve source migrate

* Fix ios/tvos ci

* Fix ios/tvos ci

* Fix
2023-06-11 13:08:08 +08:00
RH 978648e5a9 Factor in protected nodes when creating global Z node priority map for event dispatcher (#1224) 2023-06-05 17:09:50 +08:00
halx99 f0db2648fe [FEATURE] Add new API GLView::queueOperation
- Queue a priority operation in render thread, even through app in background
- Please do logic in callback, don't update ui or any other render state

usage

```
Director::getInstance()->getOpenGLView()->queueOperation([](void* param){
// do somethings for logic only(Don't update render state or UI)
});
```
2023-05-31 20:42:39 +08:00
Deal(涓€绾跨伒) cd123d7a15 [REFINE] Use ipv4 address preferred for console command server (#1216) 2023-05-26 22:13:47 +08:00
Deal(涓€绾跨伒) dca6c87c4a [Refine] Improve exit flow (#1213) 2023-05-25 15:45:00 +08:00
halx99 5c459de11c Update yasio to latest 2023-05-15 16:57:02 +08:00
halx99 233d2d8ada Fix ci 2023-05-14 22:52:40 +08:00