Adds EVENGINE_ANDROID_TEST_APP build mode: the unit_test sources are
compiled into libmain.so (SDL entry) and packaged by the existing Gradle
APK along with the test assets, so the full zeroerr suite can run on a
device via adb logcat.
- test/main.cpp: Android runner with LogcatBuf (cout/cerr -> logcat),
chdir to <files>/evengine_test, SDL_Init; keeps SDL_main symbol unmangled.
- test/PathBesideSource.h: shared pathBesideThisSource helper that maps
__FILE__ to the on-device unpacked tree on Android.
- EVTestActivity: unpacks assets/test + assets/examples to internal
storage and passes an optional --testcase filter from an intent extra.
- test/CMakeLists.txt: builds `main` instead of unit_test on Android,
excludes desktop-only devtools tests, links Android system libs.
- Makefile: build/android-debug-test, sync/android-test-assets,
run/android-test-debug, log/android-test targets.
- Gradle wrapper bumped to 8.5 for Java 21 compatibility.
Flip GLM RH_ZO projection Y for Vulkan NDC so world +Y is screen-up
(models were rendered upside-down). Switch 3D mesh pipelines to Clockwise
front faces to match the flipped winding, and align AO/volumetric NDC
reconstruction plus screenToRay.
Remove the leftover shader ambient floor so Camera3D ambient is honored.
Bake Assimp node transforms in Graphics::newMeshFromAssimp(world) and use
it from ClassicScenes/model3d. Add RenderScenes regression coverage for
orientation, ambient, shadows, gbuffer, and node baking without effect
cross-talk.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
- Added new test cases for various graphics functionalities, including animation previews, particle effects, and inventory UI.
- Implemented rendering previews for Mixamo animations, Box2D physics, and procedural generation, allowing for real-time visualization during tests.
- Introduced helper functions for drawing graphics elements, improving the clarity and maintainability of test code.
- Enhanced existing tests to utilize the new graphics capabilities, ensuring comprehensive coverage of rendering features.
- Modified CMakeLists.txt to include the `--recurse-submodules` option for Git clone commands, ensuring all submodules are fetched.
- Enhanced filesystem tests to cover additional scenarios, including memory data mounting and real directory resolution.
- Updated image tests to validate PNG encoding and decoding, ensuring proper handling of unsupported formats.
- Improved model3D tests to check for material counts and face normals, enhancing robustness of 3D model handling.
- Added error handling in sound tests for invalid data scenarios, ensuring stability in audio processing.
These changes improve the overall test coverage and configuration management of the project.
- Implemented multi-layer tilemap functionality, allowing for the reading and saving of Tiled JSON formats.
- Added support for various tile projections (orthogonal, isometric, staggered, hexagonal) and depth calculations.
- Introduced object layer parsing and caching for improved map object management.
- Updated the rendering system to unify 2D depth queues and enhance sprite handling.
- Added new methods for accessing object properties, including position and dimensions.
This update significantly improves the map module's capabilities and integration with the rendering system.
- Updated .gitignore to include new build and output directories for SDK packaging.
- Modified CMakeLists.txt to include installation script for SDK.
- Enhanced Makefile to support new SDK targets for various platforms.
- Improved documentation to reflect new shader capabilities and 3D model support.
- Added new shader functions and updated rendering systems to utilize custom shaders.
Co-authored-by: Cursor <cursoragent@cursor.com>