Added mechanism to provide suggested values for string properties.
Fixed bug where status bar did not respect selectability. Status bar now updates when selectability changes or an edit is made. Object properties panel now displays the object type.
Added double deletion guard in ClearLevel
Removed bad formatting code in number editor
Added crude mechanism for allowing the Mutate function to try alternative names when converting a property
Fixed Bug where pivot was changed when typing a decimal dot
Added hotkey mechanism for load level
Improved keyboard navigation for level chooser
Added support for copypasting objects. Added select following/previous (F). Added split mode to extrusion (ctrl-E).
(poorly) fixed crash in some circumstances when switching from editing one property to another
Added some labels to GUI
Fixed bug where setting the scale factor along one axis in the GUI for multiple objects led to incorrect results if they had different scale factors along the other axis
Added functionality needed for applications to implement selectability filters (e.g. object groups). Added batch add/remove functions to SetListener (optimising selection change handlers).
Closing branch
Incomplete experiment to implement object groups in the style of the Sulphur Nimbus editor. I have discovered that this model is not suitable for 2D games. This code will not be used.
Incomplete experiment to implement object groups in the style of the Sulphur Nimbus editor. I have discovered that this model is not suitable for 2D games. This code will not be used.
Enhanced the reload enumerable types functionality by recreating objects instead of just replacing editable properties. This allows non-edtiable fields to be updated as well, and simplifies the code.
error recovery
Added int reading function to DWBReaderState
Added Mutate action. DifferentialLinkRestore is now AutoCloseable instead of strange previous pattern.
Refactored vector names
Changed Entity2DImpl position vector type
Entity2D can now use mutable vectors
Moved gc call in enumerable types refresh
Modes can now respond to undo/redo. SetProperty can now be updated. Fixed incorrect location bug for objects with custom local location in RestoreInstance.
instances.get now returns null rather than throwing an exception. instances.require retains the old behavior. Changed code accordingly.
Added mass rename button
Removed support for custom reset locations and replaced it with support for "local" locations: This allows an Entity2D implementation to (optionally) store its location in a different representation than world space, for instance relative to the camera.
Adapted code to use ReflectionCache.
Fixed deadlock in AsyncDweeb2D if the editor was disposed while waiting for a value. Dweeb2D.cancel() now cancels the open transaction if there is one, fixing an issue where the editor locked up if reopened after closing it in the middle of a transaction.
fixed bug where @AsButton methods were invoked on all instances instead of the selected instances
Fixed bug where session was never restored
Slightly optimised dwbformat code. Fixed a bug where an outdated session file was loaded if the user exited on a different level that was saved before the session file.
Fixed dangling listener leak caused by a shadowed name in Dweeb2DPanel
Fixed an outdated documentation
Fixed bug where TypeSupport did not serialize enums correctly if they had an overridden toString method
Made an attempt at optimising level clears, it was not effective but keeping some of the changes
Merged New and Obj tabs in the swing panel, and added buttons for finding objects at the farthest points in the cardinal directions.
It is now easier to prevent Dweeb2DSettings from wasting time on session restore when it is not required
Removed print
Added hook point for doing additional work after reloading enumerable types
Added backwards extrusion (shift-E). Fixed error when loading the preferred link for a type that has been deleted. AsButton functions are now invoked on all selected objects of that type.
Added Reverse Links button
Added support for multiline strings via EMultiline annotation
Fixed broken property assignment for settings loader
remove and ignore test levels/settings
Scaling operation can now scale without moving. Fixed recently introduced bug where extrusion op did not snap correctly. Fixed incorrect dispose hook for the object name editor (causing warnings). Fixed potential thread safety issue with the find tab. Pressing enter in the find tab search field will now update the list if the search text was changed, and update the selection otherwise (not both at the same time).
Local X/Y grabs now properly support snapping. Scale snap now accepts values below 1.
Fixed bug where merged links did not load correctly in case of name conflicts. Added invert selection functionality
Fixed bug where trying to assign a duplicate name caused errors
Level settings can now have @AsButton methods
Entities can now have custom reset locations
Dweeb2D.selectedType now properly reports a default value even if Dweeb2DPanel hasn't been rendered
Updates to OWG_UTIL
TypeSupport refactoring now applies to EntityTypes. The default focused element in Dweeb2DPanel will now not consume the tab key event.
Added support for refactoring property types via ConversionProperty. Fixed bug where restored session would always show as unsaved. Fixed bug where IntColorEditor was never used. Fixed bug where IntColorEditor did not format numbers correctly.
Default value for int colors is now white instead of zero
Initial import