- Children positions are calculated directly on screen space
- Saves a lot of worldToScreen, ATLtoASL, etc calls
- Selector is now a control instead of a 3D icon
- Reordering of action members
- Removed full path from actions, so they can be mounted under different paths if needed
- Added api for creating actions
- Api for adding actions for objects or classes
- Submenu scale as a function of the number of children
- Added menu expansion animation to better communicate where the options come from
- Unused action point are faded as soon as the user hovers a certain action point
- The action tree of each interaction point is parsed before drawing, pruning inactive actions
- Parent actions without statements or active children are not drawn, in order to reduce clutter
- Renamed the base menu "SelfActions" to "ACE_SelfActions"
- Limit the amount of objects the player is shown interactions with. This are the 3 nearest objects which have active action points visible on screen.
- Cull action points that are not visible, to far away, etc before checking if they are active.
- Store only one compiled menu per class
- Actions added through apis for invidual objects stored on the object separately
- Replaced the concept of uids by paths. This allows adding/removing actions inside other actions loaded from config seamlessly.
- Temporarily removed caching of nearby actions (probe). We may go back to that if needed pretty easily. This allows the player to move freely with the interaction menu opened.