M O E N A G A D E - The mouse enabled game development tool

GNU General Public License
Changelog
Todo
- add recent opened files 
- contextuelle menu am blox-editor
- "save as" is not yet implemented
- FR: by Mil Gaspar: Pin blocks categorie
- FR: copy & paste between same type elements (entity <--> entity), (world <--> world)
- find a way to restrict dynamic parameters to the defining method

Current version: 0.65
- 01: initial version
- 02: implemented undo/redo
- 02: project images can be visualized 
- 02: added console output support
- 02: made world (background) movable
- 02: application window is no longer resizeable
- 02: added OnOutOfWorld event for entity
- 02: added possible to stop a timer
- 03: added field "needsParent" allowing element to limit 
      docking if the parent chain contains a given element
- 03: implemented delete entity, world & image
- 03: do not allow to dock if dock does not satisfy all
      needs of the docking block
- 04: open lists are drawn on top of all other elements
- 04: rename entity, world & image
- 04: do not allow "World" as name for a world
- 04: do not allow "Entity" as name for an entity
- 04: added some checks before project can be run
- 04: added contextual pop-up menu to project tree
- 04: modified timer to stop as soon as the window is disposed
- 05: open dialogs remember last opened path within session
- 05: added modulo operator
- 05: added sound resource
- 05: added instruction to play a sound
- 05: added increment/decrement instruction for variable & attributes
- 05: added comment instruction
- 05: minor bug fixes
- 05: elementary elements snap to 10x10 pixel grid
- 06: made automatic list filling dynamic (Variable, Attribute,
      Entity, World, Sound & Image)
- 06: type handling enhancements
- 07: added backup save of src & bloxs folders
- 07: build JAR file
- 07: added FOR loop
- 07: solved a problem when moving certain elements out of scope
- 07: solved a problem when changing the type of a variable or attribute
- 07: fixed an element drawing issue
- 08: minor bug fixes
- 09: resources can be added via drag & drop
- 10: added different event when entity is completely outside the world
- 10: new event when the position of the entity got changed
- 10: set entity & world dimensions
- 10: minor code optimizations
- 10: fixed some graphical issues
- 11: added drawing blocks
- 11: added more mouse events
- 11: restructured mouse events
- 12: added getter & setter creations for attributes
- 12: allow to add attribute & variable of type "Entity"
- 12: possibility to modify entity instance attributes
- 13: fixed some bugs
- 14: added object related blocks
- 14: changed graphic coordinates for entities to relative
- 14: fixed minors bugs
- 15: added parameterless method definitions
- 15: added elements to call methods
- 15: define methods with parameters
- 15: modified element to call methods with parameters
- 15: class internal events for method deletion
- 15: class internal events for attribute deletion
- 15: notify other classes about method deletion or renaming
- 15: notify other classes about attribute deletion or renaming
- 15: NOTIFICATION SYSTEM IS A BIG MESS --> NEEDS CLEANUP & RECODING
- 15: suppress compiler warnings of unchecked cast in world
- 15: fixes a nasty bug in lists (click & move = error)
- 15: recoded variable related notifications
- 15: recoded attribute related notifications
- 15: found another bug in the variable related notifications
- 15: recoded & bug fixed entity related notifications
- 15: recoded & bug fixed object related notifications
- 15: recoded & bug fixed method related notifications 
- 15: more bug fixed in notification system
- 16: testing with quick start document
- 16: more bug fixed in notification system
- 17: added fix parameters to events
- 18: modified LAF on OSX
- 19: added new, more user friendly, library browser
- 20: added undo & redo actions to main menu
- 21: fixed a bug where selecting expressions from the library was not possible
- 22: fixed a bug while renaming an entity (FABFR)
- 22: disabled scrolling in the category chooser (FABFR)
- 22: re-arranged some control elements (FABFR)
- 22: corrected some typos (FABFR)  
- 22: fixed a bug when selecting a list item (FABFR)  
- 23: added bloc with HEX color (Mil Gaspar)
- 24: made it possible to use worlds as attribute types too (Mil Gaspar)
- 24: get access to the current world
- 24: use attributes and methods of the world
- 25: fixed a bug for event "OnTouchedEntity" (FABFR)
- 25: added parameter to event "OnTouchedEntity" (FABFR)
- 25: added new bloc "InstanceOf" 
- 26: added block to change the world by an entity (David Kochergin)
- 27: added block to delete other entity from an entity (Mil Gaspar)
- 28: changed attribute visibility to "private"
- 28: using accessors to work with attributes
- 29: fixed some startup issues
- 29: fixed a bug that made Moenagade eat up >1GB of memory
- 30: added block to modify timer delay
- 31: fixed misbehaviour of fixed parameter when clicked (Nicolas H?rard)
- 31: non-config parameters became editable after save/load
- 32: enable hardware acceleration (David Kochergin / Alex Rego)
- 33: added boot log report
- 34: added bloc for delayed task (Nicolas H?rard)
- 35: added bloc to show/hide mouse pointer (Shawn Teusch)
- 36: check user integer/float before accepting it (Mark Schommarz)
- 37: added block to delete all entites of a given class
- 38: added block to extract boolean from object (Mil Gaspar)
- 38: added naming convention check fir variables and attributes (Marguy Poissonnier)
- 39: bugfix for blocks with more than one parameter
- 40: added block to bring entity to the front
- 40: added blocks to move another entity
- 40: fixed some bugs
- 41: added to block to the the loaded filename of an entity (Tony Wang)
- 42: display what image & sound files can be loaded (Fred Faber)
- 43: added type "Clip" (sound clip) for attribute & variables
- 43: added block to retrieve reference to a sound clip
- 43: added block to stop a sound (Ben Neuens)
- 43: sounds are being stopped when application closes or world changes
- 44: modified the bootstrap to make Monagade run on Java 9 too
- 45: fixed a timer issue (Fred Faber)
- 46: fixed a timer bug
- 46: added printing support
- 47: bugfix in element dragging (Fred Faber)
- 47: bugfix in cleanup when game windows closes (Fred Faber)
- 47: missing repaint if entity is added / removed (Fred Faber) 
- 48: more cleaning on application shutdown (Fred Faber)
- 49: fixed some OSX integration settings (Fred Faber)
- 50: fixed a element intra-messaging issue (Fred Faber)
- 51: remember last opened directory
- 52: allow drag & drop of a project onto the tree to open
- 53: added "clear console" (Fred Faber)
- 53: default entity size of 1x1 (Fred Faber)
- 53: name must be unique in {entities,worlds} (Fred Faber)
- 53: only run project if no compilation errors occurred (Fred Faber)
- 53: allow to stop a project (Fred Faber)
- 54: display size in image preview (Fred Faber)
- 54: added image delimiters in preview (Fred Faber)
- 55: showCursor made the cursor disapear as well (Fred Faber)
- 56: added filename to printout (Fred Faber)
- 57: split comments if too long (Fred Faber)
- 58: added block to count all entities of a given class
- 58: bugfix in block "bring to front"
- 59: added check for method names (Fred Faber)
- 60: entities can be rotated
- 61: transformed position into double
- 61: added gravity for entities
- 61: added friction and bouncing to entities
- 62: bootstrap revision for Java 10
- 63: added block to concatenate Strings
- 64: added some blocks
- 65: bugfix in "addEntity"
- 65: fixed positions to double