Commit Graph

1033 Commits

Author SHA1 Message Date
j-jorge 583dcdc111
Use different global names and #undef the #defines to stay unity build friendly. (#1653) 2024-02-06 07:39:54 +08:00
Deal 14761bf906
Bump 2.1.2 [skip ci][skip appveyor] 2024-02-03 10:10:02 +08:00
RH 9f8962d47d
Change extension folder structure to reduce file name conflicts (#1647)
* Restructure extension folder structure to reduce conflicts with project source files

* Do not include SDFGen headers for Android builds

* Ensure correct paths are included for the relevant targets

* ImGui is not be enabled for WinUWP, tvOS and iOS

* Fix LUA auto binding generator to work with updated extension folder structure

* Fix path and linker issues for yasio when using prebuilt option
Set correct paths to extensions for prebuilt option
2024-02-03 10:08:22 +08:00
halx99 e278e45ab8 Fix ci 2024-02-02 00:42:42 +08:00
halx99 df165fec4b Prepare release v2.1.1 2024-02-02 00:00:06 +08:00
halx99 fb9977328d Fix #1635, can't generate lua bindings for set/get Node localZOrder
---------------------------

reporeted by @bintester
2024-01-29 22:33:23 +08:00
Deal 9774d4751c
Fix memory leaks refreshed (#1638)
* Fix memory leaks when axmol apps exit on non-embed systems

    1. DriverBase no destroyInstance
    2. Every object inherited from ax::Ref shoud destory before ScriptEngineManager, otherwise will trigger it's reinit and leak
    3.  QuadCommand always leak isolated indices
    4. static singleton should'nt inhert from ax::Ref due to destory it before ScriptEngineManager impossible
    5. Make Director don't inherit from ax::Ref due to it also cause ScriptEngineManager re-init, because we destroy ScriptEngineManger in destructor of Director
    6. Explicit Director managed by Application and don't delete self at purgeDirector, since it will release at mainLoop and re-init in glView->pollEvents then leak
    7. Rename ApplicationProtocol to ApplicationBase
    8. Rename purgeDirector since we don't delete director self at it, maye rename to cleanup
    9. Change ShaderCache to new/delete singleton, managed by ProgramManager

---------

Co-authored-by: lich426 <lich426@gmail.com>
2024-01-29 22:30:14 +08:00
halx99 c06bed508b Rename cocos_android_app_init to axmol_android_app_init and othre code cleanup 2024-01-29 08:51:35 +08:00
RH 6543931e3f
Ensure scissor state is set to the correct value prior to a buffer clear (#1632) 2024-01-25 13:26:35 +08:00
halx99 31207e8bdf Bump version to 2.1.1 2024-01-24 22:12:24 +08:00
Deal 01d4ad60c7
Fix #1630 2024-01-24 22:00:01 +08:00
BinTester 3cf419a35c
add some utils functions and lua support (#1629)
* UIButton bugfix

* add utils lua support

* add utils lua support
2024-01-24 21:42:39 +08:00
tree 1f0a9526c9
After call setTime,the decoder seek to the wrong frame, need multiplied by channel count (#1618) 2024-01-17 15:24:46 +08:00
smilediver 729cc80351
Allow to override AX_USE_COMPAT_GL from user's CMakeLists.txt (#1610) 2024-01-15 23:45:37 +08:00
halx99 4600c961cd Update astcenc to 4.7.0 2024-01-15 23:44:36 +08:00
aismann 991e63ab8b
Set DrawNodeEx default to 'OFF" (#1613)
* Set DrawNodeEx default to 'OFF"

* Update controller.cpp

* Update CMakeOptions.md
2024-01-14 15:56:08 +08:00
Lich b57e8b5f5a
Fix incorrect implementation (#1611) 2024-01-13 10:45:36 +08:00
Lich 0c77e45fb7
Add fixedUpdate method to Scene (#1607) 2024-01-13 01:08:01 +08:00
smilediver 5bcaa9ce51
Fix AXASSERT() not working with more complex msg arguments (#1609) 2024-01-12 21:17:40 +08:00
罗捷捷 e412419425
Move FileUtils::fullPathForDirectory to public (#1596) 2024-01-11 12:42:00 +08:00
halx99 dea9eb672a Improve code style
Use std::string_view instead std::string
2024-01-10 09:16:56 +08:00
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