v0.3.0
Pre-release
Pre-release
The main features added in this release are:
- Infrared sensor: Infrared sensor is now available #48
- Hierarchical prototype: Prototypes will now work with entities that have children #47
- Time profiler: It is now possible to profile the code while running to find bottlenecks #46
- Improved physics #45
- Full Linux support #44
Changelog
- Feat
- Support to specify number of jobs when building
- Step control (simulate slower, faster, or in real-time)
- Graphics FPS control
- Draw collision contacts and collision shapes
- Better UI to configure physics
- Supported colliders: `BoxCollider`, `BoxCollider2D`, `SphereCollider`, `CircleCollider2D`, `CyllinderCollider`
- Supported joints: `PrismaticJoint`, `RevoluteJoint`
- Better atta config and state check (`utils/config.h`)
- Faster build when dependencies are already downloaded (no update check)
- Time profiler
- Create clones from a prototype with children
- `cmp::Camera` with new `captureTime` field
- `cmp::Entity` new methods
- `cmp::Relationship` new `Entity get(uint32_t i)` method
- Now it is possible to get scale/position/orientation individually from `mat4`
- New `cmp::InfraredSensor`
- New `cmp::Script::set` method
- Default atta namespaces are now accessible everywhere (added to precompiled header)
- Sensor module UI window
- Refactor
- README with better Linux installation instructions
- Quaternion UI with quaternion values instead of Euler values
- `cmp::Relationship` using `cmp::Entity` instead of `cmp::EntityId`
- Varying camera sensor drawer size according to entity size
- Camera model matrix calculation from position and orientation instead of transform matrices to reduce numerical
- `cmp::Camera` renamed to `cmp::CameraSensor`
- `cmp::Transform` now is more numerically stable when converting from/to world coordinates
- Physics engine ray casting now also returns distance and normal
- Fix
- Fixed changes not being performed when hot-reloaded
- Hot-reloading when included files are modified
- Fixed calling scripts of clones twice in one step
- Fixed Bluetooth error
- Running clone script twice per step
- Not reloading cameras when project is open
- Always drawing prototype camera/colliders
- Returning invalid orientation quaternion from mat4
- Returning wrong euler from quaternion
- Box2D dynamic creation/deletion of `RigidBody2D` and `Collider` supported
- Box2D `RigidBody2D` type dynamic change support