more /root/LGM Releases, Builds, and Plugins/Unofficial Builds to bug IsmAvatar.thread
2008-09-21 22:26:10cheeseboy

Added toolbar to RoomFrame?, and RoomEditor? bugfix


* Added toolbar
* Moved several settings and save button to toolbar
* Renamed some global to reflect this
* Fixed checkstyle warning about bkg (to hardBkg)

Fixed RoomEditor? using old grid size for placement after resize
2008-09-28 15:51:27cheeseboy

Redid tile system and more work on Room's Tile pane


* Replaced ints with Points and Dimension
* Handles own ID, rather than RoomFrame?
* Added autoUpdate field for efficiently modifying several fields before firing an update

Point renamed to PathPoint? to easily distinguish between the two

* Updated Path and PathFrame? to reflect changes

Instance: Replaced x,y with Point

Listener: Fixed bug where clicking Load and cancelling opened a file anyways


* Updated to reflect changes to Instance and Tile
* Now supports TileSelector? and Tile Add tab
* RoomComponent? now uses Rectangle instead of ints

GmFileReader? and GmFileWriter? updated re Instance and Tile


* Temporarily removed addTile method, since Tile now handles its own id
* Updated to reflect changes to Instance and Tile


* Renamed some fields
* Updated to reflect changes to Instance and Tile
* Tile add tab now more usable
* Some tweaks to Tile Edit tab
2008-09-29 00:53:25Clam
Well done, you figured out how to work a compiler. You win an internet. :P
2008-09-30 21:22:30cheeseboy

Fixed synchronization bug introduced in r299 with tList and oList

* Symptom: tiles and instances got uniform y coordinates

Unwrapped Tile creation code to single reference
Added javadocs to Tile constructors and setAutoUpdate
2008-09-30 21:32:54cheeseboy

Made GmObjectFrame and RoomFrame more aggressive in removing references to them when disposed. This is primarily in order to get a simple test case for #33.

* Made GmObjectFrame and RoomFrame remove several references to them in dispose, mostly listener references.
* Made inner classes of RoomFrame static.
* Added a preview icon to ResourceMenu, replacing those used in GmObjectFrame and RoomFrame. It is by default enabled on sprites, backgrounds and objects.
* Added method getDisplayImage to Resource, making the methods in Sprite and Background, as well as a new one in GmObject, override it.
o Replaced getSpriteIcon and getBackgroundIcon in GmTreeGraphics with a more general getResourceIcon.
* Made linkedFrame in EventFrame a WeakReference.
2008-10-01 16:51:14cheeseboy

Replaced WeakReference resource references with a new class, ResourceReference. This should fix most of #33.

* Each resource now holds its own reference in a public final field. In the constructor, it can either take a reference as a parameter (and optionally update it), or it can make a new reference.
* The access to the constructor and set method in ResourceReference is intentionally restricted to let only classes in the resources package handle them.
* Fixed handling of null references in several places.
* Removed Util.refsAreEqual since references should be unique and thus can be compared using ==.
* Made ResNode.res final, since this field shouldn't change. The reference will update itself.
* Added a new method, dispose, to Resource, which nulls its reference, signalling that the resource has been removed.
* Reorganized copy methods used by resources.
o Resources implement a single protected method for all copying, which is used by two methods in Resource:
+ copy(ResourceList<R> src), which should do the same as before.
+ clone(), which makes an exact deep copy of the resource, with the same reference. The reference can later be updated to point to this new clone.
o Note that the update parameter now has a different meaning: to update the given reference to point to the new resource (as in the constructor).
* Moved the UpdateSource system from Resource to ResourceReference. This means already established listener "connections" won't break when a resource gets replaced.
2008-10-02 03:57:51IsmAvatar
r299 and later will break most plugins that work on the backend, especially tiles and instances. If you use plugins with compatability prior to r299, either don't download these revisions or get a plugin with higher compatability.
2008-10-02 08:53:09Clam
Perhaps we need a basic version attribute for plugins so that LGM can decide whether to load them. Pretty much every other plugin system does this.
2008-10-03 07:09:52IsmAvatar
You should bring that up in a new thread in "Features" or a new ticket, so that we can discuss it in length without flooding cheeseboy's build thread.
2008-10-04 16:13:50cheeseboy

Improved various functionality around file saving.

* Added support for multiple backups per game.
o Default is to keep one backup.
o Can be configured through the PrefsStore.
* File saving methods in Listener now have better error handling.
o Removed IOException trap from writeGmFile, so that the caller can deal with the exception properly.
o Users are asked whether to overwrite the existing file if backup fails.
o If saving the file fails, users are shown an error message so that they know it wasn't saved.
* Backups are now also kept when using saveNewFile on an existing file.
2008-10-04 16:16:12cheeseboy

