Commit Graph

1062 Commits

Author SHA1 Message Date
arman hossiny 214fdface8
Add multi UserDefault support (#1592)
* fixed bug replace scene

* add multi UserDefalut (set file name UserDefalut)

help to run multi player on local
2024-01-10 07:34:54 +08:00
j-jorge aa3d1fdd86
Turn ShaderCache into a singleton. (#1588)
This is more consistent with what is done everywhere else in the
repository.
2024-01-07 07:43:13 +08:00
halx99 f54b6cc6d5 Fix typo 2024-01-06 18:45:51 +08:00
j-jorge bfb30f573a
Fix shader cache leak (#1580)
* Fix compilation issue in Texture2D.cpp with _AX_DEBUG=2.

* Fix memory leak: ShaderCache was not purged.

The ShaderCache class had two static members: a map for the cache, and
a pointer to the single instance of ShaderCache. The map was
supposedly cleared in the destructor but there was actually no
instance of ShaderCache (getInstance() was never called and the other
functions accessed the map directly). This commit removes the
singleton "interface" such that only the map is used, then it cleared
the map upon request.
2024-01-06 00:48:34 +08:00
aismann 70fa8872de
Add extension 'DrawNodeEx' aka 'DrawNode v2' (#1568) 2024-01-05 02:07:13 +08:00
RH 9ca77602bb
Add sub-protocol and optional header support to WebSocket connection (#1565)
* Add sub-protocol and optional header support to WebSocket connection
Unsolicited WebSocket PONG messages received should be ignored

* Set custom headers via setHeaders method for native WebSocket implementation.
Ensure WASM WebSocket interface has same constructor as native interface

* Fix temporary string reference
Ensure passed url is passed as null terminated string
2024-01-02 19:10:51 +08:00
aismann 99cf951902
Fix issue of UILayout (correctness of fix -> was on the wrong method) (#1566) 2024-01-02 07:20:09 +08:00
halx99 e186067daf Add websocket luabindings 2023-12-31 23:00:13 +08:00
Deal 5fe829728b
Add websocket support (#1536) 2023-12-31 22:23:25 +08:00
aismann c389118571
Fix issue #1546 of UILayout(#1549) and small performance boost (#1559)
* Fix issue #1546 of UILayout(#1549) and small performance boost

* add test

* Committing genbindings changes

---------

Co-authored-by: aismann <aismann@users.noreply.github.com>
2023-12-31 11:33:49 +08:00
aismann 54daf354cd
Fix issue #1546 of UILayout (#1549) 2023-12-27 19:20:27 +08:00
arman hossiny 29504d102c
Fixed bug replace scene (#1543) 2023-12-26 06:05:42 +08:00
suleiman rabiei d69aa07a24
Fix crash with view nullcheck (#1540) 2023-12-24 19:40:09 +08:00
halx99 22a1faa593 Improve build system 2023-12-22 02:39:38 +08:00
halx99 ef40b03c87 Delete unused win32/compat/stdint.h 2023-12-18 23:12:47 +08:00
Lich c43dbfff95
Get TMXTilesetInfo by name (#1522) 2023-12-16 07:13:34 +08:00
halx99 993b7f54c2 Improve win32 timer resolution control 2023-12-16 00:45:54 +08:00
Deal b88c28013c
GLES3: Fix scalar array layout (#1523) 2023-12-15 22:29:23 +08:00
RH 2b01fa2cb3
Make openFileStream a const method (#1514) 2023-12-14 01:51:15 +08:00
Lich ae51e26eb6
Add support for window resized and positioned (#1513) 2023-12-14 01:48:52 +08:00
halx99 7864d8f6ec Enable FPS control for winuwp 2023-12-14 01:46:41 +08:00
halx99 a6107139b6 Fix Device::getPixelRatio for win32,android 2023-12-13 01:56:53 +08:00
RH baa9de1a5f
Call Android native renderer while opengl context is still valid (#1504) 2023-12-12 09:47:11 +08:00
Turky Mohammed 26024d1eeb
Fix TMX Camera Culling (#1501) 2023-12-12 09:42:53 +08:00
halx99 206c7e3352 Fix mac Device::getPixelRatio incorrect 2023-12-12 00:45:34 +08:00
Deal 213f788f75
Merge backend Device, DeviceInfo to DriverBase (#1499)
* backend::Device ==> backend::DriverBase
* backend::DeviceInfo ==> backend::DriverBase
* code style: remove unnecessary virtual function marks
2023-12-11 21:59:25 +08:00
halx99 70997061da Improve axmolver defines 2023-12-10 00:08:05 +08:00
aismann f19c8f89ae
Replace 'CCAssert' with 'AXASSERT' (#1485) 2023-12-08 16:30:34 +08:00
Lich 0f114baf8c
Improve ActionCoroutine callback style (#1481) 2023-12-08 12:46:46 +08:00
Turky Mohammed 36da799b19
Add useful chipmunk function. (#1480) 2023-12-08 09:39:32 +08:00
halx99 affcf05b69 Prepare 2.1.0 release
* Update copyright notice
* Remove prebuilt libs from SCM
* Remove optional thirdparty sources/repo from SCM
* Remove tests resources  folder 'Content' from SCM
2023-12-08 01:04:43 +08:00
Lich 669f864a4d Fix tilemap multiline property (#1476) 2023-12-05 20:53:31 +08:00
aismann 41c65eb28e Add DrawNode::drawPie (#1474) 2023-12-05 17:20:31 +08:00
halx99 49706d72b3 Fix windll build 2023-12-05 01:16:14 +08:00
Lich d84d527362 Add support for ActionCoroutine like Unity (#1473) 2023-12-05 00:28:50 +08:00
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
RH 5374e6ecc0 Add support for Richtext vertical alignment (#1466)
* Add vertical alignment support for RichText

* Simplify RichTextTest implementation by reducing code duplication.
Add vertical alignment button to all RichText tests.

* Remove duplicate include

* [RichText] Vertical alignment support when ignoring size
2023-12-01 00:05:11 +08:00
halx99 7b33b4edf0 Apple: remove deprecated gamepad
refer #1453
2023-11-27 00:01:14 +08:00
RH 82d88d8970 Use execute_process instead of deprecated exec_program (#1450) 2023-11-26 00:03:36 +08:00
axmol-bot 78672f4a19 Update thirdparty prebuilts to v60 (#1446) 2023-11-25 14:47:25 +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
j-jorge f07b34e292 Add operator for Vec2/Vec2. (#1445)
Since we have the multiplication, it seems natural to have the division.
2023-11-23 09:04:09 +08:00
Deal b062eb3dc2 Improve linux deps (#1441) 2023-11-19 09:38:12 +08:00
aismann c7be9816d9 Fix/enhancement for issue #1319 (#1434)
Fix/enhancement for issue #1319 (draw filled complex polygons (concave/convex)

Co-authored-by: eismpesd <peter.eismann@siemens-healthineers.com>
2023-11-16 12:06:39 +08:00
j-jorge 5122352019 Add missing include guard in CommandBufferGLES2.h. (#1430)
Co-authored-by: Julien Jorge <julien.jorge@MediaKind.com>
2023-11-11 17:32:10 +08:00
RH 4eb133bea7 [Android] Ensure AxmolEditBox used by TextField is visible prior to receiving focu (#1429) 2023-11-10 10:33:09 +08:00
RH 213434462a Use weak and strong references to determine if 'this' pointer is valid. (#1427)
Check _textBox to ensure it is not null before usage.
2023-11-09 08:43:24 +08:00
RH 7d79c095bb Add virtual file system support to WICImageLoader (#1425)
* Add virtual file system support to WICImageLoader

* Ensure supplied buffer pointers are not null

* Simplify conditional check to only not allow reads in WRITE file mode.
2023-11-08 21:56:51 +08:00
RH 2a650ba110 [UWP] Use Package to get app version information (#1424) 2023-11-08 08:16:28 +08:00
RH 4b5dc59574 Fix for UWP build issues (#1421) 2023-11-08 08:15:40 +08:00
RH 344ed98d49 Allow accessing HTTP cookie when using virtual file system. (#1423) 2023-11-08 01:31:41 +08:00
Deal 54ef33d34d Add API: Device::getPixelRatio (#1418) 2023-11-06 00:19:44 +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 589f046007 Make AxmolEditBox invisible by default. (#1414) 2023-11-01 20:49:38 +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
RH cc3156e66e [Android] Reset the OpenGL state cache if the context is lost (#1401) 2023-10-25 09:35:58 +08:00
Saroop Technologies f2ae7f9759 Add JSONDefault extension (#1393) 2023-10-19 15:30:39 +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 fd9f613b50 Enable Mat4 SSE Istructions acceleration 2023-10-11 01:05:22 +08:00
halx99 13b4a5bc93 Make macro same with cmake in c++
- AX_ENABLE_EXT_SPINE
- AX_ENABLE_EXT_DRAGONBONES
- AX_ENABLE_MSEDGE_WEBVIEW2
2023-10-11 00:32:04 +08:00
halx99 e17721d5bc Improve ObjLoader, avoid use temp buffer to token parse 2023-10-10 23:16:10 +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
aismann 525c53b0b5 Update FastTMXLayer.cpp (see issue #1283) (#1285)
* Update FastTMXLayer.cpp

fix #1283

* Using local variable rather than doing two calls

* Fix #1336

* Fix ci

---------

Co-authored-by: eismpesd <peter.eismann@siemens-healthineers.com>
2023-10-07 20:36:48 +08:00
halx99 2305bfeced Update yasio to latest 2023-10-06 01:02:01 +08:00
RH 86ab2fe995 Fix undeclared identifier errors (#1370)
* Fix undeclared identifier errors

* Add IFileStream::Mode to the FileStream scope
2023-10-03 13:59:34 +08:00
halx99 539f37651b Make Data::fastSet behavior compatible, refer #1369 2023-10-02 21:08:51 +08:00
halx99 6978028783 Fix wasm build 2023-10-02 11:26:50 +08:00
halx99 8dbdce55c3 Avoid unexpected behaivor when compile optimized 2023-10-01 22:39:46 +08:00
halx99 b19e5eb9f7 Fix ci 2023-10-01 22:30:18 +08:00
halx99 352f3ad420 Remark IFileStream::tell as `virtual`, refer #1366 2023-10-01 22:05:45 +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 96e60b9e19 Fix #1306 2023-09-27 11:38:10 +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
Deal b892461a2b UWP: Migrating from C++/CX to C++/WinRT (#1355) 2023-09-26 00:11:33 +08:00
Turky Mohammed 87313eb043 Update Label.cpp (#1353) 2023-09-25 20:23:28 +08:00
Deal 2df40b6e4c Bump version 2023-09-22 19:40:40 +08:00
halx99 9d69966938 Fix non-SDF label outline incorrect for metal 2023-09-20 23:05:21 +08:00
Deal 83b4ff3fcd Fix #1340, #1339 2023-09-20 09:54:27 +08:00
halx99 079586d060 Fix #1336 2023-09-19 22:00:17 +08:00
halx99 5f2a7be391 Improve code style 2023-09-19 21:42:14 +08:00
halx99 bd95aead71 Improve SDF font scale 2023-09-19 01:40:09 +08:00
halx99 ac8a7ac14c Improve SDF, limit baseFontSize max to fontSize 2023-09-18 19:39:46 +08:00
halx99 324ebeb628 Fix wasm RandomHelper always return 0 2023-09-18 19:07:15 +08:00
halx99 92b730085e Update docs 2023-09-18 13:34:26 +08:00
halx99 ae9f5c4c99 Always apply content scale factor 2023-09-18 10:27:40 +08:00
Deal 4f4f07ddc4 Add enable global TTF SDF rendering support (#1333) 2023-09-18 07:18:57 +08:00
halx99 d03c31fb68 Fix #1332 2023-09-15 20:08:27 +08:00
halx99 58cfc7c65d Make wasm devtools works 2023-09-15 19:33:25 +08:00
RH 6d6f3b1ae1 Fix issue where RichText URL touch listener does not activate on touch (#1330)
* Fix issue where URL touch listener would not receive touch inputs when certain conditions are met.

* Unused parameter [skip ci]

* Remove incorrect call to release() since RefPtr handles it automatically.
2023-09-14 16:43:22 +08:00
halx99 54db10874f Fix #1326 2023-09-13 19:34:50 +08:00
halx99 983e383077 Improve build script 2023-09-13 16:00:33 +08:00
halx99 b8baf0d1a8 Android: Allow use external cmake outside of android sdk 2023-09-12 19:32:20 +08:00
Deal 1617380ddd Bump version 2.0.1 [skip ci][skip appveyor] 2023-09-12 01:18:37 +08:00
halx99 f2470b99aa Android: Update AGP to 8.1.1
- jdk-17.x+ required
- gradle-bin 8.3
- Build-Tools 33.0.1
-  Delete package name from AndroidManifest.xml
- Add namespace "org.axmol.xxx" in 'app/build.gradle'
- Rename compileSdkVersion ==> compileSdk in 'app/build.gradle'
- Use rootProject.layout.buildDirectory instead rootProject.buildDir
- Android Studio 2022.3.1+
2023-09-12 01:13:06 +08:00
iAndyHD3 810c909e67 Add extension Inspector (Experimental) (#1324)
* node explorer

* fix some crash, add to tests

* change tabs to spaces

* remove node explorer from hello template

* change name to Inspector + add readme

* minor fix

* fix minor things

* fix minor thing...

* fix build on ios, android

* Apply suggestions from code review

* fix typename for gcc/clang, add font

* include cxxabi outside ax namespace
2023-09-12 01:06:28 +08:00
halx99 8b96ff7f1b Tidy platform macros/consts value 2023-09-11 19:37:49 +08:00
halx99 0e23f9812f GLView: Restore from maximized when setWindowed 2023-09-11 00:06:34 +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 45cb0d82dc Add cmake option 'AX_WASM_SHELL_FILE'
Specify the wasm shell file, by default use
`${_AX_ROOT}/core/platform/wasm/shell_minimal.html`
2023-09-07 21:09:36 +08:00
halx99 c7ab6a227e Processing wasm touch events properly 2023-09-07 19:32:06 +08:00
Deal bb4c08a7d8 Update GLViewImpl-desktop.cpp
wasm not support config vsync
2023-09-07 00:49:53 +08:00
halx99 0f21f4d85f Enable audio thread pool when wasm pthread enabled 2023-09-06 10:22:22 +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 a4682dc4da Fix wasm HttpClient not working 2023-09-04 22:16:56 +08:00
halx99 a26dc47238 Enable A8, LA8, L8 render format for GLES_PROFILE 2023-09-04 19:16:26 +08:00
Deal e8f88ea395 Remove unnecessary preprocessor check 2023-09-04 11:26:56 +08:00
halx99 80f1e0952f Update wasm persist path 2023-09-03 18:25:39 +08:00
halx99 c67cd64ffc Use axmol embeded freetype for wasm 2023-09-03 13:12:59 +08:00
halx99 cbb23108cb Merge: e1f3c5d76f c21736c0d6
Merge branch 'dev' of https://github.com/axmolengine/axmol into dev
2023-09-03 11:47:36 +08:00
halx99 7abad49137 Appveyor CI: build wasm release mode 2023-09-03 11:47:33 +08:00
halx99 692688accf Fix tvos ci 2023-09-03 09:46:21 +08:00
halx99 7be0f8c61a Fix ios ci 2023-09-02 21:45:43 +08:00
halx99 931fb45990 Fix ios ci 2023-09-02 21:18:54 +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