Releases: brenocq/atta
Releases · brenocq/atta
v0.3.0
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
v0.2.0
This release was focused on improving the coding experience when creating atta projects. Six projects were created:
Note: You can run any example in your browser 😃
For a list of all projects visit the atta projects page.
Changelog
- Feat
- RGBA image support with transparent background
-
cmp::Factory::getFirstClone()
-
cmp::Factory::getLastClone()
-
gfx::Drawer::clear(StringId group)
- clear all objects of a specific group
- Refactor
- Removed buggy shortcuts to start/play/pause/stop simulation
- Only serialize components that are being used to make the
.atta
smaller - Print cmake output while building
- Now we also have
cmp::Material::setResource
, to be consistent withcmp::Material::getResource
- Quaternion methods:
setEuler
,getEuler
,setAngle2D
,getAngle2D
,setAxisAngle
-
cmp::getPrototypeFactory(cmp::Entity)
->cmp::getFactory(cmp::Entity)
- Removed logging used to debug atta
- Fix
- Mesh combo not being shown
- Mesh sid now is set to first mesh resource when created
- Script sid now is set to first script when created
- Material component imgui not showing variable names
- Viewport name being messed up
- Create .atta file if is doesnt exists
-
Project::onLoad
was being called before project file deserialization - ImPlot without context
- Now
scr::ProjectScript::onLoad
is called only after the components are deserialized from the.atta
file -
scr::ProjectScript::onLoad
was not being called for static projects - Now it is possible to use literal
""_sid
without being in the atta scope - Crash when material name is empty
- Scripts not being loaded
- Glad include not found
- Web build not able to find files
- Web wrong relationship deserialization
Check the milestone for a list of all changes.
v0.1.0
General improvement in the codebase and handling project files. The most important changes were:
- File serializer: Refactor file serializer (
.atta
) to be flexible enough for future releases #13 - Atta versions: Handle atta projects with different version (ignore and open with current version or restart atta with correct version) #18
- Project web build: Should be possible to open projects with the web build #19
- Http interface: Basic HTTP interface support #15
- Image resource: Refactor image resource to be able to create/update with code #24
- Material resource: Refactor
MaterialComponent
to use aMaterialResource
#35 - Component interface: Refactor the component module interface to be easier to use the components and entities #34
The codebase was also refactored for each module to have its own namespace and follow the same formatting style (.clang-format). Also, each module now provides an interface to be less verbose.
Check the milestone for a list of all changes.