Made action frames only stay above the resource frame to which each one belongs, instead of all regular internal frames.

* Instances of MDIPane now maintain a (weak) map of "Z relations", in which children are kept above their parent at all times. Such Z relations can be specified by using the addZChild method. The pane makes sure all Z children are above their parent by overriding setLayer.
o Added a new class for the Z children, WeakArrayList, Which only keeps weak references to its entries and removes entries that have been cleared.

Did the same for code frames in RoomFrame.
2008-10-12 18:22:11cheeseboy

Fixed automatic updates in several places, using the UpdateSource system.

* Converted ResNode to using UpdateSource and made it listen to its own resource, propagating any events from the resource both up the resource tree, and to the node's listeners.
* Moved some of ResNode's update handling from resource frames into ResNode.
* Replaced ResourceMenu's complicated listener system with UpdateSource.
* Removed the setListen method in RoomEditor.RoomComponent, since the weak references used in UpdateSource makes this unnecessary.
* Added new method invokeOnceLater in Util, which does the same as SwingUtilities.invokeLater, except that the Runnable is only enqueued if not already in the queue.
* Made several fields in different resources private to let them generate events when set.
* Made a new class for Sprite subimages, ImageList, which calls the Sprite's fireUpdate when modified.
* Added some event "propagation paths" to simplify listener handling, especially in the room editor components:
o Sprite &#8594; GmObject &#8594; Instance
o Background &#8594; Tile
* Fixed updating of the subimage list in SpriteFrame e.g. when loading a new image.
2008-10-12 18:23:56cheeseboy
Fixed some NullPointerExceptions and a small tile editor bug.

* Deleting a resource would cause an NPE in ResNode.
* Trying to save a new game would cause an NPE because its filename would be null.
* Copying a GmObject without a sprite would cause an NPE (e.g. when adding an new object from the Resources menu).
* Fixed an x/y error in RoomFrame.actionPerformed, in the code that updates the tile editor tab.

Additionally, ResNode now removes itself from the tree automatically when its resource is deleted.
2008-10-19 15:49:23cheeseboy

Fixed some bugs having to do with ResourceList.

* Fixed resource deletion in Listener, which would sometimes skip resources when deleting a group because of concurrent modification. Appeared in r306.
* Made ResourceList check updated ResourceReferences to see if the reference has changed, and if so, remove or replace the old resource. Part of this is necessary because of a change in r306.
* ResourceList now extends TreeSet instead of ArrayList. This eliminates the problem with having ResourceList rely on unique items (which would fail e.g. when sorting).
* All methods that need overriding in ResourceList are now correctly overridden.
* Removed some unneeded methods from ResourceList.
* Various smaller imrovements in ResourceList.
2008-10-19 16:07:15cheeseboy
Removed a commented-out method in ResourceList, from r207.
Note: Revisions r207, r208 and r209 are messed up in the repository and need to be fixed.
2008-11-04 23:12:15cheeseboy

Bugfixes and Java 5 compatibility.

* Fixed bugs mentioned on forum, except ResNode?
* temp.setReadable/setWritable is not java 5
* ImageIO.getReaderFileSuffixes is not java 5

bug post here
2008-11-05 20:15:33cheeseboy

Added Subimages Toolbar to SubFrame?

* Contains Add, Remove, and Move Left/Right

editSubimage now takes a BufferedImage? instead of an index

* index handled separately
2008-11-09 00:48:10cheeseboy
Fixed Off-by-one error when adding subimage
Resolved a warning in ResourceList?
Updated some comments, added todo tag for Object Information
2008-11-09 00:49:59cheeseboy
* Used tabs instead of titled borders for dimensions

Added svn-eol to ResourceList?
2008-11-09 00:56:31cheeseboy
Implemented the UI for Grid X/Y offset

* Demoted grid snap X/Y from toolbar to settings
* Snap renamed from X/Y to Width/Height
* X/Y now denotes the offset

Fixed bug where Views dimensions tab resized
2008-11-09 21:36:03cheeseboy

Shortened JEditTextArea, eliminated length warning.

* Replaced some getters and setters with public vars
* Removed some javadocs for self-explanatory methods
2008-11-18 04:09:40cheeseboy

Fixed java versions with hyphen (-) not working

* e.g. 1.7.0-ea would attempt to parse 0-ea as an integer

Fixed Game Info focus bug (swap update and grabFocus...)