Skip to content

Commit 234e4f9

Browse files
committed
Bugfixing, removed some memory leaks, other minor UI improvements
1 parent 01200e8 commit 234e4f9

File tree

22 files changed

+252
-450
lines changed

22 files changed

+252
-450
lines changed

core/src/main/java/org/rpgwizard/common/assets/Animation.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import java.awt.image.BufferedImage;
1111
import java.util.Iterator;
12+
import java.util.Objects;
1213
import java.util.concurrent.ConcurrentLinkedQueue;
1314
import org.rpgwizard.common.assets.events.AnimationChangedEvent;
1415
import org.rpgwizard.common.assets.listeners.AnimationChangeListener;
@@ -198,6 +199,28 @@ public void fireAnimationFrameRemoved() {
198199
}
199200
}
200201

202+
@Override
203+
public int hashCode() {
204+
int hash = 7;
205+
hash = 29 * hash + Objects.hashCode(this.spriteSheet);
206+
return hash;
207+
}
208+
209+
@Override
210+
public boolean equals(Object obj) {
211+
if (this == obj) {
212+
return true;
213+
}
214+
if (obj == null) {
215+
return false;
216+
}
217+
if (getClass() != obj.getClass()) {
218+
return false;
219+
}
220+
final Animation other = (Animation) obj;
221+
return this.spriteSheet.getFileName().equals(other.spriteSheet.getFileName());
222+
}
223+
201224
private void init() {
202225
animationWidth = 50;
203226
animationHeight = 50;

core/src/main/java/org/rpgwizard/common/assets/board/BoardLayer.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,8 +248,12 @@ public Tile getTileAt(int x, int y) {
248248
* the tile
249249
*/
250250
public void setTileAt(int x, int y, Tile tile) {
251-
tiles[x][y] = tile;
252-
board.fireBoardChanged();
251+
if (x >= 0 && x < tiles.length) {
252+
if (y >= 0 && y < tiles[x].length) {
253+
tiles[x][y] = tile;
254+
board.fireBoardChanged();
255+
}
256+
}
253257
}
254258

255259
/**

editor/editor-ui/src/main/java/org/rpgwizard/editor/MainWindow.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,12 +431,10 @@ public void internalFrameClosed(InternalFrameEvent e) {
431431

432432
@Override
433433
public void internalFrameIconified(InternalFrameEvent e) {
434-
435434
}
436435

437436
@Override
438437
public void internalFrameDeiconified(InternalFrameEvent e) {
439-
440438
}
441439

442440
@Override

editor/editor-ui/src/main/java/org/rpgwizard/editor/editors/AnimationEditor.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import javax.swing.BorderFactory;
1717
import javax.swing.JPanel;
1818
import javax.swing.JScrollPane;
19+
import javax.swing.event.InternalFrameEvent;
20+
import javax.swing.event.InternalFrameListener;
1921
import org.rpgwizard.common.assets.AbstractAsset;
2022
import org.rpgwizard.common.assets.Animation;
2123
import org.rpgwizard.common.assets.AssetDescriptor;
@@ -33,7 +35,8 @@
3335
* @author Geoff Wilson
3436
* @author Joshua Michael Daly
3537
*/
36-
public final class AnimationEditor extends AbstractAssetEditorWindow implements AnimationChangeListener {
38+
public final class AnimationEditor extends AbstractAssetEditorWindow
39+
implements InternalFrameListener, AnimationChangeListener {
3740

3841
private final Animation animation;
3942

@@ -78,7 +81,9 @@ public void saveAs(File file) throws Exception {
7881
save();
7982
}
8083

81-
public void gracefulClose() {
84+
@Override
85+
public void internalFrameClosed(InternalFrameEvent e) {
86+
animatedPanel.tearDown();
8287
animation.removeAnimationChangeListener(this);
8388
}
8489

editor/editor-ui/src/main/java/org/rpgwizard/editor/editors/CharacterEditor.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import javax.swing.JFrame;
1515
import javax.swing.JLabel;
1616
import javax.swing.JTextField;
17-
import javax.swing.event.InternalFrameListener;
1817
import org.rpgwizard.common.assets.AbstractAsset;
1918
import org.rpgwizard.common.assets.AssetDescriptor;
2019
import org.rpgwizard.common.assets.GraphicEnum;
@@ -33,7 +32,7 @@
3332
* @author Joel Moore
3433
* @author Joshua Michael Daly
3534
*/
36-
public final class CharacterEditor extends AbstractSpriteEditor implements InternalFrameListener, SpriteChangeListener {
35+
public final class CharacterEditor extends AbstractSpriteEditor implements SpriteChangeListener {
3736

3837
private static final Logger LOGGER = LoggerFactory.getLogger(CharacterEditor.class);
3938

@@ -126,11 +125,8 @@ private void setupNewPlayer() {
126125
* Builds the Swing interface
127126
*/
128127
private void constructWindow() {
129-
addInternalFrameListener(this);
130-
131128
createStatsPanel();
132129
createAnimationsPanel();
133-
134130
build();
135131
}
136132

editor/editor-ui/src/main/java/org/rpgwizard/editor/editors/EnemyEditor.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
* @author Joel Moore
3131
* @author Joshua Michael Daly
3232
*/
33-
public final class EnemyEditor extends AbstractSpriteEditor implements InternalFrameListener, SpriteChangeListener {
33+
public final class EnemyEditor extends AbstractSpriteEditor implements SpriteChangeListener {
3434

3535
private final Enemy enemy;
3636

@@ -119,11 +119,8 @@ private void setupNewEnemy() {
119119
* Builds the Swing interface
120120
*/
121121
private void constructWindow() {
122-
this.addInternalFrameListener(this);
123-
124-
this.createStatsPanel();
125-
this.createGraphicsPanel();
126-
122+
createStatsPanel();
123+
createGraphicsPanel();
127124
build();
128125
}
129126

editor/editor-ui/src/main/java/org/rpgwizard/editor/editors/NPCEditor.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import javax.swing.JFrame;
1515
import javax.swing.JLabel;
1616
import javax.swing.JTextField;
17-
import javax.swing.event.InternalFrameListener;
1817
import org.rpgwizard.common.assets.AbstractAsset;
1918
import org.rpgwizard.common.assets.AssetDescriptor;
2019
import org.rpgwizard.common.assets.GraphicEnum;
@@ -27,7 +26,7 @@
2726
*
2827
* @author Joshua Michael Daly
2928
*/
30-
public final class NPCEditor extends AbstractSpriteEditor implements InternalFrameListener, SpriteChangeListener {
29+
public final class NPCEditor extends AbstractSpriteEditor implements SpriteChangeListener {
3130

3231
private final NPC npc;
3332

@@ -83,11 +82,8 @@ private void setupNewNPC() {
8382
}
8483

8584
private void constructWindow() {
86-
addInternalFrameListener(this);
87-
8885
createStatsPanel();
8986
createAnimationsPanel();
90-
9187
build();
9288
}
9389

editor/editor-ui/src/main/java/org/rpgwizard/editor/editors/ProjectEditor.java

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -129,51 +129,16 @@ public void saveAs(File file) throws Exception {
129129
save();
130130
}
131131

132-
public void gracefulClose() {
133-
134-
}
135-
136-
@Override
137-
public void internalFrameOpened(InternalFrameEvent e) {
138-
139-
}
140-
141-
@Override
142-
public void internalFrameClosing(InternalFrameEvent e) {
143-
144-
}
145-
146132
@Override
147133
public void internalFrameClosed(InternalFrameEvent e) {
148-
this.gracefulClose();
149-
}
150-
151-
@Override
152-
public void internalFrameIconified(InternalFrameEvent e) {
153-
154-
}
155-
156-
@Override
157-
public void internalFrameDeiconified(InternalFrameEvent e) {
158-
159-
}
160-
161-
@Override
162-
public void internalFrameActivated(InternalFrameEvent e) {
163-
164-
}
165-
166-
@Override
167-
public void internalFrameDeactivated(InternalFrameEvent e) {
168134

169135
}
170136

171137
/**
172138
* Builds the Swing interface
173139
*/
174140
private void constructWindow() {
175-
this.addInternalFrameListener(this);
176-
141+
addInternalFrameListener(this);
177142
// Builds the components needed to display the Project status.
178143
JTabbedPane tabPane = new JTabbedPane();
179144

0 commit comments

Comments
 (0)