You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(103) |
Jun
(121) |
Jul
(16) |
Aug
(67) |
Sep
(126) |
Oct
(161) |
Nov
(164) |
Dec
(588) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(394) |
Feb
(181) |
Mar
(131) |
Apr
(180) |
May
(255) |
Jun
(11) |
Jul
(79) |
Aug
(70) |
Sep
(274) |
Oct
(138) |
Nov
(195) |
Dec
(8) |
2008 |
Jan
(3) |
Feb
(142) |
Mar
(162) |
Apr
(124) |
May
(148) |
Jun
(157) |
Jul
(425) |
Aug
(373) |
Sep
(264) |
Oct
(315) |
Nov
(225) |
Dec
(6) |
2009 |
Jan
(67) |
Feb
(78) |
Mar
(279) |
Apr
(294) |
May
(92) |
Jun
(65) |
Jul
(134) |
Aug
(41) |
Sep
(138) |
Oct
(125) |
Nov
(126) |
Dec
(122) |
2010 |
Jan
(15) |
Feb
(48) |
Mar
(9) |
Apr
(195) |
May
(373) |
Jun
(507) |
Jul
(42) |
Aug
(16) |
Sep
(38) |
Oct
(81) |
Nov
(64) |
Dec
(18) |
2011 |
Jan
(13) |
Feb
(12) |
Mar
(39) |
Apr
(1) |
May
(2) |
Jun
(27) |
Jul
(27) |
Aug
(31) |
Sep
(14) |
Oct
(102) |
Nov
(20) |
Dec
(37) |
2012 |
Jan
(22) |
Feb
(1) |
Mar
(1) |
Apr
(2) |
May
(2) |
Jun
(18) |
Jul
(6) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
(47) |
Jun
(7) |
Jul
(107) |
Aug
|
Sep
|
Oct
(112) |
Nov
(31) |
Dec
(17) |
2014 |
Jan
(29) |
Feb
(111) |
Mar
(34) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(18) |
Dec
(10) |
From: <aki...@us...> - 2010-06-12 17:56:30
|
Revision: 8360 http://gridarta.svn.sourceforge.net/gridarta/?rev=8360&view=rev Author: akirschbaum Date: 2010-06-12 17:56:24 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Remove tag 0.8. Removed Paths: ------------- tags/0.8/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 17:11:50
|
Revision: 8359 http://gridarta.svn.sourceforge.net/gridarta/?rev=8359&view=rev Author: akirschbaum Date: 2010-06-12 17:11:40 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Release 0.8. Modified Paths: -------------- tags/0.8/atrinik/ChangeLog tags/0.8/atrinik/build.xml tags/0.8/crossfire/ChangeLog tags/0.8/crossfire/build.xml tags/0.8/daimonin/ChangeLog tags/0.8/daimonin/build.xml Modified: tags/0.8/atrinik/ChangeLog =================================================================== --- tags/0.8/atrinik/ChangeLog 2010-06-12 17:08:31 UTC (rev 8358) +++ tags/0.8/atrinik/ChangeLog 2010-06-12 17:11:40 UTC (rev 8359) @@ -1,3 +1,7 @@ +2010-06-12 Andreas Kirschbaum + + * Release 0.8. + 2010-06-10 Andreas Kirschbaum * Fix path names in face and animation chooser. Modified: tags/0.8/atrinik/build.xml =================================================================== --- tags/0.8/atrinik/build.xml 2010-06-12 17:08:31 UTC (rev 8358) +++ tags/0.8/atrinik/build.xml 2010-06-12 17:11:40 UTC (rev 8359) @@ -69,7 +69,7 @@ </tstamp> <exec executable="svnversion" outputproperty="build.svnversion" failifexecutionfails="false"/> <property name="build.svnversion" value="unknown"/> - <property name="build.version" value="Gridzilla"/> + <property name="build.version" value="0.8"/> <property name="build.number" value="${build.version} (revision ${build.svnversion})"/> <echoproperties destfile="build.properties"> <propertyset negate="true"> Modified: tags/0.8/crossfire/ChangeLog =================================================================== --- tags/0.8/crossfire/ChangeLog 2010-06-12 17:08:31 UTC (rev 8358) +++ tags/0.8/crossfire/ChangeLog 2010-06-12 17:11:40 UTC (rev 8359) @@ -1,5 +1,7 @@ 2010-06-12 Andreas Kirschbaum + * Release 0.8. + * Collect resources. 2010-06-10 Andreas Kirschbaum Modified: tags/0.8/crossfire/build.xml =================================================================== --- tags/0.8/crossfire/build.xml 2010-06-12 17:08:31 UTC (rev 8358) +++ tags/0.8/crossfire/build.xml 2010-06-12 17:11:40 UTC (rev 8359) @@ -66,7 +66,7 @@ </tstamp> <exec executable="svnversion" outputproperty="build.svnversion" failifexecutionfails="false"/> <property name="build.svnversion" value="unknown"/> - <property name="build.version" value="Gridzilla"/> + <property name="build.version" value="0.8"/> <property name="build.number" value="${build.version} (revision ${build.svnversion})"/> <echoproperties destfile="build.properties"> <propertyset> Modified: tags/0.8/daimonin/ChangeLog =================================================================== --- tags/0.8/daimonin/ChangeLog 2010-06-12 17:08:31 UTC (rev 8358) +++ tags/0.8/daimonin/ChangeLog 2010-06-12 17:11:40 UTC (rev 8359) @@ -1,3 +1,7 @@ +2010-06-12 Andreas Kirschbaum + + * Release 0.8. + 2010-06-10 Andreas Kirschbaum * Fix path names in face and animation chooser. Modified: tags/0.8/daimonin/build.xml =================================================================== --- tags/0.8/daimonin/build.xml 2010-06-12 17:08:31 UTC (rev 8358) +++ tags/0.8/daimonin/build.xml 2010-06-12 17:11:40 UTC (rev 8359) @@ -69,7 +69,7 @@ </tstamp> <exec executable="svnversion" outputproperty="build.svnversion" failifexecutionfails="false"/> <property name="build.svnversion" value="unknown"/> - <property name="build.version" value="Gridzilla"/> + <property name="build.version" value="0.8"/> <property name="build.number" value="${build.version} (revision ${build.svnversion})"/> <echoproperties destfile="build.properties"> <propertyset negate="true"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 17:08:37
|
Revision: 8358 http://gridarta.svn.sourceforge.net/gridarta/?rev=8358&view=rev Author: akirschbaum Date: 2010-06-12 17:08:31 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Create tag 0.8. Added Paths: ----------- tags/0.8/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 15:27:31
|
Revision: 8357 http://gridarta.svn.sourceforge.net/gridarta/?rev=8357&view=rev Author: akirschbaum Date: 2010-06-12 15:27:25 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Create branch 0.8. Added Paths: ----------- branches/0.8/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 15:12:21
|
Revision: 8356 http://gridarta.svn.sourceforge.net/gridarta/?rev=8356&view=rev Author: akirschbaum Date: 2010-06-12 15:12:15 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Fix icon file name. Added Paths: ----------- trunk/resource/icons/filter_small_icon.gif Removed Paths: ------------- trunk/resource/icons/filte_small_icon.gif Deleted: trunk/resource/icons/filte_small_icon.gif =================================================================== (Binary files differ) Copied: trunk/resource/icons/filter_small_icon.gif (from rev 8348, trunk/resource/icons/filte_small_icon.gif) =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 14:22:46
|
Revision: 8355 http://gridarta.svn.sourceforge.net/gridarta/?rev=8355&view=rev Author: akirschbaum Date: 2010-06-12 14:22:40 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Add missing resource keys. Modified Paths: -------------- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/messages.properties trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/messages.properties Modified: trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/messages.properties =================================================================== --- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/messages.properties 2010-06-12 14:16:06 UTC (rev 8354) +++ trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/messages.properties 2010-06-12 14:22:40 UTC (rev 8355) @@ -48,6 +48,10 @@ # and run for the first time. docuVersion=1 +# Supported image set. The values must match the image file names: +# <name>.<image set name>.111 +availableImageSets= + # The default archetype directory. archDirectoryDefault=../arch Modified: trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/messages.properties =================================================================== --- trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/messages.properties 2010-06-12 14:16:06 UTC (rev 8354) +++ trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/messages.properties 2010-06-12 14:22:40 UTC (rev 8355) @@ -48,6 +48,10 @@ # and run for the first time. docuVersion=1 +# Supported image set. The values must match the image file names: +# <name>.<image set name>.111 +availableImageSets= + # The default archetype directory. archDirectoryDefault=../arch This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 14:16:12
|
Revision: 8354 http://gridarta.svn.sourceforge.net/gridarta/?rev=8354&view=rev Author: akirschbaum Date: 2010-06-12 14:16:06 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Add @NotNull/@Nullable annotations. Modified Paths: -------------- trunk/src/app/net/sf/gridarta/gui/prefs/ResPreferences.java Modified: trunk/src/app/net/sf/gridarta/gui/prefs/ResPreferences.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/prefs/ResPreferences.java 2010-06-12 14:03:51 UTC (rev 8353) +++ trunk/src/app/net/sf/gridarta/gui/prefs/ResPreferences.java 2010-06-12 14:16:06 UTC (rev 8354) @@ -65,11 +65,13 @@ /** * Action Builder. */ + @NotNull private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta"); /** * The global settings instance. */ + @NotNull private final GlobalSettings globalSettings; /** @@ -81,18 +83,20 @@ /** * TextField for arch directory path. */ + @NotNull private JFileField archField; /** * TextField for map directory path. */ + @NotNull private JFileField mapField; /** * TextField for media directory path. */ - @NotNull - private JFileField mediaField; + @Nullable + private JFileField mediaField = null; /** * ComboBox for choosing the configuration source. @@ -103,12 +107,14 @@ /** * ComboBox for choosing the image set. */ - private JComboBox imageSetBox; + @Nullable + private JComboBox imageSetBox = null; /** * Contains all supported image sets. */ - private String[] imageSets; + @Nullable + private String[] imageSets = null; /** * The {@link ItemListener} attached to {@link #configSourceComboBox}. @@ -148,6 +154,7 @@ * @param titleKey Action Key for border title * @return titled border */ + @NotNull private static Border createTitledBorder(final String titleKey) { return new CompoundBorder(new TitledBorder(ACTION_BUILDER.getString(titleKey)), GUIConstants.DIALOG_BORDER); } @@ -160,11 +167,13 @@ globalSettings.setArchDirectory(new File(PathManager.getAbsolutePath(archField.getText()))); globalSettings.setMapsDirectory(new File(PathManager.getAbsolutePath(mapField.getText()))); if (globalSettings.hasMediaDirectory()) { + assert mediaField != null; globalSettings.setMediaDirectory(new File(PathManager.getAbsolutePath(mediaField.getText()))); } globalSettings.setConfigSource((ConfigSource) configSourceComboBox.getSelectedItem()); if (globalSettings.hasImageSet()) { + assert imageSetBox != null; final String imageSet = (String) imageSetBox.getSelectedItem(); globalSettings.setImageSet(imageSet == null || imageSet.equals("disabled") ? "none" : imageSet); } @@ -180,11 +189,17 @@ archField.setText(globalSettings.getArchDirectory().getPath()); mapField.setText(globalSettings.getMapsDirectory().getPath()); if (globalSettings.hasMediaDirectory()) { - mediaField.setText(globalSettings.getMediaDirectory().getPath()); + final String text = globalSettings.getMediaDirectory().getPath(); + assert mediaField != null; + mediaField.setText(text); } configSourceComboBox.setSelectedItem(globalSettings.getConfigSource()); if (globalSettings.hasImageSet()) { - imageSetBox.setSelectedIndex(Arrays2.linearEqualitySearch(getCurrentImageSet(), imageSets)); + final String imageSet = getCurrentImageSet(); + assert imageSets != null; + final int index = Arrays2.linearEqualitySearch(imageSet, imageSets); + assert imageSetBox != null; + imageSetBox.setSelectedIndex(index); } } @@ -196,11 +211,16 @@ archField.setText(globalSettings.getArchDirectoryDefault().getPath()); mapField.setText(globalSettings.getMapsDirectoryDefault().getPath()); if (globalSettings.hasMediaDirectory()) { - mediaField.setText(globalSettings.getMediaDirectoryDefault().getPath()); + final String text = globalSettings.getMediaDirectoryDefault().getPath(); + assert mediaField != null; + mediaField.setText(text); } configSourceComboBox.setSelectedItem(configSourceFactory.getDefaultConfigSource()); if (globalSettings.hasImageSet()) { - imageSetBox.setSelectedIndex(Arrays2.linearEqualitySearch("disabled", imageSets)); + assert imageSets != null; + final int index = Arrays2.linearEqualitySearch("disabled", imageSets); + assert imageSetBox != null; + imageSetBox.setSelectedIndex(index); } } @@ -209,8 +229,26 @@ */ @Override public boolean isChanged() { - final String imageSet = convertImageSet(globalSettings.hasImageSet() ? (String) imageSetBox.getSelectedItem() : null); - return !(PathManager.getAbsolutePath(archField.getText()).equals(globalSettings.getArchDirectory().getPath()) && PathManager.getAbsolutePath(mapField.getText()).equals(globalSettings.getMapsDirectory().getPath()) && (!globalSettings.hasMediaDirectory() || PathManager.getAbsolutePath(mediaField.getText()).equals(globalSettings.getMediaDirectory().getPath())) && imageSet.equals(getCurrentImageSet()) && configSourceComboBox.getSelectedItem() == globalSettings.getConfigSource()); + final String imageSet; + if (globalSettings.hasImageSet()) { + assert imageSetBox != null; + imageSet = convertImageSet((String) imageSetBox.getSelectedItem()); + } else { + imageSet = convertImageSet(null); + } + assert mediaField != null; + if (!PathManager.getAbsolutePath(archField.getText()).equals(globalSettings.getArchDirectory().getPath()) || !PathManager.getAbsolutePath(mapField.getText()).equals(globalSettings.getMapsDirectory().getPath())) { + return true; + } + + if (globalSettings.hasMediaDirectory()) { + assert mediaField != null; + if (!PathManager.getAbsolutePath(mediaField.getText()).equals(globalSettings.getMediaDirectory().getPath())) { + return true; + } + } + + return !(imageSet.equals(getCurrentImageSet()) && configSourceComboBox.getSelectedItem() == globalSettings.getConfigSource()); } /** @@ -259,6 +297,7 @@ * Construct the Combo box for the selection of image sets. * @return combo box with image sets to select */ + @NotNull private Component buildImageSetBox() { final String[] imageSetNames = StringUtils.PATTERN_WHITESPACE.split(ACTION_BUILDER.getString("availableImageSets"), 0); Arrays.sort(imageSetNames); @@ -267,8 +306,13 @@ System.arraycopy(imageSetNames, 0, imageSets, 1, imageSetNames.length); imageSetBox = new JComboBox(imageSets); // set "content" - imageSetBox.setSelectedIndex(Arrays2.linearEqualitySearch(getCurrentImageSet(), imageSets)); + final String imageSet = getCurrentImageSet(); + assert imageSets != null; + final int index = Arrays2.linearEqualitySearch(imageSet, imageSets); + assert imageSetBox != null; + imageSetBox.setSelectedIndex(index); + assert imageSetBox != null; return imageSetBox; } @@ -276,6 +320,7 @@ * Returns the name of the currently selected image set. * @return the name or "disabled" if no image set is selected */ + @NotNull private String getCurrentImageSet() { return convertImageSet(globalSettings.getImageSet()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 14:03:59
|
Revision: 8353 http://gridarta.svn.sourceforge.net/gridarta/?rev=8353&view=rev Author: akirschbaum Date: 2010-06-12 14:03:51 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Remove unused menu definition. Modified Paths: -------------- trunk/src/app/net/sf/gridarta/action.properties Modified: trunk/src/app/net/sf/gridarta/action.properties =================================================================== --- trunk/src/app/net/sf/gridarta/action.properties 2010-06-12 13:41:09 UTC (rev 8352) +++ trunk/src/app/net/sf/gridarta/action.properties 2010-06-12 14:03:51 UTC (rev 8353) @@ -167,5 +167,4 @@ ############# # Main Window -tabButton.menu=tabButton.moveTo tabButtonMoveTo.menu= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 13:41:15
|
Revision: 8352 http://gridarta.svn.sourceforge.net/gridarta/?rev=8352&view=rev Author: akirschbaum Date: 2010-06-12 13:41:09 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Fix clashes between key codes for menu entries. Modified Paths: -------------- trunk/src/app/net/sf/gridarta/messages_de.properties trunk/src/app/net/sf/gridarta/messages_fr.properties trunk/src/app/net/sf/gridarta/messages_sv.properties Modified: trunk/src/app/net/sf/gridarta/messages_de.properties =================================================================== --- trunk/src/app/net/sf/gridarta/messages_de.properties 2010-06-12 13:36:02 UTC (rev 8351) +++ trunk/src/app/net/sf/gridarta/messages_de.properties 2010-06-12 13:41:09 UTC (rev 8352) @@ -829,7 +829,7 @@ ########### # Bookmarks bookmarks.text=Lesezeichen -bookmarks.mnemonic=L +bookmarks.mnemonic=Z addBookmark.text=Lesezeichen hinzuf\xFCgen... addBookmark.mnemonic=L Modified: trunk/src/app/net/sf/gridarta/messages_fr.properties =================================================================== --- trunk/src/app/net/sf/gridarta/messages_fr.properties 2010-06-12 13:36:02 UTC (rev 8351) +++ trunk/src/app/net/sf/gridarta/messages_fr.properties 2010-06-12 13:41:09 UTC (rev 8352) @@ -111,7 +111,7 @@ closeAllMaps.text=Tout fermer #closeAllMaps.shortdescription= #closeAllMaps.longdescription= -closeAllMaps.mnemonic=T +closeAllMaps.mnemonic=U #saveAllMaps.text= #saveAllMaps.shortdescription= Modified: trunk/src/app/net/sf/gridarta/messages_sv.properties =================================================================== --- trunk/src/app/net/sf/gridarta/messages_sv.properties 2010-06-12 13:36:02 UTC (rev 8351) +++ trunk/src/app/net/sf/gridarta/messages_sv.properties 2010-06-12 13:41:09 UTC (rev 8352) @@ -111,7 +111,7 @@ closeAllMaps.text=St\xE4ng alla closeAllMaps.shortdescription=St\xE4ng alla kartor closeAllMaps.longdescription=St\xE4nger alla \xF6ppnade kartor -closeAllMaps.mnemonic=S +closeAllMaps.mnemonic=T #saveAllMaps.text= #saveAllMaps.shortdescription= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 13:36:08
|
Revision: 8351 http://gridarta.svn.sourceforge.net/gridarta/?rev=8351&view=rev Author: akirschbaum Date: 2010-06-12 13:36:02 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Fix incorrect text resource key. Modified Paths: -------------- trunk/src/app/net/sf/gridarta/messages_de.properties Modified: trunk/src/app/net/sf/gridarta/messages_de.properties =================================================================== --- trunk/src/app/net/sf/gridarta/messages_de.properties 2010-06-12 13:33:23 UTC (rev 8350) +++ trunk/src/app/net/sf/gridarta/messages_de.properties 2010-06-12 13:36:02 UTC (rev 8351) @@ -693,7 +693,7 @@ paste.mnemonic=E paste.shortdescription=Kopiert die Zwischenablage an das Cursor-Feld. -pasteTiled=Gekachelt einf\xFCgen +pasteTiled.text=Gekachelt einf\xFCgen pasteTiled.shortdescription=Kopiert die Zwischenablage in die ausgew\xE4hlten Felder. pasteTiled.longdescription=Kopiert die Zwischenablage in die ausgew\xE4hlten Felder. Falls the Zwischenablage kleiner als die ausgew\xE4hlten Felder ist, wird gekachelt. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 13:33:30
|
Revision: 8350 http://gridarta.svn.sourceforge.net/gridarta/?rev=8350&view=rev Author: akirschbaum Date: 2010-06-12 13:33:23 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Fix incorrect text resource key. Modified Paths: -------------- trunk/src/app/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java Modified: trunk/src/app/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java 2010-06-12 12:51:06 UTC (rev 8349) +++ trunk/src/app/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java 2010-06-12 13:33:23 UTC (rev 8350) @@ -256,7 +256,7 @@ ACTION_BUILDER.showMessageDialog(this, "mapErrorFatalWrite", ex.getMessage()); // XXX: ignores ex.getMapFile() return; } catch (final InvalidPathNameException ex) { - ACTION_BUILDER.showMessageDialog(this, "mapErrorFatalPath", ex.getMessage()); + ACTION_BUILDER.showMessageDialog(this, "mapErrorInvalid", ex.getMessage()); return; } catch (final MapSizeMismatchException ex) { ACTION_BUILDER.showMessageDialog(this, "mapErrorDifferentSize", mapModel.getMapArchObject().getMapName(), ex.getMapSize().getWidth(), ex.getMapSize().getHeight(), ex.getMapFile(), ex.getOtherMapSize().getWidth(), ex.getOtherMapSize().getHeight()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 12:51:13
|
Revision: 8349 http://gridarta.svn.sourceforge.net/gridarta/?rev=8349&view=rev Author: akirschbaum Date: 2010-06-12 12:51:06 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Collect resources. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/animations trunk/crossfire/resource/conf/animtree trunk/crossfire/resource/conf/archetypes trunk/crossfire/resource/conf/bmaps.paths trunk/crossfire/resource/conf/crossfire.0 Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2010-06-12 08:14:53 UTC (rev 8348) +++ trunk/crossfire/ChangeLog 2010-06-12 12:51:06 UTC (rev 8349) @@ -1,3 +1,7 @@ +2010-06-12 Andreas Kirschbaum + + * Collect resources. + 2010-06-10 Andreas Kirschbaum * Fix path names in face and animation chooser. Modified: trunk/crossfire/resource/conf/animations =================================================================== --- trunk/crossfire/resource/conf/animations 2010-06-12 08:14:53 UTC (rev 8348) +++ trunk/crossfire/resource/conf/animations 2010-06-12 12:51:06 UTC (rev 8349) @@ -480,10 +480,6 @@ elec_dr_spellcasting.x13 facings 1 mina -anim big_shadow_dragon -facings 1 -shadow_dragon.x31 -mina anim big_wiz big_wiz.x11 big_wiz.x12 @@ -2164,6 +2160,14 @@ giant_bat.112 giant_bat.113 mina +anim giant_chief +giant_chief.x11 +giant_chief.x12 +mina +anim giant_leader +giant_leader.x11 +giant_leader.x12 +mina anim giantrat facings 2 giantrat.x31 @@ -2674,9 +2678,6 @@ imp.171 imp.131 mina -anim incontinence -residue.111 -mina anim insect_plague ant.111 ant.112 @@ -4101,9 +4102,6 @@ raas.171 raas.131 mina -anim rabies -residue.111 -mina anim red_dragon1 facings 2 pl_dragon_r.151 Modified: trunk/crossfire/resource/conf/animtree =================================================================== --- trunk/crossfire/resource/conf/animtree 2010-06-12 08:14:53 UTC (rev 8348) +++ trunk/crossfire/resource/conf/animtree 2010-06-12 12:51:06 UTC (rev 8349) @@ -59,7 +59,6 @@ /monster/dragon/Dragon/big_dragon_spellcasting /monster/dragon/Electric/big_elec /monster/dragon/Electric/big_elec_spellcasting -/monster/dragon/Shadow_Dra/big_shadow_dragon /monster/giant/Big_Wiz/big_wiz /monster/giant/Big_Wiz/bigblue_wiz /monster/animal/bird @@ -288,6 +287,8 @@ /monster/undead/ghost /monster/giant/giant /monster/animal/giant_bat +/monster/giant/giant_chief +/monster/giant/giant_leader /monster/animal/Giant_rat/giantrat /armour/girdle/girdle_con /armour/girdle/girdle_dam @@ -360,7 +361,6 @@ /connect/Gates/igate_open_1 /connect/Gates/igate_open_2 /monster/demon/imp -/disease/incontinence /spell/Smite/insect_plague /monster/giant/JessyB/jessyb /construct/keep/keep @@ -533,7 +533,6 @@ /player/race/quetzalcoatl_player /ground/quicksilver_sea /monster/demon/raas -/disease/rabies /monster/humanoid/Dragon/red_dragon1 /monster/humanoid/Dragon/red_dragon2 /wall/cwall-red/redweak_wall_3 Modified: trunk/crossfire/resource/conf/archetypes =================================================================== --- trunk/crossfire/resource/conf/archetypes 2010-06-12 08:14:53 UTC (rev 8348) +++ trunk/crossfire/resource/conf/archetypes 2010-06-12 12:51:06 UTC (rev 8349) @@ -8403,7 +8403,6 @@ name reeking puddle of urine type 72 face residue.111 -animation incontinence is_used_up 1 speed 0.0002 food 1 @@ -8577,7 +8576,6 @@ editor_folder disease/disease name puddle of froth and saliva face residue.111 -animation rabies is_used_up 1 speed 0.0002 type 72 @@ -27119,7 +27117,6 @@ sleep 1 Wis 20 face shadow_dragon.x31 -animation big_shadow_dragon level 35 Con 11 Pow 26 @@ -27149,7 +27146,6 @@ Object shadow_dragon_2 name shadow dragon face shadow_dragon.x31 -animation big_shadow_dragon monster 1 move_type walk alive 1 @@ -27160,7 +27156,6 @@ Object shadow_dragon_3 name shadow dragon face shadow_dragon.x31 -animation big_shadow_dragon monster 1 move_type walk alive 1 @@ -27171,7 +27166,6 @@ Object shadow_dragon_4 name shadow dragon face shadow_dragon.x31 -animation big_shadow_dragon monster 1 move_type walk alive 1 @@ -27182,7 +27176,6 @@ Object shadow_dragon_5 name shadow dragon face shadow_dragon.x31 -animation big_shadow_dragon monster 1 move_type walk alive 1 @@ -27194,7 +27187,6 @@ Object shadow_dragon_6 name shadow dragon face shadow_dragon.x31 -animation big_shadow_dragon monster 1 move_type walk alive 1 @@ -27938,7 +27930,8 @@ face fireborn.111 animation fireborn is_animated 1 -type 37 +hp 50 +maxhp 50 level 1 ac 0 wc 21 @@ -27951,12 +27944,12 @@ food 999 speed 1 attacktype 5 -Str -7 -Dex 4 -Con -4 -Cha -4 -Int 3 -Pow 6 +Str 3 +Dex 14 +Con 6 +Cha 6 +Int 13 +Pow 16 resist_fire 100 resist_poison 100 resist_cold -100 @@ -29855,6 +29848,54 @@ weight 300000 y 1 end +Object giant_chief +editor_folder monster/giant +race giant +name giant chief +randomitems giant +monster 1 +move_type walk +sleep 1 +Wis 12 +face giant_chief.x11 +animation giant_chief +resist_physical 30 +resist_electricity 60 +resist_blind -25 +exp 5800 +ac 2 +wc 3 +dam 60 +hp 520 +maxhp 520 +Con 4 +Str 36 +Int 13 +level 14 +alive 1 +no_pick 1 +speed -0.15 +weight 300000 +run_away 6 +pick_up 1 +can_use_weapon 1 +can_use_skill 1 +will_apply 12 +body_skill 1 +body_arm 2 +end +More +Object giant_chief_2 +name giant chief +face giant_chief.x11 +animation giant_chief +monster 1 +move_type walk +alive 1 +no_pick 1 +weight 300000 +y 1 +end Object generate_giant editor_folder monster/giant race giant @@ -29873,6 +29914,54 @@ weight 30000 generator_limit 5 end +Object giant_leader +editor_folder monster/giant +race giant +name giant champion +randomitems giant +monster 1 +move_type walk +sleep 1 +Wis 10 +face giant_leader.x11 +animation giant_leader +resist_physical 30 +resist_electricity 50 +resist_blind -30 +exp 4800 +ac 3 +wc 4 +dam 40 +hp 360 +maxhp 360 +Con 4 +Str 33 +Int 13 +level 12 +alive 1 +no_pick 1 +speed -0.15 +weight 300000 +run_away 6 +pick_up 1 +can_use_weapon 1 +can_use_skill 1 +will_apply 12 +body_skill 1 +body_arm 2 +end +More +Object giant_leader_2 +name giant champion +face giant_leader.x11 +animation giant_leader +monster 1 +move_type walk +alive 1 +no_pick 1 +weight 300000 +y 1 +end Object mabu editor_folder monster/giant race giant @@ -32385,7 +32474,8 @@ face elf.171 animation elf is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -32398,13 +32488,13 @@ food 500 speed 0.5 attacktype 1 -Str -2 -Dex 4 -Con -2 -Wis -3 -Cha 2 -Int 1 -Pow 1 +Str 8 +Dex 14 +Con 8 +Wis 7 +Cha 12 +Int 11 +Pow 11 body_range 1 body_arm 2 body_torso 1 @@ -32918,7 +33008,8 @@ face halfling.111 animation halfling_p is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -32931,10 +33022,10 @@ food 500 speed 0.5 attacktype 1 -Str -4 -Dex 3 -Con 4 -Wis -3 +Str 6 +Dex 13 +Con 14 +Wis 7 body_range 1 body_arm 2 body_torso 1 @@ -33144,8 +33235,9 @@ face barbarian.171 animation barbarian is_animated 0 -type 37 level 1 +hp 50 +maxhp 50 ac 10 wc 21 dam 1 @@ -33157,12 +33249,12 @@ can_use_shield 1 can_use_armour 1 can_use_weapon 1 -Str 4 -Dex 1 -Con 4 -Wis -1 -Cha -2 -Int -6 +Str 14 +Dex 11 +Con 14 +Wis 9 +Cha 8 +Int 4 body_range 1 body_arm 2 body_torso 1 @@ -33431,7 +33523,8 @@ face cleric.171 animation cleric is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -33444,13 +33537,13 @@ food 500 speed 0.5 attacktype 1 -Str 0 -Dex -1 -Con -1 -Wis 2 -Cha 1 -Int -2 -Pow 1 +Str 10 +Dex 9 +Con 9 +Wis 12 +Cha 11 +Int 8 +Pow 11 body_range 1 body_arm 2 body_torso 1 @@ -33832,7 +33925,8 @@ face human.171 animation human is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -33845,13 +33939,13 @@ food 500 speed 0.5 attacktype 1 -Str 0 -Dex 0 -Con 0 -Wis 0 -Cha 0 -Int 0 -Pow 0 +Str 10 +Dex 10 +Con 10 +Wis 10 +Cha 10 +Int 10 +Pow 10 body_range 1 body_arm 2 body_torso 1 @@ -33873,7 +33967,8 @@ face mage.171 animation mage is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -33886,13 +33981,13 @@ food 500 speed 0.5 attacktype 1 -Str 0 -Dex 1 -Con -1 -Wis 0 -Cha -3 -Int 1 -Pow 2 +Str 10 +Dex 11 +Con 9 +Wis 10 +Cha 7 +Int 11 +Pow 12 body_range 1 body_arm 2 body_torso 1 @@ -34012,7 +34107,8 @@ face ninja.171 animation ninja is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -34025,13 +34121,13 @@ food 500 speed 0.5 attacktype 1 -Str 2 -Dex 2 -Con 0 -Wis -1 -Cha -1 -Int -2 -Pow 0 +Str 12 +Dex 12 +Con 10 +Wis 9 +Cha 9 +Int 8 +Pow 10 body_range 1 body_arm 2 body_torso 1 @@ -34208,11 +34304,12 @@ face priest.171 animation priest is_animated 0 -type 37 level 1 ac 10 wc 21 dam 1 +hp 50 +maxhp 50 can_use_shield 1 can_use_armour 1 can_use_weapon 1 @@ -34221,13 +34318,13 @@ food 500 speed 0.5 attacktype 1 -Str -3 -Dex -2 -Con -2 -Wis 3 -Pow 2 -Cha 2 -Int 0 +Str 13 +Dex 12 +Con 12 +Wis 13 +Pow 12 +Cha 12 +Int 10 body_range 1 body_arm 2 body_torso 1 @@ -34385,7 +34482,8 @@ face swashbuckl.171 animation swashbuckler is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -34398,13 +34496,13 @@ food 500 speed 0.5 attacktype 1 -Str 1 -Dex 3 -Con 1 -Wis -2 -Cha 1 -Int -4 -Pow 0 +Str 11 +Dex 13 +Con 11 +Wis 8 +Cha 11 +Int 6 +Pow 10 body_range 1 body_arm 2 body_torso 1 @@ -34426,11 +34524,12 @@ face thief.171 animation thief is_animated 0 -type 37 level 1 ac 10 wc 21 dam 1 +hp 50 +maxhp 50 can_use_shield 1 can_use_armour 1 can_use_weapon 1 @@ -34439,13 +34538,13 @@ food 500 speed 0.5 attacktype 1 -Str 0 -Dex 4 -Con -2 -Wis 0 -Cha -3 -Int 1 -Pow 0 +Str 10 +Dex 14 +Con 8 +Wis 10 +Cha 7 +Int 11 +Pow 10 body_range 1 body_arm 2 body_torso 1 @@ -34467,11 +34566,12 @@ face viking.171 animation viking is_animated 0 -type 37 level 1 ac 10 wc 21 dam 1 +hp 50 +maxhp 50 can_use_shield 1 can_use_armour 1 can_use_weapon 1 @@ -34480,12 +34580,12 @@ food 500 speed 0.5 attacktype 1 -Str 1 -Dex 1 -Con 2 -Wis -1 -Cha -1 -Int -2 +Str 11 +Dex 11 +Con 12 +Wis 9 +Cha 9 +Int 8 body_range 1 body_arm 2 body_torso 1 @@ -34507,7 +34607,8 @@ face warrior.171 animation warrior is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -34520,13 +34621,13 @@ food 500 speed 0.5 attacktype 1 -Str 3 -Dex -1 -Con 2 -Wis 0 -Cha -1 -Int -3 -Pow 0 +Str 13 +Dex 9 +Con 12 +Wis 10 +Cha 9 +Int 7 +Pow 10 body_range 1 body_arm 2 body_torso 1 @@ -34548,7 +34649,8 @@ face wizard.171 animation wizard is_animated 0 -type 37 +hp 50 +maxhp 50 level 1 ac 10 wc 21 @@ -34561,13 +34663,13 @@ food 500 speed 0.5 attacktype 1 -Str -3 -Dex 0 -Con -3 -Wis 0 -Int 3 -Pow 3 -Cha 0 +Str 7 +Dex 10 +Con 7 +Wis 10 +Int 13 +Pow 13 +Cha 10 body_range 1 body_arm 2 body_torso 1 @@ -40601,6 +40703,12 @@ Object dwarf_player editor_folder player/race msg +Skills: Smithery +Resistances: None +Attunements: None +Special: See in dark + +Description: The Dwarves are the hardy scions of Mostrai. The traditional profession of the dwarf is smithery, and you'll be hard-pressed to find a dwarf who is not competent at it. Whether their great strength and hardiness leads them to become smiths and miners, or whether their profession leads to their strength and hardiness is unknown. Their thick musculature makes them slow of body, and seemingly, some of their muscle has crept into their brain. Perhaps their repetitive tasks dull their minds, perhaps they're simply born dumb. Dwarves can see in the dark, but they're slightly impious and tend to be a bit poor at controlling magic. Despite this, there are indeed dwarven clerics and mages. They're just not quite as good as human clerics or mages. endmsg @@ -40652,6 +40760,12 @@ Object elf_player editor_folder player/race msg +Skills: Bowyer, Woodsman, Missile Weapons +Resistances: None +Attunements: None +Special: Slow HP regeneration, fast SP regeneration, low food consumption, start with bow & arrows, See in dark + +Description: An Elf is a child of Faerie, a scion of Lythander. Being of Faerie, they heal more slowly than other races, but mana flows into them more quickly. They also need far less food than other races. Every elf is taught the use of a bow, but their long lives allow them to take up any trade. They are weaker and less hardy than humans, but quicker of body and mind, and generally make more powerful spellcasters. However, they have a notoriously offhanded attitude toward their religious devotions and make poor priests. As a race, Elves possess a preternatural beauty and eyes that see in the dark. @@ -40718,6 +40832,12 @@ Object fenx_player editor_folder player/race msg +Skills: Woodsman, Missile Weapons, Jumping, Singing +Resistances: None +Attunements: None +Special: Slow HP regeneration, fast SP regeneration, low food consumption, start with bow & arrows, See in dark + +Description: Fenxes, also called Fendrakhis by other speaking races, are humanoids that have some fox-like attributes. A little smaller than humans, they are agile and clever, but usually share little affinity with magical forces. Once an important race of Bigworld, they were forced to hide into the Great Forest after they lost an important war against Humans, a long time ago. endmsg @@ -40782,10 +40902,17 @@ Object fireborn_player editor_folder player/race msg +Skills: Levivation, Flame Touch, Praying, Pyromancy +Resistances: Cold -30, Ghosthit -50, Immunity to Poison and Fire +Attunements: Attune Fire +Special: Can not use weapons & armor, can wear 4 rings, glowing aura, fast SP regeneration + +Description: Legends say that fireborn are sparks struck off the anvil of creation, with life and spirit, and eventually mind. Those who research magic think that they are relatives of some kind to will o' the wisps. An observer seeing one for the first time would see a strangely intelligent vortex of flame somehow carrying items without burning them. Their insubstantial nature makes them both very weak and very quick. Their minds are agile, and they are able to commune well with the gods. However, their area of excellence is magic. They spellcast more powerfully than any other race, and mana flows into them readily. They can even cast cold spells with devastating effectiveness. They all know a basic fire spell. They have the ability to levitate at will, and they can touch to burn. As they gain more power, they are increasingly difficult to hit with weapons. However, they cannot use weapons or armour, and thereby miss out on many benefits (including powerful magical enchantments) those items may bring. Fire does not harm them, nor poison. Cold, spiritual drain, and physical drain present great peril to them. +By their fiery nature, they glow like a bonfire. This removes the need for them to carry a torch into dark dungeons, but at the same time can attract unfriendly monsters. endmsg name fireborn race fire_elemental @@ -40841,6 +40968,12 @@ Object gnome_player editor_folder player/race msg +Skills: Praying +Resistances: None +Attunements: None +Special: See in dark, Lucky + +Description: Gnomes and dwarves look so much alike that some speculate that they are the same race, but with very different cultures. No one has been able to talk a Dwarf and a Gnome into attempting interbreeding, however, which would settle the issue. Dwarves and gnomes have a disgust for one another and both find the thought of intimacy with the other repulsive. Despite that, they coexist peacefully enough: perhaps because their interests and needs never conflict. Gnomes do not have nearly the strength or hardiness of dwarves, and they are even more clumsy. They are quite spiritual, and make very good priests, and many are very strong magicians. They can see in the dark, and their familiarity with the gods seems to bring a general blessing of good luck on all Gnomekind. endmsg @@ -40893,6 +41026,12 @@ Object halfling_player editor_folder player/race msg +Skills: Stealing, Hiding +Resistances: Drain +30 +Attunements: None +Special: Lucky + +Description: Halflings are another sub-race of humankind, like the Northman. They are much smaller and shorter than humans, so they are weaker, but they are far quicker and hardier. They're quite unreligious, but many take up magic. Their small size lets them hide more effectively, and for some reason chance seems to favor them with good luck. They are also surprisingly resistant to loss of lifeforce. endmsg @@ -40942,6 +41081,12 @@ Object human_player editor_folder player/race msg +Skills: Starts with random skill scroll +Resistances: None +Attunements: None +Special: None + +Description: Humans are the generalists of the races. They are fit for any trade, and usually pick up a skill from their parents in addition to what they've learned as apprentices in their craft. endmsg name human @@ -40991,6 +41136,12 @@ Object northman_player editor_folder player/race msg +Skills: None +Resistances: Cold +30 +Attunements: Repelled Fire +Special: Starts with horned helmet. + +Description: Northmen are simply humans who have been shaped by their harsh environment. They are stronger, quicker, and hardier than most humans, but also stupid and impious. Most races also consider them a bit unattractive. They have some resistance to cold, but the few of them who take up magic find it difficult to master fire spells. endmsg name Northman @@ -41042,6 +41193,12 @@ Object pl_dragon editor_folder player/race msg +Skills: Clawing, Levitate, Woodsman, Evocation +Resistances: None +Attunements: None +Special: Can not use weapons or most armor. Natural armor improves over time + +Description: Dragons are completely different than any other race. Their vast size and bizarre body prevents them both from wearing armour and wielding weapons -- tools that they disdain in any case. Instead, they are gifted with the ability to evolve and grow stronger by eating the flesh of their defeated foes. Over the years, their dragonhide hardens and it can provide better protection than the best armour. Instead of wielding weapons, they use their sharp and lethal claws in combat. Moreover, dragons have a natural talent for magic. Dragons are very interested in the lore of the elements and usually choose to specialize. While focusing their metabolism on a certain element, they can gain various new abilities -- including new spells, enhanced claws and more. Eventually, a dragon is able to evolve from the hatchling stage into a grown-up terrifying ancient @@ -41108,6 +41265,12 @@ Object pl_half_orc editor_folder player/race msg +Skills: Stealing +Resistances: Poison +30 +Attunements: Repelled Turning +Special: See in Dark + +Description: Half-Orcs are usually the product of rape, slavery, or some such unpleasantness. They look it too: Half-Orcs are rather ugly. On average, they're stronger, a bit quicker, and hardier than humans, but also stupid, impious, and unmagical. They're resistant to poison and can see in the dark, and every half-orc seems to know how to steal. endmsg name half orc @@ -41159,6 +41322,12 @@ Object quetzalcoatl_player editor_folder player/race msg +Skills: Levitation, Clawing +Resistances: Cold -30, Immunity to Fire +Attunements: Attuned Fire +Special: Can not use shields, armor, boots and helmets, starts with burning hands and fireball + +Description: Quetzalcoatls are a strange mix of snake, bird, human, and a dash of the divine. They are able to manipulate objects with their claws. They are amazingly strong, very quick, and amazingly hardy, but quite stupid and impious (despite the dash of divinity). However, they are strongly magical in nature and usually have a vast reservoir of mana with which to cast any spell they're not too stupid to learn. Often, they're only able to grasp one basic fire spell. Their strongly draconic nature makes them immune to fire and helps them with fire spells, but they are vulnerable to cold. They can grasp weapons, but their bizarre body shape prevents them from using armour, helmets, and other items of apparel intended for bipedal creatures with two arms, two legs, and a head. Their inability to use armour comes back to haunt them when they compare themselves with other races: highly enchanted armour is usually more beneficial than dragonhide! The wings come in handy: they can use them to levitate, and their hide gets thicker as they gain power, compensating them somewhat for not being able to use armour. endmsg @@ -41205,6 +41374,12 @@ Object serpentman_player editor_folder player/race msg +Skills: Clawing, Jumping +Resistances: Cold -50, Fire +30, Electricity +30, Acid +30, Poison +30, Physical +5 +Attunements: None +Special: Can not wear boots and helmets, can wear extra ring and bracers. + +Description: The Serpentman adventurer is a rare breed. Few Serpentmen ever leave the swamps, as they are not well adjusted for human society. Their heads and feet are not shaped properly to use boots or helmets made for humanoid folk, but their unusual build has given rise to a cultural habit of wearing pieces of bracelet- and ring-like jewelry on their tails. They possess a tough hide and strong legs which enable them to leap further than most folks. Their nasty claws can also double as weapons. They are only partially warm-blooded, and are as a result somewhat susceptible to cold. endmsg @@ -41258,6 +41433,12 @@ Object troll_player editor_folder player/race msg +Skills: None +Resistances: Fire -30, Cold +30 +Attunements: Repelled fire +Special: Fast HP regeneration, slow SP regeneration + +Description: Trolls are usually nasty creatures: scions of Gnarg. They have amazing strength and hardiness, but they're a bit clumsy, very stupid, impious, and bad at handling and obtaining magic. They heal with amazing rapidity and can see in the dark. Because of the above attributes, they're great in any fight. Well, they're great until someone waves torches at them: fire presents great peril to trolls. Most trolls are destroyed on sight by civilized people: but a few have proved deserving of tolerance and are permitted to enter cities. endmsg @@ -41324,6 +41505,12 @@ Object wraith_player editor_folder player/race msg +Skills: Wraith Feed +Resistances: Fire -25, Cold +30, Immune to Poison, Ghosthit, and Draining +Attunements: Denied fire spells, Attune cold spells +Special: Undead (immune to disease), can see in dark + +Description: A Wraith is the spirit of a person who has made an evil bargain in order to persist after natural death, or has been forced involuntarily into its current undead state. This transformation frees them of the limits of a natural lifespan, and grants them immunity to diseases, poison, and loss of lifeforce. Wraiths also need feel little fear of cold, and they can see well in the dark. A Wraith's corporeal form has terrible vulnerabilities: fire and most godpower are dangerous to Wraiths. Their tenuous form makes them quick and somewhat hard to hit, but also weaker and less hardy. Wraiths have a strong affinity to magic, especially cold spells, and are very strong spellcasters. However, they cannot use fire spells for fear of self-destruction. Wraith also do not heal naturally, or gain sustenance from food. Instead they have to feed off the living. endmsg @@ -54665,6 +54852,7 @@ end Object event_time editor_folder system/system +face event_time.111 type 116 subtype 8 invisible 1 @@ -54672,6 +54860,7 @@ end Object event_timer editor_folder system/system +face event_timer.111 type 116 subtype 12 invisible 1 @@ -57303,6 +57492,90 @@ face dirtroad_F.111 no_pick 1 end +Object dirtroad_2_051 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_05.111 +no_pick 1 +end +Object dirtroad_2_052 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_05.211 +no_pick 1 +end +Object dirtroad_2_053 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_05.311 +no_pick 1 +end +Object dirtroad_2_0A1 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_0A.111 +no_pick 1 +end +Object dirtroad_2_0A2 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_0A.211 +no_pick 1 +end +Object dirtroad_2_0A3 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_0A.311 +no_pick 1 +end +Object dirtroad_2_141 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_14.111 +no_pick 1 +end +Object dirtroad_2_181 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_18.111 +no_pick 1 +end +Object dirtroad_2_211 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_21.111 +no_pick 1 +end +Object dirtroad_2_281 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_28.111 +no_pick 1 +end +Object dirtroad_2_411 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_41.111 +no_pick 1 +end +Object dirtroad_2_421 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_42.111 +no_pick 1 +end +Object dirtroad_2_821 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_82.111 +no_pick 1 +end +Object dirtroad_2_841 +editor_folder wall/dirtroad +name dirtroad +face dirtroad_84.111 +no_pick 1 +end Object dun_0 editor_folder wall/dun face dun_0.111 Modified: trunk/crossfire/resource/conf/bmaps.paths =================================================================== --- trunk/crossfire/resource/conf/bmaps.paths 2010-06-12 08:14:53 UTC (rev 8348) +++ trunk/crossfire/resource/conf/bmaps.paths 2010-06-12 12:51:06 UTC (rev 8349) @@ -1403,3622 +1403,3642 @@ \01402 ./arch/inorganic/dirt.111 \01403 ./arch/floor/dirtfloor.111 \01404 ./arch/wall/dirtroad/dirtroad_0.111 -\01405 ./arch/wall/dirtroad/dirtroad_1.111 -\01406 ./arch/wall/dirtroad/dirtroad_2.111 -\01407 ./arch/wall/dirtroad/dirtroad_3.111 -\01408 ./arch/wall/dirtroad/dirtroad_4.111 -\01409 ./arch/wall/dirtroad/dirtroad_5.111 -\01410 ./arch/wall/dirtroad/dirtroad_6.111 -\01411 ./arch/wall/dirtroad/dirtroad_7.111 -\01412 ./arch/wall/dirtroad/dirtroad_8.111 -\01413 ./arch/wall/dirtroad/dirtroad_9.111 -\01414 ./arch/wall/dirtroad/dirtroad_A.111 -\01415 ./arch/wall/dirtroad/dirtroad_B.111 -\01416 ./arch/wall/dirtroad/dirtroad_C.111 -\01417 ./arch/wall/dirtroad/dirtroad_D.111 -\01418 ./arch/wall/dirtroad/dirtroad_E.111 -\01419 ./arch/wall/dirtroad/dirtroad_F.111 -\01420 ./arch/monster/giant/djinn/djinn.x31 -\01421 ./arch/monster/giant/djinn/djinn.x32 -\01422 ./arch/monster/giant/djinn/djinn.x71 -\01423 ./arch/monster/giant/djinn/djinn.x72 -\01424 ./arch/monster/giant/djinn/djinn_magenta.x11 -\01425 ./arch/monster/giant/djinn/djinn_magenta.x12 -\01426 ./arch/monster/giant/djinn/djinn_magenta.x21 -\01427 ./arch/monster/giant/djinn/djinn_magenta.x22 -\01428 ./arch/monster/giant/djinn/djinn_magenta_big.x11 -\01429 ./arch/monster/giant/djinn/djinn_magenta_big.x12 -\01430 ./arch/monster/giant/djinn/djinn_magenta_big.x21 -\01431 ./arch/monster/giant/djinn/djinn_magenta_big.x22 -\01432 ./arch/wall/slevel/dlevel_0.111 -\01433 ./arch/wall/slevel/dlevel_1.111 -\01434 ./arch/wall/slevel/dlevel_2.111 -\01435 ./arch/wall/slevel/dlevel_3.111 -\01436 ./arch/wall/slevel/dlevel_4.111 -\01437 ./arch/wall/slevel/dlevel_5.111 -\01438 ./arch/wall/slevel/dlevel_6.111 -\01439 ./arch/wall/slevel/dlevel_7.111 -\01440 ./arch/wall/slevel/dlevel_7sw.111 -\01441 ./arch/wall/slevel/dlevel_8.111 -\01442 ./arch/wall/slevel/dlevel_9.111 -\01443 ./arch/wall/slevel/dlevel_A.111 -\01444 ./arch/wall/slevel/dlevel_B.111 -\01445 ./arch/wall/slevel/dlevel_Bse.111 -\01446 ./arch/wall/slevel/dlevel_Bsw.111 -\01447 ./arch/wall/slevel/dlevel_C.111 -\01448 ./arch/wall/slevel/dlevel_D.111 -\01449 ./arch/wall/slevel/dlevel_Dse.111 -\01450 ./arch/wall/slevel/dlevel_E.111 -\01451 ./arch/wall/slevel/dlevel_se.111 -\01452 ./arch/wall/slevel/dlevel_seB.111 -\01453 ./arch/wall/slevel/dlevel_seD.111 -\01454 ./arch/wall/slevel/dlevel_sese.111 -\01455 ./arch/wall/slevel/dlevel_sw.111 -\01456 ./arch/wall/slevel/dlevel_sw7.111 -\01457 ./arch/wall/slevel/dlevel_swB.111 -\01458 ./arch/wall/slevel/dlevel_swsw.111 -\01459 ./arch/monster/animal/Dog/dog.131 -\01460 ./arch/monster/animal/Dog/dog.132 -\01461 ./arch/monster/animal/Dog/dog.133 -\01462 ./arch/monster/animal/Dog/dog.171 -\01463 ./arch/monster/animal/Dog/dog.172 -\01464 ./arch/monster/animal/Dog/dog.173 -\01465 ./arch/misc/doll.111 -\01466 ./arch/door/Door/door_0.111 -\01467 ./arch/door/Door/door_1.111 -\01468 ./arch/door/Door/door_2.111 -\01469 ./arch/door/Door/door_3.111 -\01470 ./arch/door/Door/door_4.111 -\01471 ./arch/door/Door/door_5.111 -\01472 ./arch/door/Door/door_6.111 -\01473 ./arch/door/Door/door_7.111 -\01474 ./arch/door/Door/door_8.111 -\01475 ./arch/door/Door/door_9.111 -\01476 ./arch/door/Door/door_A.111 -\01477 ./arch/door/Door/door_B.111 -\01478 ./arch/door/Door/door_C.111 -\01479 ./arch/door/Door/door_D.111 -\01480 ./arch/door/Door/door_E.111 -\01481 ./arch/door/Door/door_F.111 -\01482 ./arch/food/drag_steak.111 -\01483 ./arch/monster/dragon/Dragon/dragon.x31 -\01484 ./arch/monster/dragon/Dragon/dragon.x32 -\01485 ./arch/monster/dragon/Dragon/dragon.x33 -\01486 ./arch/monster/dragon/Dragon/dragon.x34 -\01487 ./arch/monster/dragon/Dragon/dragon.x71 -\01488 ./arch/monster/dragon/Dragon/dragon.x72 -\01489 ./arch/monster/dragon/Dragon/dragon.x73 -\01490 ./arch/monster/dragon/Dragon/dragon.x74 -\01491 ./arch/monster/dragon/Dragon/dragon_ac.x31 -\01492 ./arch/monster/dragon/Dragon/dragon_ac.x32 -\01493 ./arch/monster/dragon/Dragon/dragon_ac.x33 -\01494 ./arch/monster/dragon/Dragon/dragon_ac.x34 -\01495 ./arch/monster/dragon/Dragon/dragon_ac.x71 -\01496 ./arch/monster/dragon/Dragon/dragon_ac.x72 -\01497 ./arch/monster/dragon/Dragon/dragon_ac.x73 -\01498 ./arch/monster/dragon/Dragon/dragon_ac.x74 -\01499 ./arch/flesh/dragon/dragon_blue_scale.111 -\01500 ./arch/flesh/dragon/dragon_claw.111 -\01501 ./arch/flesh/dragon/dragon_eye.111 -\01502 ./arch/flesh/dragon/dragon_green_scale.111 -\01503 ./arch/flesh/dragon/dragon_orange_scale.111 -\01504 ./arch/flesh/dragon/dragon_sca.111 -\01505 ./arch/armour/shield/dragon_shi.111 -\01506 ./arch/monster/dragon/Dragon/dragon_spellcasting.x31 -\01507 ./arch/monster/dragon/Dragon/dragon_spellcasting.x32 -\01508 ./arch/monster/dragon/Dragon/dragon_spellcasting.x33 -\01509 ./arch/monster/dragon/Dragon/dragon_spellcasting.x71 -\01510 ./arch/monster/dragon/Dragon/dragon_spellcasting.x72 -\01511 ./arch/monster/dragon/Dragon/dragon_spellcasting.x73 -\01512 ./arch/player/stoned/dragon_stoned.111 -\01513 ./arch/flesh/dragon/dragon_wing.111 -\01514 ./arch/monster/dragon/dragoncave.111 -\01515 ./arch/armour/mail/dragonmail.111 -\01516 ./arch/monster/dragon/Dragonman/dragonman.x31 -\01517 ./arch/monster/dragon/Dragonman/dragonman.x32 -\01518 ./arch/monster/dragon/Dragonman/dragonman.x33 -\01519 ./arch/monster/dragon/Dragonman/dragonman.x71 -\01520 ./arch/monster/dragon/Dragonman/dragonman.x72 -\01521 ./arch/monster/dragon/Dragonman/dragonman.x73 -\01522 ./arch/weapon/artifact/dragonslay.111 -\01523 ./arch/spell/Rune/drain_magic.111 -\01524 ./arch/monster/dragon/drake/drake.111 -\01525 ./arch/monster/dragon/drake/drake.112 -\01526 ./arch/monster/dragon/drake/drake.113 -\01527 ./arch/monster/dragon/drake/drake.211 -\01528 ./arch/monster/dragon/drake/drake.212 -\01529 ./arch/monster/dragon/drake/drake.213 -\01530 ./arch/monster/beholder/dread.x11 -\01531 ./arch/monster/beholder/dread.x12 -\01532 ./arch/monster/beholder/dread.x13 -\01533 ./arch/monster/beholder/dread.x14 -\01534 ./arch/monster/beholder/dread.x15 -\01535 ./arch/monster/beholder/dread.x16 -\01536 ./arch/armour/mail/dress1.111 -\01537 ./arch/armour/mail/dress2.111 -\01538 ./arch/armour/mail/dress3.111 -\01539 ./arch/misc/Container/dresser.111 -\01540 ./arch/misc/Container/dresser2.111 -\01541 ./arch/misc/Container/dresser2_cw.111 -\01542 ./arch/misc/Container/dresser_cw.111 -\01543 ./arch/ground/Winter/drifts.111 -\01544 ./arch/ground/Winter/drifts2.111 -\01545 ./arch/wall/dun/dun_0.111 -\01546 ./arch/wall/dun/dun_1.111 -\01547 ./arch/wall/dun/dun_10.111 -\01548 ./arch/wall/dun/dun_11.111 -\01549 ./arch/wall/dun/dun_12.111 -\01550 ./arch/wall/dun/dun_13.111 -\01551 ./arch/wall/dun/dun_14.111 -\01552 ./arch/wall/dun/dun_15.111 -\01553 ./arch/wall/dun/dun_16.111 -\01554 ./arch/wall/dun/dun_17.111 -\01555 ./arch/wall/dun/dun_18.111 -\01556 ./arch/wall/dun/dun_19.111 -\01557 ./arch/wall/dun/dun_2.111 -\01558 ./arch/wall/dun/dun_20.111 -\01559 ./arch/wall/dun/dun_21.111 -\01560 ./arch/wall/dun/dun_22.111 -\01561 ./arch/wall/dun/dun_23.111 -\01562 ./arch/wall/dun/dun_24.111 -\01563 ./arch/wall/dun/dun_25.111 -\01564 ./arch/wall/dun/dun_3.111 -\01565 ./arch/wall/dun/dun_4.111 -\01566 ./arch/wall/dun/dun_5.111 -\01567 ./arch/wall/dun/dun_6.111 -\01568 ./arch/wall/dun/dun_7.111 -\01569 ./arch/wall/dun/dun_8.111 -\01570 ./arch/wall/dun/dun_9.111 -\01571 ./arch/wall/dun/dun_A.111 -\01572 ./arch/wall/dun/dun_B.111 -\01573 ./arch/wall/dun/dun_C.111 -\01574 ./arch/wall/dun/dun_D.111 -\01575 ./arch/wall/dun/dun_E.111 -\01576 ./arch/wall/dun/dun_F.111 -\01577 ./arch/ground/new/dunes.111 -\01578 ./arch/ground/smooth/dunes_S.111 -\01579 ./arch/floor/dung_floor.111 -\01580 ./arch/system/duplicator.111 -\01581 ./arch/inorganic/dust_effect.111 -\01582 ./arch/inorganic/dust_effect.112 -\01583 ./arch/inorganic/dust_effect.113 -\01584 ./arch/spell/Potion/dust_gen.111 -\01585 ./arch/wall/dwall/dwall_0.111 -\01586 ./arch/wall/dwall/dwall_1.111 -\01587 ./arch/wall/dwall/dwall_1_short.111 -\01588 ./arch/wall/dwall/dwall_2.111 -\01589 ./arch/wall/dwall/dwall_2_short.111 -\01590 ./arch/wall/dwall/dwall_3.111 -\01591 ./arch/wall/dwall/dwall_4.111 -\01592 ./arch/wall/dwall/dwall_4_short.111 -\01593 ./arch/wall/dwall/dwall_5.111 -\01594 ./arch/wall/dwall/dwall_55.111 -\01595 ./arch/wall/dwall/dwall_6.111 -\01596 ./arch/wall/dwall/dwall_7.111 -\01597 ./arch/wall/dwall/dwall_8.111 -\01598 ./arch/wall/dwall/dwall_8_short.111 -\01599 ./arch/wall/dwall/dwall_9.111 -\01600 ./arch/wall/dwall/dwall_A.111 -\01601 ./arch/wall/dwall/dwall_AA.111 -\01602 ./arch/wall/dwall/dwall_B.111 -\01603 ./arch/wall/dwall/dwall_C.111 -\01604 ./arch/wall/dwall/dwall_D.111 -\01605 ./arch/wall/dwall/dwall_E.111 -\01606 ./arch/wall/dwall/dwall_F.111 -\01607 ./arch/monster/humanoid/Dwarf/dwarf.111 -\01608 ./arch/monster/humanoid/Dwarf/dwarf.112 -\01609 ./arch/player/race/dwarf_p.111 -\01610 ./arch/player/race/dwarf_p.112 -\01611 ./arch/player/race/dwarf_p.131 -\01612 ./arch/player/race/dwarf_p.132 -\01613 ./arch/player/race/dwarf_p.151 -\01614 ./arch/player/race/dwarf_p.152 -\01615 ./arch/player/race/dwarf_p.171 -\01616 ./arch/player/race/dwarf_p.172 -\01617 ./arch/monster/humanoid/Dwarf/dwarf_pr.111 -\01618 ./arch/monster/humanoid/Dwarf/dwarf_pr.112 -\01619 ./arch/monster/humanoid/Dwarf/dwarf_pr.113 -\01620 ./arch/player/stoned/dwarf_stoned.111 -\01621 ./arch/monster/humanoid/Dwarf/dwarf_wiz.111 -\01622 ./arch/monster/humanoid/Dwarf/dwarf_wiz.112 -\01623 ./arch/monster/humanoid/Dwarf/dwarf_wiz.113 -\01624 ./arch/wall/dwall/dwindow_0.111 -\01625 ./arch/wall/dwall/dwindow_1.111 -\01626 ./arch/wall/dwall/dwindow_2.111 -\01627 ./arch/wall/dwall/dwindow_3.111 -\01628 ./arch/monster/animal/Wolf/dwolf.131 -\01629 ./arch/monster/animal/Wolf/dwolf.132 -\01630 ./arch/monster/animal/Wolf/dwolf.171 -\01631 ./arch/monster/animal/Wolf/dwolf.172 -\01632 ./arch/ground/new/earth.111 -\01633 ./arch/gods/items/earth_shield/earth_shield.111 -\01634 ./arch/gods/items/earth_shield/earth_shield.112 -\01635 ./arch/gods/items/earth_shield/earth_shield.113 -\01636 ./arch/gods/items/earth_shield/earth_shield.114 -\01637 ./arch/wall/bwall/earthwall.111 -\01638 ./arch/wall/bwall/earthwall.112 -\01639 ./arch/wall/bwall/earthwall.113 -\01640 ./arch/flesh/misc/ectoplasm.111 -\01641 ./arch/monster/dragon/Electric/elec_dr.x11 -\01642 ./arch/monster/dragon/Electric/elec_dr.x12 -\01643 ./arch/monster/dragon/Electric/elec_dr_spellcasting.x11 -\01644 ./arch/monster/dragon/Electric/elec_dr_spellcasting.x12 -\01645 ./arch/monster/dragon/Electric/elec_dr_spellcasting.x13 -\01646 ./arch/monster/dragon/Hatchlings/elec_drag.131 -\01647 ./arch/monster/dragon/Hatchlings/elec_drag.132 -\01648 ./arch/monster/dragon/Hatchlings/elec_drag.171 -\01649 ./arch/monster/dragon/Hatchlings/elec_drag.172 -\01650 ./arch/monster/elemental/elem_air.111 -\01651 ./arch/monster/elemental/elem_air.112 -\01652 ./arch/monster/elemental/elem_dust.111 -\01653 ./arch/monster/elemental/elem_dust.112 -\01654 ./arch/monster/elemental/elem_earth.111 -\01655 ./arch/monster/elemental/elem_earth.112 -\01656 ./arch/monster/elemental/elem_fire.111 -\01657 ./arch/monster/elemental/elem_fire.112 -\01658 ./arch/monster/elemental/elem_fire_black.111 -\01659 ./arch/monster/elemental/elem_fire_black.112 -\01660 ./arch/monster/elemental/elem_water.111 -\01661 ./arch/monster/elemental/elem_water.112 -\01662 ./arch/player/race/elf.111 -\01663 ./arch/player/race/elf.112 -\01664 ./arch/player/race/elf.131 -\01665 ./arch/player/race/elf.132 -\01666 ./arch/player/race/elf.151 -\01667 ./arch/player/race/elf.152 -\01668 ./arch/player/race/elf.171 -\01669 ./arch/player/race/elf.172 -\01670 ./arch/monster/humanoid/Elf/elf_1.111 -\01671 ./arch/monster/humanoid/Elf/elf_1.112 -\01672 ./arch/monster/humanoid/Elf/elf_1.113 -\01673 ./arch/monster/humanoid/Elf/elf_guard.111 -\01674 ./arch/monster/humanoid/Elf/elf_guard.112 -\01675 ./arch/monster/humanoid/Elf/elf_guard.113 -\01676 ./arch/monster/humanoid/Elf/elf_lad.111 -\01677 ./arch/monster/humanoid/Elf/elf_lad.112 -\01678 ./arch/monster/humanoid/Elf/elf_lass.111 -\01679 ./arch/monster/humanoid/Elf/elf_lass.112 -\01680 ./arch/player/stoned/elf_stoned.111 -\01681 ./arch/weapon/bow/elven_bow.111 -\01682 ./arch/armour/mail/elven_robe.111 -\01683 ./arch/armour/boots/elvenboots.111 -\01684 ./arch/jewel/emerald.111 -\01685 ./arch/jewel/emerald.112 -\01686 ./arch/system/empty.111 -\01687 ./arch/ground/smooth/empty_S.111 -\01688 ./arch/spell/Misc/enchantment.111 -\01689 ./arch/spell/Misc/enchantment.112 -\01690 ./arch/spell/Misc/enchantment.113 -\01691 ./arch/spell/Misc/enchantment.114 -\01692 ./arch/spell/Misc/enchantment.115 -\01693 ./arch/monster/misc/Ent/ent.x11 -\01694 ./arch/monster/misc/Ent/ent.x12 -\01695 ./arch/monster/misc/Ent/ent.x13 -\01696 ./arch/system/event_apply.111 -\01697 ./arch/system/event_death.111 -\01698 ./arch/system/event_drop.111 -\01699 ./arch/system/event_pickup.111 -\01700 ./arch/system/event_say.111 -\01701 ./arch/ground/Wood/evergreens.111 -\01702 ./arch/ground/Wood/evergreens_2.111 -\01703 ./arch/ground/smooth/evergreens_S.111 -\01704 ./arch/ground/Winter/evil_ice.111 -\01705 ./arch/ground/Winter/evil_ice.112 -\01706 ./arch/ground/Winter/evil_ice.113 -\01707 ./arch/ground/Winter/evil_ice.114 -\01708 ./arch/monster/demon/evil_master.111 -\01709 ./arch/monster/demon/evil_master.112 -\01710 ./arch/monster/demon/evil_master2.111 -\01711 ./arch/monster/demon/evil_master2.112 -\01712 ./arch/monster/demon/evil_master3.111 -\01713 ./arch/monster/demon/evil_master3.112 -\01714 ./arch/monster/demon/evil_master4.111 -\01715 ./arch/monster/demon/evil_master4.112 -\01716 ./arch/monster/humanoid/Human/evilclown.111 -\01717 ./arch/player/class/Wizardry/evoker.111 -\01718 ./arch/player/class/Wizardry/evoker.112 -\01719 ./arch/player/class/Wizardry/evoker.131 -\01720 ./arch/player/class/Wizardry/evoker.132 -\01721 ./arch/player/class/Wizardry/evoker.151 -\01722 ./arch/player/class/Wizardry/evoker.152 -\01723 ./arch/player/class/Wizardry/evoker.171 -\01724 ./arch/player/class/Wizardry/evoker.172 -\01725 ./arch/spell/SpellBook/evoker_book.111 -\01726 ./arch/wall/ewall/ewall_0.111 -\01727 ./arch/wall/ewall/ewall_1.111 -\01728 ./arch/wall/ewall/ewall_2.111 -\01729 ./arch/wall/ewall/ewall_3.111 -\01730 ./arch/wall/ewall/ewall_4.111 -\01731 ./arch/wall/ewall/ewall_5.111 -\01732 ./arch/wall/ewall/ewall_6.111 -\01733 ./arch/wall/ewall/ewall_7.111 -\01734 ./arch/wall/ewall/ewall_8.111 -\01735 ./arch/wall/ewall/ewall_9.111 -\01736 ./arch/wall/ewall/ewall_A.111 -\01737 ./arch/wall/ewall/ewall_B.111 -\01738 ./arch/wall/ewall/ewall_C.111 -\01739 ./arch/wall/ewall/ewall_D.111 -\01740 ./arch/wall/ewall/ewall_E.111 -\01741 ./arch/wall/ewall/ewall_F.111 -\01742 ./arch/wall/ewall/ewall_redpost.111 -\01743 ./arch/wall/ewall/ewindow_0.111 -\01744 ./arch/wall/ewall/ewindow_1.111 -\01745 ./arch/weapon/artifact/excalibur.111 -\01746 ./arch/exit/exit.111 -\01747 ./arch/exit/exit.112 -\01748 ./arch/exit/exit.113 -\01749 ./arch/exit/exit.114 -\01750 ./arch/exit/exit.115 -\01751 ./arch/exit/exit.116 -\01752 ./arch/exit/exit.117 -\01753 ./arch/exit/exit.118 -\01754 ./arch/spell/Bomb/explosion.111 -\01755 ./arch/spell/Bomb/explosion.112 -\01756 ./arch/spell/Bomb/explosion.113 -\01757 ./arch/spell/Bullet/Shell/explosion2.111 -\01758 ./arch/spell/Bullet/Shell/explosion2.112 -\01759 ./arch/spell/Bullet/Shell/explosion2.113 -\01760 ./arch/flesh/generic/eye.111 -\01761 ./arch/armour/helmet/eyeglasses.111 -\01762 ./arch/flesh/generic/eyes.111 -\01763 ./arch/armour/shield/eyeshield.111 -\01764 ./arch/spell/Cone/face_of_death.111 -\01765 ./arch/monster/dragon/fae_drag.131 -\01766 ./arch/monster/dragon/fae_drag.132 -\01767 ./arch/monster/dragon/fae_drag.171 -\01768 ./arch/monster/dragon/fae_drag.172 -\01769 ./arch/weapon/sword/falchion.111 -\01770 ./arch/traps/falling_rocks.111 -\01771 ./arch/ground/falls.111 -\01772 ./arch/ground/falls2.111 -\01773 ./arch/ground/falls3.111 -\01774 ./arch/ground/falls4.111 -\01775 ./arch/monster/humanoid/Human/farmer.111 -\01776 ./arch/monster/humanoid/Human/farmer.112 -\01777 ./arch/construct/house/farmhouse.x11 -\01778 ./arch/ground/farmland.111 -\01779 ./arch/monster/humanoid/Human/fatman.111 -\01780 ./arch/monster/humanoid/Human/fatwoman.111 -\01781 ./arch/floor/fcross-blue.111 -\01782 ./arch/floor/fcross-white.111 -\01783 ./arch/spell/Cone/fear.111 -\01784 ./arch/spell/Cone/fear.112 -\01785 ./arch/spell/Cone/fear.113 -\01786 ./arch/player/race/fenx.110 -\01787 ./arch/player/race/fenx.111 -\01788 ./arch/player/race/fenx.112 -\01789 ./arch/player/race/fenx.130 -\01790 ./arch/player/race/fenx.131 -\01791 ./arch/player/race/fenx.132 -\01792 ./arch/player/race/fenx.150 -\01793 ./arch/player/race/fenx.151 -\01794 ./arch/player/race/fenx.152 -\01795 ./arch/player/race/fenx.170 -\01796 ./arch/player/race/fenx.171 -\01797 ./arch/player/race/fenx.172 -\01798 ./arch/player/race/fenx_class_warrior.110 -\01799 ./arch/player/race/fenx_class_warrior.111 -\01800 ./arch/player/race/fenx_class_warrior.112 -\01801 ./arch/player/race/fenx_class_warrior.130 -\01802 ./arch/player/race/fenx_class_warrior.131 -\01803 ./arch/player/race/fenx_class_warrior.132 -\01804 ./arch/player/race/fenx_class_warrior.150 -\01805 ./arch/player/race/fenx_class_warrior.151 -\01806 ./arch/player/race/fenx_class_warrior.152 -\01807 ./arch/player/race/fenx_class_warrior.170 -\01808 ./arch/player/race/fenx_class_warrior.171 -\01809 ./arch/player/race/fenx_class_warrior.172 -\01810 ./arch/player/race/fenx_singing.110 -\01811 ./arch/player/race/fenx_singing.111 -\01812 ./arch/player/race/fenx_singing.112 -\01813 ./arch/player/race/fenx_singing.130 -\01814 ./arch/player/race/fenx_singing.131 -\01815 ./arch/player/race/fenx_singing.132 -\01816 ./arch/player/race/fenx_singing.150 -\01817 ./arch/player/race/fenx_singing.151 -\01818 ./arch/player/race/fenx_singing.152 -\01819 ./arch/player/race/fenx_singing.170 -\01820 ./arch/player/race/fenx_singing.171 -\01821 ./arch/player/race/fenx_singing.172 -\01822 ./arch/player/race/fenx_spellcasting.151 -\01823 ./arch/player/race/fenx_spellcasting.152 -\01824 ./arch/player/race/fenx_sword.131 -\01825 ./arch/player/race/fenx_sword.132 -\01826 ./arch/player/race/fenx_sword.151 -\01827 ./arch/player/race/fenx_sword.152 -\01828 ./arch/player/race/fenx_sword.171 -\01829 ./arch/player/race/fenx_sword.172 -\01830 ./arch/ground/new/fernsdense.111 -\01831 ./arch/ground/new/fernssparse.111 -\01832 ./arch/monster/demon/fiend.111 -\01833 ./arch/monster/demon/fiend.112 -\01834 ./arch/monster/humanoid/Class/fighter.111 -\01835 ./arch/monster/humanoid/Class/fighter.112 -\01836 ./arch/monster/humanoid/Class/fighter.113 -\01837 ./arch/spell/Potion/figurine_gen.111 -\01838 ./arch/flesh/human/finger.111 -\01839 ./arch/monster/dragon/Hatchlings/fire_drag.131 -\01840 ./arch/monster/dragon/Hatchlings/fire_drag.132 -\01841 ./arch/monster/dragon/Hatchlings/fire_drag.171 -\01842 ./arch/monster/dragon/Hatchlings/fire_drag.172 -\01843 ./arch/monster/troll/Troll/fire_troll.x11 -\01844 ./arch/monster/troll/Troll/fire_troll.x12 -\01845 ./arch/monster/troll/Troll/fire_troll.x13 -\01846 ./arch/spell/Bullet/Fire/fireball.111 -\01847 ./arch/spell/Bullet/Fire/fireball.112 -\01848 ./arch/spell/Bullet/Fire/fireball.113 -\01849 ./arch/spell/Bullet/Fire/fireball_S.111 -\01850 ./arch/spell/Bullet/Fire/fireball_S.112 -\01851 ./arch/spell/Bullet/Fire/fireball_S.113 -\01852 ./arch/spell/Bolt/firebolt.111 -\01853 ./arch/spell/Bolt/firebolt.121 -\01854 ./arch/spell/Bolt/firebolt.131 -\01855 ./arch/spell/Bolt/firebolt.141 -\01856 ./arch/spell/Bolt/firebolt.151 -\01857 ./arch/spell/Bolt/firebolt.161 -\01858 ./arch/spell/Bolt/firebolt.171 -\01859 ./arch/spell/Bolt/firebolt.181 -\01860 ./arch/player/race/fireborn.111 -\01861 ./arch/player/race/fireborn.222 -\01862 ./arch/player/race/fireborn.333 -\01863 ./arch/player/race/fireborn.444 -\01864 ./arch/weapon/artifact/firebrand.111 -\01865 ./arch/weapon/artifact/firebrand.112 -\01866 ./arch/weapon/artifact/firebrand.113 -\01867 ./arch/spell/Bullet/Fire/firebullet.111 -\01868 ./arch/spell/Bullet/Fire/firebullet.121 -\01869 ./arch/spell/Bullet/Fire/firebullet.131 -\01870 ./arch/spell/Bullet/Fire/firebullet.141 -\01871 ./arch/spell/Bullet/Fire/firebullet.151 -\01872 ./arch/spell/Bullet/Fire/firebullet.161 -\01873 ./arch/spell/Bullet/Fire/firebullet.171 -\01874 ./arch/spell/Bullet/Fire/firebullet.181 -\01875 ./arch/monster/misc/firechest.111 -\01876 ./arch/floor/fireholes.111 -\01877 ./arch/misc/fireplace.111 -\01878 ./arch/misc/fireplace.112 -\01879 ./arch/misc/fireplace.113 -\01880 ./arch/misc/firepot.111 -\01881 ./arch/misc/firepot.112 -\01882 ./arch/misc/firepot.113 -\01883 ./arch/misc/firepot.114 -\01884 ./arch/weapon/artifact/Firestar/firestar.111 -\01885 ./arch/weapon/artifact/Firestar/firestar.112 -\01886 ./arch/weapon/artifact/Firestar/firestar.113 -\01887 ./arch/wall/firewall/firewall_1.111 -\01888 ./arch/wall/firewall/firewall_2.111 -\01889 ./arch/wall/firewall/firewall_3.111 -\01890 ./arch/wall/firewall/firewall_4.111 -\01891 ./arch/wall/firewall/firewall_5.111 -\01892 ./arch/wall/firewall/firewall_6.111 -\01893 ./arch/wall/firewall/firewall_7.111 -\01894 ./arch/wall/firewall/firewall_8.111 -\01895 ./arch/food/fish_1.111 -\01896 ./arch/food/fish_2.111 -\01897 ./arch/food/fish_3.111 -\01898 ./arch/food/fish_4.111 -\01899 ./arch/food/fish_5.111 -\01900 ./arch/food/fish_6.111 -\01901 ./arch/transport/fishboat.x11 -\01902 ./arch/food/fishfood.111 -\01903 ./arch/skills/Skill_Tools/fishing_pole.111 -\01904 ./arch/inorganic/fix_mercury.111 -\01905 ./arch/inorganic/fix_mercury.112 -\01906 ./arch/floor/flagstone.111 -\01907 ./arch/wall/flagstone/flagstone_0.111 -\01908 ./arch/wall/flagstone/flagstone_1.111 -\01909 ./arch/wall/flagstone/flagstone_2.111 -\01910 ./arch/wall/flagstone/flagstone_3.111 -\01911 ./arch/wall/flagstone/flagstone_4.111 -\01912 ./arch/wall/flagstone/flagstone_5.111 -\01913 ./arch/wall/flagstone/flagstone_6.111 -\01914 ./arch/wall/flagstone/flagstone_7.111 -\01915 ./arch/wall/flagstone/flagstone_8.111 -\01916 ./arch/wall/flagstone/flagstone_9.111 -\01917 ./arch/wall/flagstone/flagstone_A.111 -\01918 ./arch/wall/flagstone/flagstone_B.111 -\01919 ./arch/wall/flagstone/flagstone_C.111 -\01920 ./arch/wall/flagstone/flagstone_D.111 -\01921 ./arch/wall/flagstone/flagstone_E.111 -\01922 ./arch/wall/flagstone/flagstone_F.111 -\01923 ./arch/floor/smooth/flagstone_S.111 -\01924 ./arch/wall/flagstone/flagstone_win1.111 -\01925 ./arch/planes/fire/flamingtower.x11 -\01926 ./arch/planes/fire/flamingtower.x12 -\01927 ./arch/planes/fire/flamingtower.x13 -\01928 ./arch/planes/fire/flamingtower.x14 -\01929 ./arch/light/flint_and_steel.111 -\01930 ./arch/spell/Cone/flowers.111 -\01931 ./arch/monster/insect/ant/fly_ant.131 -\01932 ./arch/monster/insect/ant/fly_ant.132 -\01933 ./arch/monster/insect/ant/fly_ant.171 -\01934 ./arch/monster/insect/ant/fly_ant.172 -\01935 ./arch/ground/fog.111 -\01936 ./arch/ground/fog.112 -\01937 ./arch/ground/fog_2.111 -\01938 ./arch/food/food.111 -\01939 ./arch/flesh/human/foot.111 -\01940 ./arch/construct/bridge/footbridge/footbridge_0.111 -\01941 ./arch/construct/bridge/footbridge/footbridge_1.111 -\01942 ./arch/construct/bridge/footbridge/footbridge_2.111 -\01943 ./arch/construct/bridge/footbridge/footbridge_3.111 -\01944 ./arch/construct/bridge/footbridge/footbridge_4.111 -\01945 ./arch/construct/bridge/footbridge/footbridge_5.111 -\01946 ./arch/construct/bridge/footbridge/footbridge_6.111 -\01947 ./arch/construct/bridge/footbridge/footbridge_7.111 -\01948 ./arch/construct/bridge/footbridge/footbridge_8.111 -\01949 ./arch/construct/bridge/footbridge/footbridge_9.111 -\01950 ./arch/construct/bridge/footbridge/footbridge_A.111 -\01951 ./arch/construct/bridge/footbridge/footbridge_B.111 -\01952 ./arch/construct/bridge/footbridge/footbridge_C.111 -\01953 ./arch/construct/bridge/footbridge/footbridge_D.111 -\01954 ./arch/construct/bridge/footbridge/footbridge_E.111 -\01955 ./arch/construct/bridge/footbridge/footbridge_F.111 -\01956 ./arch/wall/footpath/footpath_0.111 -\01957 ./arch/wall/footpath/footpath_1.111 -\01958 ./arch/wall/footpath/footpath_2.111 -\01959 ./arch/wall/footpath/footpath_3.111 -\01960 ./arch/wall/footpath/footpath_4.111 -\01961 ./arch/wall/footpath/footpath_5.111 -\01962 ./arch/wall/footpath/footpath_6.111 -\01963 ./arch/wall/footpath/footpath_7.111 -\01964 ./arch/wall/footpath/footpath_8.111 -\01965 ./arch/wall/footpath/footpath_9.111 -\01966 ./arch/wall/footpath/footpath_A.111 -\01967 ./arch/wall/footpath/footpath_B.111 -\01968 ./arch/wall/footpath/footpath_C.111 -\01969 ./arch/wall/footpath/footpath_D.111 -\01970 ./arch/wall/footpath/footpath_E.111 -\01971 ./arch/wall/footpath/footpath_F.111 -\01972 ./arch/river/ford_ns.111 -\01973 ./arch/river/ford_we.111 -\01974 ./arch/ground/new/forestsparse.111 -\01975 ./arch/misc/Container/forge.111 -\01976 ./arch/misc/Container/forge.112 -\01977 ./arch/misc/Container/forge.113 -\01978 ./arch/construct/fort/fort.x11 -\01979 ./arch/construct/fort/fort_sym.111 -\01980 ./arch/construct/fountain/fountain.111 -\01981 ./arch/construct/fountain/fountain.112 -\01982 ./arch/construct/fountain/fountain.113 -\01983 ./arch/food/fried_egg.111 -\01984 ./arch/weapon/artifact/Fhammer/frost_hammer.111 -\01985 ./arch/weapon/artifact/Fhammer/frost_hammer.112 -\01986 ./arch/weapon/artifact/Fhammer/frost_hammer.113 -\01987 ./arch/weapon/artifact/Fhammer/frost_hammer.114 -\01988 ./arch/spell/Bolt/frostbolt.111 -\01989 ./arch/spell/Bolt/frostbolt.121 -\01990 ./arch/spell/Bolt/frostbolt.131 -\01991 ./arch/spell/Bolt/frostbolt.141 -\01992 ./arch/spell/Bolt/frostbolt.151 -\01993 ./arch/spell/Bolt/frostbolt.161 -\01994 ./arch/spell/Bolt/frostbolt.171 -\01995 ./arch/spell/Bolt/frostbolt.181 -\01996 ./arch/weapon/artifact/frostbrand.111 -\01997 ./arch/armour/shield/frostshield.111 -\01998 ./arch/misc/Container/frypan_closed.111 -\01999 ./arch/misc/Container/frypan_opened.111 -\02000 ./arch/armour/helmet/fullhelmet.111 -\02001 ./arch/monster/animal/fungus.111 -\02002 ./arch/monster/animal/fungus.112 -\02003 ./arch/monster/animal/fungus.113 -\02004 ./arch/monster/animal/fungus.114 -\02005 ./arch/monster/animal/fungus.115 -\02006 ./arch/system/mood_floors/furious_floor.111 -\02007 ./arch/monster/animal/giant_worm/g_worm.x31 -\02008 ./arch/monster/animal/giant_worm/g_worm.x32 -\02009 ./arch/monster/animal/giant_worm/g_worm.x71 -\02010 ./arch/monster/animal/giant_worm/g_worm.x72 -\02011 ./arch/monster/troll/Gaelotroll/gaelotroll.x31 -\02012 ./arch/monster/troll/Gaelotroll/gaelotroll.x32 -\02013 ./arch/monster/troll/Gaelotroll/gaelotroll.x33 -\02014 ./arch/monster/troll/Gaelotroll/gaelotroll.x71 -\02015 ./arch/monster/troll/Gaelotroll/gaelotroll.x72 -\02016 ./arch/monster/troll/Gaelotroll/gaelotroll.x73 -\02017 ./arch/armour/mail/gale.111 -\02018 ./arch/transport/galleon.111 -\02019 ./arch/connect/Garden_gate/gard_gate.111 -\02020 ./arch/connect/Garden_gate/gard_gate.112 -\02021 ./arch/connect/Garden_gate/gard_gate.113 -\02022 ./arch/connect/Garden_gate/gard_gate.114 -\02023 ./arch/monster/humanoid/Gnome/gardengnome.111 -\02024 ./arch/monster/humanoid/Gnome/gardengnome.112 -\02025 ./arch/monster/misc/gargoyle.111 -\02026 ./arch/monster/misc/gargoyle.112 -\02027 ./arch/connect/Gates/gate_1.111 -\02028 ./arch/connect/Gates/gate_1.112 -\02029 ./arch/connect/Gates/gate_1.113 -\02030 ./arch/connect/Gates/gate_1.114 -\02031 ./arch/connect/Gates/gate_1.115 -\02032 ./arch/connect/Gates/gate_1.116 -\02033 ./arch/connect/Gates/gate_1.117 -\02034 ./arch/connect/Gates/gate_2.111 -\02035 ./arch/connect/Gates/gate_2.112 -\02036 ./arch/connect/Gates/gate_2.113 -\02037 ./arch/connect/Gates/gate_2.114 -\02038 ./arch/connect/Gates/gate_2.115 -\02039 ./arch/armour/gauntlets/gauntlet_s.111 -\02040 ./arch/jewel/gem.111 -\02041 ./arch/jewel/gem.112 -\02042 ./arch/food/gen_mushroom.111 -\02043 ./arch/spell/Rune/generic_rune.111 -\02044 ./arch/monster/undead/ghast.111 -\02045 ./arch/monster/undead/ghast.112 -\02046 ./arch/monster/undead/ghast.113 -\02047 ./arch/monster/undead/ghost.111 -\02048 ./arch/monster/undead/ghost.112 -\02049 ./arch/monster/undead/ghost_gen.111 -\02050 ./arch/monster/giant/giant.x11 -\02051 ./arch/monster/giant/giant.x12 -\02052 ./arch/monster/animal/giant_bat.111 -\02053 ./arch/monster/animal/giant_bat.112 -\02054 ./arch/monster/animal/giant_bat.113 -\02055 ./arch/monster/giant/giant_gen.111 -\02056 ./arch/monster/animal/Giant_rat/giantrat.x31 -\02057 ./arch/monster/animal/Giant_rat/giantrat.x32 -\02058 ./arch/monster/animal/Giant_rat/giantrat.x33 -\02059 ./arch/monster/animal/Giant_rat/giantrat.x71 -\02060 ./arch/monster/animal/Giant_rat/giantrat.x72 -\02061 ./arch/monster/animal/Giant_rat/giantrat.x73 -\02062 ./arch/armour/girdle/gir_strcon.111 -\02063 ./arch/armour/girdle/gir_strcon.112 -\02064 ./arch/armour/girdle/girdle_con.111 -\02065 ./arch/armour/girdle/girdle_con.112 -\02066 ./arch/armour/girdle/girdle_dam.111 -\02067 ./arch/armour/girdle/girdle_dam.112 -\02068 ./arch/armour/girdle/girdle_str.111 -\02069 ./arch/armour/girdle/girdle_str.112 -\02070 ./arch/armour/girdle/girdle_str.113 -\02071 ./arch/armour/girdle/girdle_str.114 -\02072 ./arch/ground/Winter/glacier.111 -\02073 ./arch/armour/gauntlets/gloves.111 -\02074 ./arch/armour/gauntlets/gloves_b.111 -\02075 ./arch/armour/gauntlets/gloves_w.111 -\02076 ./arch/gods/items/glovesofsun/glovesofsun.111 -\02077 ./arch/gods/items/glovesofsun/glovesofsun.112 -\02078 ./arch/gods/items/glovesofsun/glovesofsun.113 -\02079 ./arch/ground/glue.111 -\02080 ./arch/ground/glue.112 -\02081 ./arch/spell/Rune/glyph.111 -\02082 ./arch/monster/goblin/gnoll.111 -\02083 ./arch/monster/goblin/gnoll.112 -\02084 ./arch/monster/goblin/gnoll_chief.111 -\02085 ./arch/monster/goblin/gnoll_gen.111 -\02086 ./arch/monster/goblin/gnoll_leader.111 -\02087 ./arch/monster/humanoid/Gnome/gnome.111 -\02088 ./arch/monster/humanoid/Gnome/gnome.112 -\02089 ./arch/monster/humanoid/Gnome/gnome2.111 -\02090 ./arch/monster/humanoid/Gnome/gnome2.112 -\02091 ./arch/player/race/gnome_p.111 -\02092 ./arch/player/race/gnome_p.112 -\02093 ./arch/player/race/gnome_p.131 -\02094 ./arch/player/race/gnome_p.132 -\02095 ./arch/player/race/gnome_p.151 -\02096 ./arch/player/race/gnome_p.152 -\02097 ./arch/player/race/gnome_p.171 -\02098 ./arch/player/race/gnome_p.172 -\02099 ./arch/player/stoned/gnome_stoned.111 -\02100 ./arch/monster/goblin/goblin.111 -\02101 ./arch/monster/goblin/goblin.112 -\02102 ./arch/monster/goblin/goblin.131 -\02103 ./arch/monster/goblin/goblin.132 -\02104 ./arch/monster/goblin/goblin.151 -\02105 ./arch/monster/goblin/goblin.152 -\02106 ./arch/monster/goblin/goblin.171 -\02107 ./arch/monster/goblin/goblin.172 -\02108 ./arch/monster/goblin/goblin_chief.111 -\02109 ./arch/monster/goblin/goblin_gen.111 -\02110 ./arch/flesh/goblin/goblin_head.111 -\02111 ./arch/monster/goblin/goblin_leader.111 -\02112 ./arch/armour/gauntlets/god_finger.111 -\02113 ./arch/armour/gauntlets/god_finger.112 -\02114 ./arch/gods/randomitems/god_grace_limit.111 -\02115 ./arch/monster/misc/Ngolem/gol.x11 -\02116 ./arch/monster/misc/Ngolem/gol.x12 -\02117 ./arch/jewel/goldbar.111 -\02118 ./arch/jewel/goldblock.111 -\02119 ./arch/jewel/goldcoin.111 -\02120 ./arch/floor/goldflagstone.111 -\02121 ./arch/floor/goldfloor.111 -\02122 ./arch/floor/goldfloor2.111 -\02123 ./arch/ground/goldgrass.111 -\02124 ./arch/jewel/goldround.111 -\02125 ./arch/spell/Golem/golem.111 -\02126 ./arch/spell/Golem/golem.112 -\02127 ./arch/spell/Golem/golem_red.111 -\02128 ./arch/spell/Golem/golem_red.112 -\02129 ./arch/monster/animal/farmyard/goose.131 -\02130 ./arch/monster/animal/farmyard/goose.132 -\02131 ./arch/monster/animal/farmyard/goose.171 -\02132 ./arch/monster/animal/farmyard/goose.172 -\02133 ./arch/misc/gps.111 -\02134 ./arch/weapon/artifact/Gram/gram.111 -\02135 ./arch/weapon/artifact/Gram/gram.112 -\02136 ./arch/weapon/artifact/Gram/gram.113 -\02137 ./arch/weapon/artifact/Gram/gram.114 -\02138 ./arch/misc/grand_piano_black.x11 -\02139 ./arch/misc/grand_piano_white.x11 -\02140 ./arch/inorganic/graphite.111 -\02141 ./arch/ground/grass.111 -\02142 ./arch/ground/smooth/grass_S.111 -\02143 ./arch/ground/new/grass_br_gr.111 -\02144 ./arch/ground/new/grassbrown.111 -\02145 ./arch/ground/new/grassdark.111 -\02146 ./arch/ground/smooth/grassdark_S.111 -\02147 ./arch/ground/new/grassmedium.111 -\02148 ./arch/ground/grasspond.111 -\02149 ./arch/connect/Gates/grate_1.111 -\02150 ./arch/connect/Gates/grate_1.112 -\02151 ./arch/connect/Gates/grate_1.113 -\02152 ./arch/connect/Gates/grate_1.114 -\02153 ./arch/connect/Gates/grate_1.115 -\02154 ./arch/connect/Gates/grate_1.116 -\02155 ./arch/connect/Gates/grate_1.117 -\02156 ./arch/connect/Gates/grate_1.118 -\02157 ./arch/connect/Gates/grate_2.111 -\02158 ./arch/connect/Gates/grate_2.112 -\02159 ./arch/connect/Gates/grate_2.113 -\02160 ./arch/connect/Gates/grate_2.114 -\02161 ./arch/connect/Gates/grate_2.115 -\02162 ./arch/connect/Gates/grate_2.116 -\02163 ./arch/connect/Gates/grate_2.117 -\02164 ./arch/connect/Gates/grate_2.118 -\02165 ./arch/connect/Gates/gratedoor1.111 -\02166 ./arch/connect/Gates/gratedoor2.111 -\02167 ./arch/misc/gravestone.111 -\02168 ./arch/misc/gravestone2.111 -\02169 ./arch/floor/inlayed/gray-white-h-marble.111 -\02170 ./arch/floor/inlayed/gray-white-h-marble.112 -\02171 ./arch/floor/graymarble.111 -\02172 ./arch/monster/humanoid/Dwarf/greater_dwarven_guard.111 -\02173 ./arch/monster/humanoid/Dwarf/greater_dwarven_guard.112 -\02174 ./arch/floor/inlayed/green-beige-c-marble.111 -\02175 ./arch/floor/inlayed/green-beige-c-marble.112 -\02176 ./arch/floor/inlayed/green-beige-c-marble.113 -\02177 ./arch/floor/inlayed/green-beige-c-marble.114 -\02178 ./arch/floor/inlayed/green-white-c-marble.111 -\02179 ./arch/floor/inlayed/green-white-c-marble.112 -\02180 ./arch/floor/inlayed/green-white-c-marble.113 -\02181 ./arch/floor/inlayed/green-white-c-marble.114 -\02182 ./arch/floor/inlayed/green-white-h-marble.111 -\02183 ./arch/floor/inlayed/green-white-h-marble.112 -\02184 ./arch/monster/humanoid/Dragon/green_dragon2.151 -\02185 ./arch/monster/humanoid/Dragon/green_dragon2.152 -\02186 ./arch/monster/humanoid/Dragon/green_dragon2.171 -\02187 ./arch/monster/humanoid/Dragon/green_dragon2.172 -\02188 ./arch/monster/humanoid/Dragon/green_dragon3.151 -\02189 ./arch/monster/humanoid/Dragon/green_dragon3.152 -\02190 ./arch/monster/humanoid/Dragon/green_dragon3.171 -\02191 ./arch/monster/humanoid/Dragon/green_dragon3.172 -\02192 ./arch/armour/mail/greendragonmail.111 -\02193 ./arch/floor/greenmarble.111 -\02194 ./arch/floor/greenmarblelight.111 -\02195 ./arch/floor/greenmarblemedium.111 -\02196 ./arch/monster/acid/greenslime.111 -\02197 ./arch/monster/acid/greenslime.112 -\02198 ./arch/monster/dragon/Hatchlings/grey_drag.131 -\02199 ./arch/monster/dragon/Hatchlings/grey_drag.132 -\02200 ./arch/monster/dragon/Hatchlings/grey_drag.171 -\02201 ./arch/monster/dragon/Hatchlings/grey_drag.172 -\02202 ./arch/monster/undead/grimreaper.111 -\02203 ./arch/monster/undead/grimreaper.112 -\02204 ./arch/monster/undead/grimreaper.113 -\02205 ./arch/monster/undead/grimreaper.114 -\02206 ./arch/monster/animal/gryphon/gryphon.x31 -\02207 ./arch/monster/animal/gryphon/gryphon.x32 -\02208 ./arch/monster/animal/gryphon/gryphon.x33 -\02209 ./arch/monster/animal/gryphon/gryphon.x34 -\02210 ./arch... [truncated message content] |
From: <aki...@us...> - 2010-06-12 08:14:59
|
Revision: 8348 http://gridarta.svn.sourceforge.net/gridarta/?rev=8348&view=rev Author: akirschbaum Date: 2010-06-12 08:14:53 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Fix build script. Modified Paths: -------------- trunk/build.xml Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2010-06-12 08:00:42 UTC (rev 8347) +++ trunk/build.xml 2010-06-12 08:14:53 UTC (rev 8348) @@ -89,7 +89,7 @@ <target name="compile" description="Compiles the Gridarta sources."> <mkdir dir="dest/app"/> - <javac srcdir="src/app:textedit/src/app:utils/src/app:model/src/app:atrinik/src/app:crossfire/src/app:daimonin/src/app" destdir="dest/app" encoding="${build.source.encoding}" source="${build.source.version}" target="${build.target.version}" includeantruntime="false" debug="${debug}"> + <javac srcdir="src/app:textedit/src/app:utils/src/app:model/src/app:atrinik/src/app:crossfire/src/app:daimonin/src/app:preferences/src/app" destdir="dest/app" encoding="${build.source.encoding}" source="${build.source.version}" target="${build.target.version}" includeantruntime="false" debug="${debug}"> <classpath> <fileset dir="lib" includes="annotations.jar"/> <fileset dir="lib" includes="bsh-classgen-2.0b4.jar"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-12 08:00:52
|
Revision: 8347 http://gridarta.svn.sourceforge.net/gridarta/?rev=8347&view=rev Author: akirschbaum Date: 2010-06-12 08:00:42 +0000 (Sat, 12 Jun 2010) Log Message: ----------- Include version and build number in build.number. Modified Paths: -------------- trunk/atrinik/build.xml trunk/crossfire/build.xml trunk/daimonin/build.xml trunk/gridarta.ipr Modified: trunk/atrinik/build.xml =================================================================== --- trunk/atrinik/build.xml 2010-06-10 18:16:49 UTC (rev 8346) +++ trunk/atrinik/build.xml 2010-06-12 08:00:42 UTC (rev 8347) @@ -67,8 +67,10 @@ <tstamp> <format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss z" timezone="UTC"/> </tstamp> - <exec executable="svnversion" outputproperty="build.number" failifexecutionfails="false"/> - <property name="build.number" value="unknown"/> + <exec executable="svnversion" outputproperty="build.svnversion" failifexecutionfails="false"/> + <property name="build.svnversion" value="unknown"/> + <property name="build.version" value="Gridzilla"/> + <property name="build.number" value="${build.version} (revision ${build.svnversion})"/> <echoproperties destfile="build.properties"> <propertyset negate="true"> <propertyref prefix="user.ftp"/> Modified: trunk/crossfire/build.xml =================================================================== --- trunk/crossfire/build.xml 2010-06-10 18:16:49 UTC (rev 8346) +++ trunk/crossfire/build.xml 2010-06-12 08:00:42 UTC (rev 8347) @@ -64,13 +64,17 @@ <tstamp> <format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss z" timezone="UTC"/> </tstamp> - <exec executable="svnversion" outputproperty="build.number" failifexecutionfails="false"/> - <property name="build.number" value="unknown"/> + <exec executable="svnversion" outputproperty="build.svnversion" failifexecutionfails="false"/> + <property name="build.svnversion" value="unknown"/> + <property name="build.version" value="Gridzilla"/> + <property name="build.number" value="${build.version} (revision ${build.svnversion})"/> <echoproperties destfile="build.properties"> <propertyset> <propertyref prefix="build.developer"/> <propertyref prefix="build.number"/> <propertyref prefix="build.tstamp"/> + <propertyref prefix="build.svnversion"/> + <propertyref prefix="build.version"/> </propertyset> </echoproperties> </target> Modified: trunk/daimonin/build.xml =================================================================== --- trunk/daimonin/build.xml 2010-06-10 18:16:49 UTC (rev 8346) +++ trunk/daimonin/build.xml 2010-06-12 08:00:42 UTC (rev 8347) @@ -67,8 +67,10 @@ <tstamp> <format property="build.tstamp" pattern="yyyy-MM-dd HH:mm:ss z" timezone="UTC"/> </tstamp> - <exec executable="svnversion" outputproperty="build.number" failifexecutionfails="false"/> - <property name="build.number" value="unknown"/> + <exec executable="svnversion" outputproperty="build.svnversion" failifexecutionfails="false"/> + <property name="build.svnversion" value="unknown"/> + <property name="build.version" value="Gridzilla"/> + <property name="build.number" value="${build.version} (revision ${build.svnversion})"/> <echoproperties destfile="build.properties"> <propertyset negate="true"> <propertyref prefix="user.ftp"/> Modified: trunk/gridarta.ipr =================================================================== --- trunk/gridarta.ipr 2010-06-10 18:16:49 UTC (rev 8346) +++ trunk/gridarta.ipr 2010-06-12 08:00:42 UTC (rev 8347) @@ -1206,6 +1206,7 @@ <w>gridarta</w> <w>gridarta's</w> <w>gridder</w> + <w>gridzilla</w> <w>guildmaster</w> <w>hotkey</w> <w>hprof</w> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 18:16:55
|
Revision: 8346 http://gridarta.svn.sourceforge.net/gridarta/?rev=8346&view=rev Author: akirschbaum Date: 2010-06-10 18:16:49 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Move preferences module to separate directory. Modified Paths: -------------- trunk/atrinik/build.xml trunk/crossfire/build.xml trunk/preferences.iml Added Paths: ----------- trunk/preferences/ trunk/preferences/src/ trunk/preferences/src/app/ trunk/preferences/src/app/net/ trunk/preferences/src/app/net/sf/ trunk/preferences/src/app/net/sf/gridarta/ trunk/preferences/src/app/net/sf/gridarta/preferences/ trunk/preferences/src/test/ Removed Paths: ------------- trunk/src/app/net/sf/gridarta/preferences/ Modified: trunk/atrinik/build.xml =================================================================== --- trunk/atrinik/build.xml 2010-06-10 18:02:56 UTC (rev 8345) +++ trunk/atrinik/build.xml 2010-06-10 18:16:49 UTC (rev 8346) @@ -92,7 +92,7 @@ <!-- compiling all Java classes --> <target name="compile" depends="init,clean,ctags" description="compiles source."> - <javac srcdir="${src.dir}:../src/app:../textedit/src/app:../utils/src/app:../model/src/app" destdir="${build.dir.production}" encoding="${build.source.encoding}" source="${build.source.version}" target="${build.target.version}" debug="${debug}" excludes="test/**/*.java" fork="${javac.fork}" includeantruntime="false"> + <javac srcdir="${src.dir}:../src/app:../textedit/src/app:../utils/src/app:../model/src/app:../preferences/src/app" destdir="${build.dir.production}" encoding="${build.source.encoding}" source="${build.source.version}" target="${build.target.version}" debug="${debug}" excludes="test/**/*.java" fork="${javac.fork}" includeantruntime="false"> <classpath> <fileset dir="${lib.dir}" includes="*.jar"/> <fileset dir="../lib/" includes="*.jar"/> @@ -119,6 +119,7 @@ <fileset dir="../textedit/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> <fileset dir="../utils/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> <fileset dir="../model/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> + <fileset dir="../preferences/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> </copy> <copy todir="${build.dir.production}"> <fileset dir="${src.dir}" includes="**/*.properties"/> Modified: trunk/crossfire/build.xml =================================================================== --- trunk/crossfire/build.xml 2010-06-10 18:02:56 UTC (rev 8345) +++ trunk/crossfire/build.xml 2010-06-10 18:16:49 UTC (rev 8346) @@ -90,7 +90,7 @@ <!-- compiling all Java classes --> <target name="compile" depends="init,clean,ctags" description="compiles source."> - <javac srcdir="${src.dir}:../src/app:../textedit/src/app:../utils/src/app:../model/src/app" destdir="${build.dir.production}" encoding="${build.source.encoding}" source="${build.source.version}" target="${build.target.version}" debug="${debug}" excludes="test/**/*.java" fork="${javac.fork}" includeantruntime="false"> + <javac srcdir="${src.dir}:../src/app:../textedit/src/app:../utils/src/app:../model/src/app:../preferences/src/app" destdir="${build.dir.production}" encoding="${build.source.encoding}" source="${build.source.version}" target="${build.target.version}" debug="${debug}" excludes="test/**/*.java" fork="${javac.fork}" includeantruntime="false"> <classpath> <fileset dir="${lib.dir}" includes="*.jar"/> <fileset dir="../lib/" includes="*.jar"/> @@ -130,6 +130,7 @@ <fileset dir="../textedit/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> <fileset dir="../utils/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> <fileset dir="../model/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> + <fileset dir="../preferences/src/app" excludes="**/*.java,**/package.html,**/overview.html"/> <fileset dir="../resource"> <include name="icons/**"/> <include name="log4j.properties"/> @@ -188,6 +189,9 @@ <packageset dir="../model/src/app" defaultexcludes="yes"> <include name="**"/> </packageset> + <packageset dir="../preferences/src/app" defaultexcludes="yes"> + <include name="**"/> + </packageset> <tag name="todo" description="Todo:"/> <tag name="used" description="Manually marked as used." enabled="false"/> <tag name="fixme" description="Fixme:"/> Modified: trunk/preferences.iml =================================================================== --- trunk/preferences.iml 2010-06-10 18:02:56 UTC (rev 8345) +++ trunk/preferences.iml 2010-06-10 18:16:49 UTC (rev 8346) @@ -1,8 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <module relativePaths="true" type="JAVA_MODULE" version="4"> <component name="NewModuleRootManager" inherit-compiler-output="true"> - <content url="file://$MODULE_DIR$/src/app/net/sf/gridarta/preferences"> - <sourceFolder url="file://$MODULE_DIR$/src/app/net/sf/gridarta/preferences" isTestSource="false" packagePrefix="net.sf.gridarta.preferences" /> + <content url="file://$MODULE_DIR$/preferences"> + <sourceFolder url="file://$MODULE_DIR$/preferences/src/app" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/preferences/src/test" isTestSource="true" /> </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 18:03:03
|
Revision: 8345 http://gridarta.svn.sourceforge.net/gridarta/?rev=8345&view=rev Author: akirschbaum Date: 2010-06-10 18:02:56 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Fix path names in face and animation chooser. Modified Paths: -------------- trunk/atrinik/ChangeLog trunk/crossfire/ChangeLog trunk/daimonin/ChangeLog trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java Added Paths: ----------- trunk/model/src/test/net/sf/gridarta/model/resource/ trunk/model/src/test/net/sf/gridarta/model/resource/AbstractFilesResourcesReaderTest.java trunk/model/src/test/net/sf/gridarta/model/resource/TestFilesResourcesReader.java Modified: trunk/atrinik/ChangeLog =================================================================== --- trunk/atrinik/ChangeLog 2010-06-10 18:01:26 UTC (rev 8344) +++ trunk/atrinik/ChangeLog 2010-06-10 18:02:56 UTC (rev 8345) @@ -1,5 +1,7 @@ 2010-06-10 Andreas Kirschbaum + * Fix path names in face and animation chooser. + * Add support for "*.face" files in arch directory. 2010-06-09 Andreas Kirschbaum Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2010-06-10 18:01:26 UTC (rev 8344) +++ trunk/crossfire/ChangeLog 2010-06-10 18:02:56 UTC (rev 8345) @@ -1,5 +1,7 @@ 2010-06-10 Andreas Kirschbaum + * Fix path names in face and animation chooser. + * Add support for "*.anim" files in arch directory. 2010-06-09 Andreas Kirschbaum Modified: trunk/daimonin/ChangeLog =================================================================== --- trunk/daimonin/ChangeLog 2010-06-10 18:01:26 UTC (rev 8344) +++ trunk/daimonin/ChangeLog 2010-06-10 18:02:56 UTC (rev 8345) @@ -1,5 +1,7 @@ 2010-06-10 Andreas Kirschbaum + * Fix path names in face and animation chooser. + * Add support for "*.face" files in arch directory. 2010-06-09 Andreas Kirschbaum Modified: trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java =================================================================== --- trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java 2010-06-10 18:01:26 UTC (rev 8344) +++ trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java 2010-06-10 18:02:56 UTC (rev 8345) @@ -162,7 +162,7 @@ Arrays.sort(entries); final String thisPanelName = folderLevel == 1 ? name : panelName; final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; - final String newPath = path.length() == 0 ? "" : path + "/" + name; + final String newPath = folderLevel == 0 ? "" : path + "/" + name; for (final String entry : entries) { loadArchetypesFromFiles(errorViewCollector, archetypeParser, newPath, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, invObjects, archFaceProvider, errorView, animFiles); } Added: trunk/model/src/test/net/sf/gridarta/model/resource/AbstractFilesResourcesReaderTest.java =================================================================== --- trunk/model/src/test/net/sf/gridarta/model/resource/AbstractFilesResourcesReaderTest.java (rev 0) +++ trunk/model/src/test/net/sf/gridarta/model/resource/AbstractFilesResourcesReaderTest.java 2010-06-10 18:02:56 UTC (rev 8345) @@ -0,0 +1,186 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.resource; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Pattern; +import net.sf.gridarta.model.anim.AnimationObject; +import net.sf.gridarta.model.anim.AnimationObjects; +import net.sf.gridarta.model.anim.DefaultAnimationObjects; +import net.sf.gridarta.model.archetype.AbstractArchetypeParser; +import net.sf.gridarta.model.archetype.ArchetypeFactory; +import net.sf.gridarta.model.archetype.ArchetypeSet; +import net.sf.gridarta.model.archetype.TestArchetype; +import net.sf.gridarta.model.archetype.TestArchetypeBuilder; +import net.sf.gridarta.model.archetype.TestArchetypeFactory; +import net.sf.gridarta.model.archetype.TestArchetypeParser; +import net.sf.gridarta.model.archetype.TestArchetypeSet; +import net.sf.gridarta.model.errorview.ErrorView; +import net.sf.gridarta.model.errorview.TestErrorView; +import net.sf.gridarta.model.face.ArchFaceProvider; +import net.sf.gridarta.model.face.DefaultFaceObjects; +import net.sf.gridarta.model.face.FaceObjectProviders; +import net.sf.gridarta.model.face.FaceObjects; +import net.sf.gridarta.model.gameobject.GameObjectFactory; +import net.sf.gridarta.model.gameobject.TestGameObject; +import net.sf.gridarta.model.gameobject.TestGameObjectFactory; +import net.sf.gridarta.model.map.maparchobject.TestMapArchObject; +import net.sf.gridarta.utils.GUIUtils; +import net.sf.gridarta.utils.SystemIcons; +import org.jetbrains.annotations.NotNull; +import org.junit.Assert; +import org.junit.Test; + +/** + * Regression tests for {@link AbstractFilesResourcesReader}. + * @author Andreas Kirschbaum + */ +public class AbstractFilesResourcesReaderTest { + + /** + * checks that animations read from .anim files have correct path names. + * @throws IOException if the test fails + */ + @Test + public void testAnimationPaths() throws IOException { + final File tmpDirectory = File.createTempFile("gridarta", null); + try { + Assert.assertTrue(tmpDirectory.delete()); + Assert.assertTrue(tmpDirectory.mkdir()); + final File archDirectory = new File(tmpDirectory, "archetypes"); + Assert.assertTrue(archDirectory.mkdir()); + final File collectedDirectory = new File(tmpDirectory, "collected"); + Assert.assertTrue(collectedDirectory.mkdir()); + createAnimationFile(archDirectory, "anim1"); + createAnimationFile(new File(archDirectory, "p"), "anim2"); + createAnimationFile(new File(new File(new File(archDirectory, "p"), "q"), "r"), "anim3"); + + final AnimationObjects animationObjects = readAnimations(archDirectory, collectedDirectory); + + Assert.assertEquals(3, animationObjects.size()); + final AnimationObject anim1 = animationObjects.get("anim1"); + final AnimationObject anim2 = animationObjects.get("anim2"); + final AnimationObject anim3 = animationObjects.get("anim3"); + Assert.assertNotNull(anim1); + Assert.assertNotNull(anim2); + Assert.assertNotNull(anim3); + Assert.assertEquals("anim1", anim1.getAnimName()); + Assert.assertEquals("anim2", anim2.getAnimName()); + Assert.assertEquals("anim3", anim3.getAnimName()); + Assert.assertEquals("/anim1", anim1.getPath()); + Assert.assertEquals("/p/anim2", anim2.getPath()); + Assert.assertEquals("/p/q/r/anim3", anim3.getPath()); + } finally { + delete(tmpDirectory); + } + } + + /** + * Reads resources from individual files. + * @param archDirectory the arch directory + * @param collectedDirectory the collected directory + * @return the animation objects instance + */ + @NotNull + private static AnimationObjects readAnimations(@NotNull final File archDirectory, @NotNull final File collectedDirectory) { + final ArchetypeFactory<TestGameObject, TestMapArchObject, TestArchetype> archetypeFactory = new TestArchetypeFactory(); + final ArchFaceProvider archFaceProvider = new ArchFaceProvider(); + final FaceObjects faceObjects = new DefaultFaceObjects(new File(collectedDirectory, "gridarta.0").getPath(), new File(collectedDirectory, "facetree").getPath(), Pattern.compile(""), "", archFaceProvider); + final GUIUtils guiUtils = new GUIUtils(); + final SystemIcons systemIcons = new SystemIcons(guiUtils); + final FaceObjectProviders faceObjectProviders = new FaceObjectProviders(1, faceObjects, systemIcons); + final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet = new TestArchetypeSet(archetypeFactory, new File(collectedDirectory, "archetypes").getPath(), faceObjectProviders); + final AnimationObjects animationObjects = new DefaultAnimationObjects(new File(collectedDirectory, "animtree").getPath()); + final GameObjectFactory<TestGameObject, TestMapArchObject, TestArchetype> gameObjectFactory = new TestGameObjectFactory(faceObjectProviders, animationObjects); + final TestArchetypeBuilder archetypeBuilder = new TestArchetypeBuilder(gameObjectFactory); + final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype, ?> archetypeParser = new TestArchetypeParser(archetypeBuilder, animationObjects, archetypeSet); + final AbstractResourcesReader<TestGameObject, TestMapArchObject, TestArchetype> filesResourcesReader = new TestFilesResourcesReader(archDirectory, archetypeSet, archetypeParser, archFaceProvider, collectedDirectory, null, animationObjects, faceObjects); + final List<TestGameObject> invObjects = new ArrayList<TestGameObject>(); + final ErrorView errorView = new TestErrorView(); + filesResourcesReader.read(errorView, invObjects); + return animationObjects; + } + + /** + * Creates a new .anim file. + * @param directory the directory to create the file in; will be created if + * it does not yet exist + * @param animName the name of the animation + * @throws IOException if an I/O error occurs + */ + private static void createAnimationFile(@NotNull final File directory, @NotNull final String animName) throws IOException { + if (!directory.isDirectory()) { + Assert.assertTrue(directory.mkdirs()); + } + + final File file = new File(directory, animName + ".anim"); + Assert.assertFalse(file.exists()); + final OutputStream fileOutputStream = new FileOutputStream(file); + try { + final Writer outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8"); + try { + final Writer bufferedWriter = new BufferedWriter(outputStreamWriter); + try { + bufferedWriter.append("anim ").append(animName).append("\n"); + bufferedWriter.append("face1\n"); + bufferedWriter.append("face2\n"); + bufferedWriter.append("mina\n"); + } finally { + bufferedWriter.close(); + } + } finally { + outputStreamWriter.close(); + } + } finally { + fileOutputStream.close(); + } + } + + /** + * Recursively deletes a directory. + * @param file the file or directory to delete + */ + private static void delete(@NotNull final File file) { + //noinspection ResultOfMethodCallIgnored + file.delete(); + + if (file.isDirectory()) { + final File[] files = file.listFiles(); + if (files != null) { + for (final File subFile : files) { + delete(subFile); + } + } + } + + if (file.exists()) { + Assert.assertTrue(file.delete()); + } + } + +} // class AbstractFilesResourcesReaderTest Property changes on: trunk/model/src/test/net/sf/gridarta/model/resource/AbstractFilesResourcesReaderTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Added: trunk/model/src/test/net/sf/gridarta/model/resource/TestFilesResourcesReader.java =================================================================== --- trunk/model/src/test/net/sf/gridarta/model/resource/TestFilesResourcesReader.java (rev 0) +++ trunk/model/src/test/net/sf/gridarta/model/resource/TestFilesResourcesReader.java 2010-06-10 18:02:56 UTC (rev 8345) @@ -0,0 +1,60 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.resource; + +import java.io.File; +import net.sf.gridarta.model.anim.AnimationObjects; +import net.sf.gridarta.model.archetype.AbstractArchetypeParser; +import net.sf.gridarta.model.archetype.ArchetypeSet; +import net.sf.gridarta.model.archetype.TestArchetype; +import net.sf.gridarta.model.face.ArchFaceProvider; +import net.sf.gridarta.model.face.FaceObjects; +import net.sf.gridarta.model.gameobject.TestGameObject; +import net.sf.gridarta.model.map.maparchobject.TestMapArchObject; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * An {@link AbstractFilesResourcesReader} for regression tests. + * @author Andreas Kirschbaum + */ +public class TestFilesResourcesReader extends AbstractFilesResourcesReader<TestGameObject, TestMapArchObject, TestArchetype> { + + /** + * Creates a new instance. + * @param archDirectory the "arch" directory to read + * @param archetypeSet the archetype set to update + * @param archetypeParser the archetype parser to use + * @param archFaceProvider the arch face provider to use + * @param collectedDirectory the collected directory + * @param imageSet the active image set or <code>null</code> + * @param animationObjects the animation objects instance + * @param faceObjects the face objects instance + */ + public TestFilesResourcesReader(@NotNull final File archDirectory, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype, ?> archetypeParser, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final File collectedDirectory, @Nullable final String imageSet, @NotNull final AnimationObjects animationObjects, @NotNull final FaceObjects faceObjects) { + super(archDirectory, archetypeSet, archetypeParser, archFaceProvider, collectedDirectory, imageSet, animationObjects, faceObjects); + } + + @Override + protected boolean isValidEntry(final int folderLevel, final String name) { + return true; + } + +} // class TestFilesResourcesReader Property changes on: trunk/model/src/test/net/sf/gridarta/model/resource/TestFilesResourcesReader.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 18:01:32
|
Revision: 8344 http://gridarta.svn.sourceforge.net/gridarta/?rev=8344&view=rev Author: akirschbaum Date: 2010-06-10 18:01:26 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Fix compiler warnings. Modified Paths: -------------- trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java Modified: trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java =================================================================== --- trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java 2010-06-10 18:00:56 UTC (rev 8343) +++ trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java 2010-06-10 18:01:26 UTC (rev 8344) @@ -32,16 +32,12 @@ public class HideFileFilterProxyTest { /** - * Object Under Test: A HideFileFilterProxy. - */ - private FileFilter oUT; - - /** * Test case for {@link HideFileFilterProxy#HideFileFilterProxy(FileFilter)}. */ @Test public void testHideFileFilterProxy() { - oUT = new HideFileFilterProxy(new MockFileFilter(true)); + //noinspection ResultOfObjectAllocationIgnored + new HideFileFilterProxy(new MockFileFilter(true)); } /** @@ -49,7 +45,7 @@ */ @Test public void testGetDescription() { - oUT = new HideFileFilterProxy(new MockFileFilter(true)); + final FileFilter oUT = new HideFileFilterProxy(new MockFileFilter(true)); Assert.assertEquals("MOCK", oUT.getDescription()); } @@ -58,14 +54,15 @@ */ @Test public void testAccept() { - oUT = new HideFileFilterProxy(new MockFileFilter(true)); - Assert.assertTrue(oUT.accept(new File("foobar"))); - //Assert.assertFalse(oUT.accept(new File("CVS"))); - Assert.assertFalse(oUT.accept(new File(".svn"))); - oUT = new HideFileFilterProxy(new MockFileFilter(false)); - Assert.assertFalse(oUT.accept(new File("foobar"))); - //Assert.assertFalse(oUT.accept(new File("CVS"))); - Assert.assertFalse(oUT.accept(new File(".svn"))); + final FileFilter oUT1 = new HideFileFilterProxy(new MockFileFilter(true)); + Assert.assertTrue(oUT1.accept(new File("foobar"))); + //Assert.assertFalse(oUT1.accept(new File("CVS"))); + Assert.assertFalse(oUT1.accept(new File(".svn"))); + + final FileFilter oUT2 = new HideFileFilterProxy(new MockFileFilter(false)); + Assert.assertFalse(oUT2.accept(new File("foobar"))); + //Assert.assertFalse(oUT2.accept(new File("CVS"))); + Assert.assertFalse(oUT2.accept(new File(".svn"))); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 18:01:02
|
Revision: 8343 http://gridarta.svn.sourceforge.net/gridarta/?rev=8343&view=rev Author: akirschbaum Date: 2010-06-10 18:00:56 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Add @NotNull annotation. Modified Paths: -------------- trunk/utils/src/app/net/sf/gridarta/utils/IOUtils.java Modified: trunk/utils/src/app/net/sf/gridarta/utils/IOUtils.java =================================================================== --- trunk/utils/src/app/net/sf/gridarta/utils/IOUtils.java 2010-06-10 18:00:19 UTC (rev 8342) +++ trunk/utils/src/app/net/sf/gridarta/utils/IOUtils.java 2010-06-10 18:00:56 UTC (rev 8343) @@ -62,6 +62,7 @@ * @throws FileNotFoundException in case all tries getting a URL to the file * failed */ + @NotNull public static URL getResource(@Nullable final File dir, @NotNull final String fileName) throws FileNotFoundException { try { // 1st try normal file relative to specified directory final File file = new File(dir, fileName); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 18:00:25
|
Revision: 8342 http://gridarta.svn.sourceforge.net/gridarta/?rev=8342&view=rev Author: akirschbaum Date: 2010-06-10 18:00:19 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Remove outdated code. Modified Paths: -------------- trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java Modified: trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java 2010-06-10 17:59:11 UTC (rev 8341) +++ trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java 2010-06-10 18:00:19 UTC (rev 8342) @@ -33,13 +33,11 @@ import net.sf.gridarta.model.map.maparchobject.TestMapArchObject; import net.sf.gridarta.model.map.mapcontrol.MapControl; import net.sf.gridarta.model.map.mapmodel.MapModel; -import net.sf.gridarta.preferences.FilePreferencesFactory; import net.sf.gridarta.utils.Size2D; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.junit.Assert; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; /** @@ -362,15 +360,6 @@ } /** - * Initializes all test cases. - */ - @BeforeClass - public static void setUpClass() { - System.setProperty("java.util.prefs.PreferencesFactory", "net.sf.gridarta.preferences.FilePreferencesFactory"); - FilePreferencesFactory.initialize("user_net_sf_gridarta", null); - } - - /** * Initializes the test case. * @throws DuplicateArchetypeException if the test case fails */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 17:59:17
|
Revision: 8341 http://gridarta.svn.sourceforge.net/gridarta/?rev=8341&view=rev Author: akirschbaum Date: 2010-06-10 17:59:11 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Remove stay file. Removed Paths: ------------- trunk/src/test/model/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 08:19:23
|
Revision: 8340 http://gridarta.svn.sourceforge.net/gridarta/?rev=8340&view=rev Author: akirschbaum Date: 2010-06-10 08:19:15 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Move code to common code base. Modified Paths: -------------- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/CollectedResourcesReader.java trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/CollectedResourcesReader.java trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/CollectedResourcesReader.java trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java trunk/model/src/app/net/sf/gridarta/model/resource/AbstractResourcesReader.java Added Paths: ----------- trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java Modified: trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/CollectedResourcesReader.java =================================================================== --- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/CollectedResourcesReader.java 2010-06-10 08:11:55 UTC (rev 8339) +++ trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/CollectedResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -103,7 +103,7 @@ */ @NotNull @Override - protected FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { + public FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { archetypeSet.setLoadedFromArchive(true); // load from the collected files Map<String, String> animations = null; try { Modified: trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java =================================================================== --- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 08:11:55 UTC (rev 8339) +++ trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -19,73 +19,34 @@ package net.sf.gridarta.var.atrinik.resource; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.utils.FileFilters; import net.sf.gridarta.model.anim.AnimationObjects; -import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; import net.sf.gridarta.model.archetype.ArchetypeSet; import net.sf.gridarta.model.errorview.ErrorView; -import net.sf.gridarta.model.errorview.ErrorViewCategory; -import net.sf.gridarta.model.errorview.ErrorViewCollector; import net.sf.gridarta.model.face.ArchFaceProvider; import net.sf.gridarta.model.face.FaceObjects; import net.sf.gridarta.model.face.FaceProvider; -import net.sf.gridarta.model.io.AnimationObjectsReader; -import net.sf.gridarta.model.resource.AbstractResourcesReader; -import net.sf.gridarta.utils.Pair; +import net.sf.gridarta.model.resource.AbstractFilesResourcesReader; import net.sf.gridarta.var.atrinik.model.archetype.Archetype; import net.sf.gridarta.var.atrinik.model.gameobject.GameObject; import net.sf.gridarta.var.atrinik.model.maparchobject.MapArchObject; -import org.apache.log4j.Category; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; /** * Loads all resources from individual files. * @author Andreas Kirschbaum */ -public class FilesResourcesReader extends AbstractResourcesReader<GameObject, MapArchObject, Archetype> { +public class FilesResourcesReader extends AbstractFilesResourcesReader<GameObject, MapArchObject, Archetype> { /** - * The logger for printing log messages. - */ - private static final Category log = Logger.getLogger(FilesResourcesReader.class); - - /** * The "arch" directory to read. */ @NotNull private final File archDirectory; /** - * The {@link ArchetypeSet} to update. - */ - @NotNull - private final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet; - - /** - * The {@link AbstractArchetypeParser} to use. - */ - @NotNull - private final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser; - - /** - * The {@link AnimationObjects} to use. - */ - @NotNull - private final AnimationObjects animationObjects; - - /** * The {@link ArchFaceProvider} to use. */ @NotNull @@ -102,11 +63,8 @@ * @param archFaceProvider the arch face provider to use */ public FilesResourcesReader(@NotNull final File archDirectory, @NotNull final File collectedDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects animationObjects, @NotNull final ArchFaceProvider archFaceProvider) { - super(collectedDirectory, null, animationObjects, faceObjects); + super(archDirectory, archetypeSet, archetypeParser, archFaceProvider, collectedDirectory, null, animationObjects, faceObjects); this.archDirectory = archDirectory; - this.archetypeSet = archetypeSet; - this.archetypeParser = archetypeParser; - this.animationObjects = animationObjects; this.archFaceProvider = archFaceProvider; } @@ -115,158 +73,17 @@ */ @NotNull @Override - protected FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { - archetypeSet.setLoadedFromArchive(false); - final int animationObjectsSize = animationObjects.size(); - final int archetypeCount = archetypeSet.getArchetypeCount(); - final Collection<Pair<String, File>> animFiles = new ArrayList<Pair<String, File>>(); + public FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { addPNGFace(new File(archDirectory, "dev/editor/bug.101.png").getAbsolutePath(), "/dev/editor", "bug.101.png", errorView, archFaceProvider); - final ErrorViewCollector archDirectoryErrorViewCollector = new ErrorViewCollector(errorView, archDirectory); - loadArchetypesFromFiles(archDirectoryErrorViewCollector, archetypeParser, "", archDirectory, 0, "default", "default", invObjects, archFaceProvider, errorView, animFiles); - loadAnimationsFromFiles(archDirectoryErrorViewCollector, animFiles); - if (log.isInfoEnabled()) { - log.info("Loaded " + (animationObjects.size() - animationObjectsSize) + " animations from '" + archDirectory + "'."); - } - if (log.isInfoEnabled()) { - log.info("Loaded " + (archetypeSet.getArchetypeCount() - archetypeCount) + " archetypes from '" + archDirectory + "'."); - } - if (log.isInfoEnabled()) { - log.info("Loaded " + archFaceProvider.size() + " faces from '" + archDirectory + "'."); - } - return archFaceProvider; + return super.read(errorView, invObjects); } /** - * Loads all archetypes and faces by recursing through the - * <code>arch/</code> directory tree. - * @param errorViewCollector the error view collector for reporting errors - * @param archetypeParser the archetype parser to use - * @param path the base directory relative path of <code>f</code> - * @param f file path where we currently are - * @param folderLevel level of the folder - * @param panelName the panel to add archetypes to - * @param folderName the folder to add archetypes to - * @param invObjects collects all inventory objects - * @param archFaceProvider the arch face provider to add to - * @param errorView the error view to use - * @param animFiles the found animation files + * {@inheritDoc} */ - private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final String path, @NotNull final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { - final String name = f.getName(); - if (f.isDirectory()) { - // now, setup the arch panels - if (isValidEntry(folderLevel, name)) { - final String[] entries = f.list(); - if (entries != null) { - Arrays.sort(entries); - final String thisPanelName = folderLevel == 1 ? name : panelName; - final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; - final String newPath = path.length() == 0 ? "" : path + "/" + name; - for (final String entry : entries) { - loadArchetypesFromFiles(errorViewCollector, archetypeParser, newPath, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, invObjects, archFaceProvider, errorView, animFiles); - } - } else { - errorViewCollector.addWarning(ErrorViewCategory.ARCHETYPE_DIR_INVALID, f.getPath()); - } - } - } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (FileFilters.arcFileFilter.accept(f)) { - try { - final FileInputStream fis = new FileInputStream(f); - try { - final InputStreamReader isr = new InputStreamReader(fis); - try { - final BufferedReader in = new BufferedReader(isr); - try { - archetypeParser.parseArchetypeFromStream(in, null, null, null, panelName, folderName, "", invObjects, new ErrorViewCollector(errorView, f)); - } finally { - in.close(); - } - } finally { - isr.close(); - } - } finally { - fis.close(); - } - } catch (final IOException ex) { - new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); - } - } else if (FileFilters.pngFileFilter.accept(f)) { - if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { - addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); - } - } else if (FileFilters.faceFileFilter.accept(f)) { - parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (FileFilters.animFileFilter.accept(f)) { - animFiles.add(new Pair<String, File>(path, f)); - } - } - } - - /** - * Returns whether a file name should be processed. - * @param folderLevel the folder level - * @param name the base name of the file name - * @return whether the entry is valid and shoudl be processed - */ - private boolean isValidEntry(final int folderLevel, final String name) { + @Override + protected boolean isValidEntry(final int folderLevel, final String name) { return folderLevel != 1 || !name.equalsIgnoreCase("dev"); } - /** - * Loads a .face file. - * @param errorView the error view for reporting errors - * @param path the base directory relative path of <code>filename</code> - * @param filename filename - */ - private void parseDefFace(@NotNull final ErrorView errorView, @NotNull final String path, @NotNull final String filename) { - final ErrorViewCollector errorViewCollector = new ErrorViewCollector(errorView, new File(path)); - try { - final FileInputStream fis = new FileInputStream(path); - try { - final InputStreamReader isr = new InputStreamReader(fis); - try { - final Reader in = new BufferedReader(isr); - try { - AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, in, "animation ", true, filename, null); - } finally { - in.close(); - } - } finally { - isr.close(); - } - } finally { - fis.close(); - } - } catch (final IOException ex) { - errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, ex.getMessage()); - } catch (final AnimationParseException ex) { - errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage()); - } - } - - /** - * This method loads animations that are separately defined by looping - * through all files that were previously collected by {@link - * #loadArchetypesFromFiles(ErrorViewCollector, AbstractArchetypeParser, - * String, File, int, String, String, List, ArchFaceProvider, ErrorView, - * Collection)}. Do not invoke this method if <code>loadArchetypesFromFiles()</code> - * wasn't invoked. - * @param errorViewCollector the error view collector for reporting errors - * @param animFiles the animation files - */ - private void loadAnimationsFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final Iterable<Pair<String, File>> animFiles) { - for (final Pair<String, File> pair : animFiles) { - final String animPath = pair.getFirst(); - final File animFile = pair.getSecond(); - try { - AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, animPath, animFile, "anim ", false); - } catch (final IOException ex) { - errorViewCollector.addWarning(ErrorViewCategory.ANIM_FILE_INVALID, ex.getMessage() + ", " + animFile); - } catch (final AnimationParseException ex) { - errorViewCollector.addWarning(ErrorViewCategory.ANIM_ENTRY_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage() + ", " + animFile); - } - } - } - } // class FilesResourcesReader Modified: trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/CollectedResourcesReader.java =================================================================== --- trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/CollectedResourcesReader.java 2010-06-10 08:11:55 UTC (rev 8339) +++ trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/CollectedResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -121,7 +121,7 @@ */ @NotNull @Override - protected FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { + public FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { archetypeSet.setLoadedFromArchive(true); Map<String, String> animations = null; try { Modified: trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java =================================================================== --- trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java 2010-06-10 08:11:55 UTC (rev 8339) +++ trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -19,79 +19,25 @@ package net.sf.gridarta.var.crossfire.resource; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import net.sf.gridarta.gui.utils.FileFilters; import net.sf.gridarta.model.anim.AnimationObjects; -import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; import net.sf.gridarta.model.archetype.ArchetypeSet; -import net.sf.gridarta.model.errorview.ErrorView; -import net.sf.gridarta.model.errorview.ErrorViewCategory; -import net.sf.gridarta.model.errorview.ErrorViewCollector; import net.sf.gridarta.model.face.ArchFaceProvider; import net.sf.gridarta.model.face.FaceObjects; -import net.sf.gridarta.model.face.FaceProvider; -import net.sf.gridarta.model.io.AnimationObjectsReader; -import net.sf.gridarta.model.resource.AbstractResourcesReader; -import net.sf.gridarta.utils.Pair; +import net.sf.gridarta.model.resource.AbstractFilesResourcesReader; import net.sf.gridarta.var.crossfire.model.archetype.Archetype; import net.sf.gridarta.var.crossfire.model.gameobject.GameObject; import net.sf.gridarta.var.crossfire.model.maparchobject.MapArchObject; -import org.apache.log4j.Category; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; /** * Loads all resources from individual files. * @author Andreas Kirschbaum */ -public class FilesResourcesReader extends AbstractResourcesReader<GameObject, MapArchObject, Archetype> { +public class FilesResourcesReader extends AbstractFilesResourcesReader<GameObject, MapArchObject, Archetype> { /** - * The logger for printing log messages. - */ - private static final Category log = Logger.getLogger(FilesResourcesReader.class); - - /** - * The "arch" directory to read. - */ - @NotNull - private final File archDirectory; - - /** - * The {@link ArchetypeSet} to update. - */ - @NotNull - private final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet; - - /** - * The {@link AbstractArchetypeParser} to use. - */ - @NotNull - private final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser; - - /** - * The {@link AnimationObjects} to use. - */ - @NotNull - private final AnimationObjects animationObjects; - - /** - * The {@link ArchFaceProvider} to use. - */ - @NotNull - private final ArchFaceProvider archFaceProvider; - - /** * Creates a new instance. * @param archDirectory the "arch" directory to read * @param collectedDirectory the collected directory @@ -102,170 +48,15 @@ * @param archFaceProvider the arch face provider to use */ public FilesResourcesReader(@NotNull final File archDirectory, @NotNull final File collectedDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects animationObjects, @NotNull final ArchFaceProvider archFaceProvider) { - super(collectedDirectory, archetypeSet.getImageSet(), animationObjects, faceObjects); - this.archDirectory = archDirectory; - this.archetypeSet = archetypeSet; - this.archetypeParser = archetypeParser; - this.animationObjects = animationObjects; - this.archFaceProvider = archFaceProvider; + super(archDirectory, archetypeSet, archetypeParser, archFaceProvider, collectedDirectory, archetypeSet.getImageSet(), animationObjects, faceObjects); } /** * {@inheritDoc} */ - @NotNull @Override - protected FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { - archetypeSet.setLoadedFromArchive(false); - final int animationObjectsSize = animationObjects.size(); - final int archetypeCount = archetypeSet.getArchetypeCount(); - final Collection<Pair<String, File>> animFiles = new ArrayList<Pair<String, File>>(); - final ErrorViewCollector archDirectoryErrorViewCollector = new ErrorViewCollector(errorView, archDirectory); - loadArchetypesFromFiles(archDirectoryErrorViewCollector, archetypeParser, "", archDirectory, 0, "default", "default", invObjects, archFaceProvider, errorView, animFiles); - loadAnimationsFromFiles(archDirectoryErrorViewCollector, animFiles); - if (log.isInfoEnabled()) { - log.info("Loaded " + (animationObjects.size() - animationObjectsSize) + " animations from '" + archDirectory + "'."); - } - if (log.isInfoEnabled()) { - log.info("Loaded " + (archetypeSet.getArchetypeCount() - archetypeCount) + " archetypes from '" + archDirectory + "'."); - } - if (log.isInfoEnabled()) { - log.info("Loaded " + archFaceProvider.size() + " faces from '" + archDirectory + "'."); - } - return archFaceProvider; - } - - /** - * Loads all archetypes and faces by recursing through the - * <code>arch/</code> directory tree. - * @param errorViewCollector the error view collector for reporting errors - * @param archetypeParser the archetype parser to use - * @param path the base directory relative path of <code>f</code> - * @param f file path where we currently are - * @param folderLevel level of the folder - * @param panelName the panel to add archetypes to - * @param folderName the folder to add archetypes to - * @param invObjects collects all inventory objects - * @param archFaceProvider the arch face provider to add to - * @param errorView the error view to use - * @param animFiles the found animation files - */ - private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final String path, @NotNull final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { - final String name = f.getName(); - if (f.isDirectory()) { - // now, setup the arch panels - if (isValidEntry(folderLevel, name)) { - final String[] entries = f.list(); - if (entries != null) { - Arrays.sort(entries); - final String thisPanelName = folderLevel == 1 ? name : panelName; - final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; - final String newPath = path.length() == 0 ? "" : path + "/" + name; - for (final String entry : entries) { - loadArchetypesFromFiles(errorViewCollector, archetypeParser, newPath, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, invObjects, archFaceProvider, errorView, animFiles); - } - } else { - errorViewCollector.addWarning(ErrorViewCategory.ARCHETYPE_DIR_INVALID, f.getPath()); - } - } - } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (FileFilters.arcFileFilter.accept(f)) { - try { - final FileInputStream fis = new FileInputStream(f); - try { - final InputStreamReader isr = new InputStreamReader(fis); - try { - final BufferedReader in = new BufferedReader(isr); - try { - archetypeParser.parseArchetypeFromStream(in, null, null, null, panelName, folderName, "", invObjects, new ErrorViewCollector(errorView, f)); - } finally { - in.close(); - } - } finally { - isr.close(); - } - } finally { - fis.close(); - } - } catch (final IOException ex) { - new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); - } - } else if (FileFilters.pngFileFilter.accept(f)) { - if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { - addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); - } - } else if (FileFilters.faceFileFilter.accept(f)) { - parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (FileFilters.animFileFilter.accept(f)) { - animFiles.add(new Pair<String, File>(path, f)); - } - } - } - - /** - * Returns whether a file name should be processed. - * @param folderLevel the folder level - * @param name the base name of the file name - * @return whether the entry is valid and shoudl be processed - */ - private boolean isValidEntry(final int folderLevel, final String name) { + protected boolean isValidEntry(final int folderLevel, final String name) { return !name.equalsIgnoreCase("cvs") && !name.equalsIgnoreCase("dev") && !name.startsWith("."); } - /** - * Loads a .face file. - * @param errorView the error view for reporting errors - * @param path the base directory relative path of <code>filename</code> - * @param filename filename - */ - private void parseDefFace(@NotNull final ErrorView errorView, @NotNull final String path, @NotNull final String filename) { - final ErrorViewCollector errorViewCollector = new ErrorViewCollector(errorView, new File(path)); - try { - final FileInputStream fis = new FileInputStream(path); - try { - final InputStreamReader isr = new InputStreamReader(fis); - try { - final Reader in = new BufferedReader(isr); - try { - AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, in, "animation ", true, filename, null); - } finally { - in.close(); - } - } finally { - isr.close(); - } - } finally { - fis.close(); - } - } catch (final IOException ex) { - errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, ex.getMessage()); - } catch (final AnimationParseException ex) { - errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage()); - } - } - - /** - * This method loads animations that are separately defined by looping - * through all files that were previously collected by {@link - * #loadArchetypesFromFiles(ErrorViewCollector, AbstractArchetypeParser, - * String, File, int, String, String, List, ArchFaceProvider, ErrorView, - * Collection)}. Do not invoke this method if <code>loadArchetypesFromFiles()</code> - * wasn't invoked. - * @param errorViewCollector the error view collector for reporting errors - * @param animFiles the animation files - */ - private void loadAnimationsFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final Iterable<Pair<String, File>> animFiles) { - for (final Pair<String, File> pair : animFiles) { - final String animPath = pair.getFirst(); - final File animFile = pair.getSecond(); - try { - AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, animPath, animFile, "anim ", false); - } catch (final IOException ex) { - errorViewCollector.addWarning(ErrorViewCategory.ANIM_FILE_INVALID, ex.getMessage() + ", " + animFile); - } catch (final AnimationParseException ex) { - errorViewCollector.addWarning(ErrorViewCategory.ANIM_ENTRY_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage() + ", " + animFile); - } - } - } - } // class FilesResourcesReader Modified: trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/CollectedResourcesReader.java =================================================================== --- trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/CollectedResourcesReader.java 2010-06-10 08:11:55 UTC (rev 8339) +++ trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/CollectedResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -103,7 +103,7 @@ */ @NotNull @Override - protected FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { + public FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { archetypeSet.setLoadedFromArchive(true); // load from the collected files Map<String, String> animations = null; try { Modified: trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java =================================================================== --- trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 08:11:55 UTC (rev 8339) +++ trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -19,73 +19,34 @@ package net.sf.gridarta.var.daimonin.resource; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.utils.FileFilters; import net.sf.gridarta.model.anim.AnimationObjects; -import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; import net.sf.gridarta.model.archetype.ArchetypeSet; import net.sf.gridarta.model.errorview.ErrorView; -import net.sf.gridarta.model.errorview.ErrorViewCategory; -import net.sf.gridarta.model.errorview.ErrorViewCollector; import net.sf.gridarta.model.face.ArchFaceProvider; import net.sf.gridarta.model.face.FaceObjects; import net.sf.gridarta.model.face.FaceProvider; -import net.sf.gridarta.model.io.AnimationObjectsReader; -import net.sf.gridarta.model.resource.AbstractResourcesReader; -import net.sf.gridarta.utils.Pair; +import net.sf.gridarta.model.resource.AbstractFilesResourcesReader; import net.sf.gridarta.var.daimonin.model.archetype.Archetype; import net.sf.gridarta.var.daimonin.model.gameobject.GameObject; import net.sf.gridarta.var.daimonin.model.maparchobject.MapArchObject; -import org.apache.log4j.Category; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; /** * Loads all resources from individual files. * @author Andreas Kirschbaum */ -public class FilesResourcesReader extends AbstractResourcesReader<GameObject, MapArchObject, Archetype> { +public class FilesResourcesReader extends AbstractFilesResourcesReader<GameObject, MapArchObject, Archetype> { /** - * The logger for printing log messages. - */ - private static final Category log = Logger.getLogger(FilesResourcesReader.class); - - /** * The "arch" directory to read. */ @NotNull private final File archDirectory; /** - * The {@link ArchetypeSet} to update. - */ - @NotNull - private final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet; - - /** - * The {@link AbstractArchetypeParser} to use. - */ - @NotNull - private final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser; - - /** - * The {@link AnimationObjects} to use. - */ - @NotNull - private final AnimationObjects animationObjects; - - /** * The {@link ArchFaceProvider} to use. */ @NotNull @@ -102,11 +63,8 @@ * @param archFaceProvider the arch face provider to use */ public FilesResourcesReader(@NotNull final File archDirectory, @NotNull final File collectedDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects animationObjects, @NotNull final ArchFaceProvider archFaceProvider) { - super(collectedDirectory, null, animationObjects, faceObjects); + super(archDirectory, archetypeSet, archetypeParser, archFaceProvider, collectedDirectory, null, animationObjects, faceObjects); this.archDirectory = archDirectory; - this.archetypeSet = archetypeSet; - this.archetypeParser = archetypeParser; - this.animationObjects = animationObjects; this.archFaceProvider = archFaceProvider; } @@ -115,158 +73,17 @@ */ @NotNull @Override - protected FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { - archetypeSet.setLoadedFromArchive(false); - final int animationObjectsSize = animationObjects.size(); - final int archetypeCount = archetypeSet.getArchetypeCount(); - final Collection<Pair<String, File>> animFiles = new ArrayList<Pair<String, File>>(); + public FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<GameObject> invObjects) { addPNGFace(new File(archDirectory, "dev/editor/bug.101.png").getAbsolutePath(), "/dev/editor", "bug.101.png", errorView, archFaceProvider); - final ErrorViewCollector archDirectoryErrorViewCollector = new ErrorViewCollector(errorView, archDirectory); - loadArchetypesFromFiles(archDirectoryErrorViewCollector, archetypeParser, "", archDirectory, 0, "default", "default", invObjects, archFaceProvider, errorView, animFiles); - loadAnimationsFromFiles(archDirectoryErrorViewCollector, animFiles); - if (log.isInfoEnabled()) { - log.info("Loaded " + (animationObjects.size() - animationObjectsSize) + " animations from '" + archDirectory + "'."); - } - if (log.isInfoEnabled()) { - log.info("Loaded " + (archetypeSet.getArchetypeCount() - archetypeCount) + " archetypes from '" + archDirectory + "'."); - } - if (log.isInfoEnabled()) { - log.info("Loaded " + archFaceProvider.size() + " faces from '" + archDirectory + "'."); - } - return archFaceProvider; + return super.read(errorView, invObjects); } /** - * Loads all archetypes and faces by recursing through the - * <code>arch/</code> directory tree. - * @param errorViewCollector the error view collector for reporting errors - * @param archetypeParser the archetype parser to use - * @param path the base directory relative path of <code>f</code> - * @param f file path where we currently are - * @param folderLevel level of the folder - * @param panelName the panel to add archetypes to - * @param folderName the folder to add archetypes to - * @param invObjects collects all inventory objects - * @param archFaceProvider the arch face provider to add to - * @param errorView the error view to use - * @param animFiles the found animation files + * {@inheritDoc} */ - private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final String path, @NotNull final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { - final String name = f.getName(); - if (f.isDirectory()) { - // now, setup the arch panels - if (isValidEntry(folderLevel, name)) { - final String[] entries = f.list(); - if (entries != null) { - Arrays.sort(entries); - final String thisPanelName = folderLevel == 1 ? name : panelName; - final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; - final String newPath = path.length() == 0 ? "" : path + "/" + name; - for (final String entry : entries) { - loadArchetypesFromFiles(errorViewCollector, archetypeParser, newPath, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, invObjects, archFaceProvider, errorView, animFiles); - } - } else { - errorViewCollector.addWarning(ErrorViewCategory.ARCHETYPE_DIR_INVALID, f.getPath()); - } - } - } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (FileFilters.arcFileFilter.accept(f)) { - try { - final FileInputStream fis = new FileInputStream(f); - try { - final InputStreamReader isr = new InputStreamReader(fis); - try { - final BufferedReader in = new BufferedReader(isr); - try { - archetypeParser.parseArchetypeFromStream(in, null, null, null, panelName, folderName, "", invObjects, new ErrorViewCollector(errorView, f)); - } finally { - in.close(); - } - } finally { - isr.close(); - } - } finally { - fis.close(); - } - } catch (final IOException ex) { - new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); - } - } else if (FileFilters.pngFileFilter.accept(f)) { - if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { - addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); - } - } else if (FileFilters.faceFileFilter.accept(f)) { - parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (FileFilters.animFileFilter.accept(f)) { - animFiles.add(new Pair<String, File>(path, f)); - } - } - } - - /** - * Returns whether a file name should be processed. - * @param folderLevel the folder level - * @param name the base name of the file name - * @return whether the entry is valid and shoudl be processed - */ - private boolean isValidEntry(final int folderLevel, final String name) { + @Override + protected boolean isValidEntry(final int folderLevel, final String name) { return folderLevel != 1 || !name.equalsIgnoreCase("dev"); } - /** - * Loads a .face file. - * @param errorView the error view for reporting errors - * @param path the base directory relative path of <code>filename</code> - * @param filename filename - */ - private void parseDefFace(@NotNull final ErrorView errorView, @NotNull final String path, @NotNull final String filename) { - final ErrorViewCollector errorViewCollector = new ErrorViewCollector(errorView, new File(path)); - try { - final FileInputStream fis = new FileInputStream(path); - try { - final InputStreamReader isr = new InputStreamReader(fis); - try { - final Reader in = new BufferedReader(isr); - try { - AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, in, "animation ", true, filename, null); - } finally { - in.close(); - } - } finally { - isr.close(); - } - } finally { - fis.close(); - } - } catch (final IOException ex) { - errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, ex.getMessage()); - } catch (final AnimationParseException ex) { - errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage()); - } - } - - /** - * This method loads animations that are separately defined by looping - * through all files that were previously collected by {@link - * #loadArchetypesFromFiles(ErrorViewCollector, AbstractArchetypeParser, - * String, File, int, String, String, List, ArchFaceProvider, ErrorView, - * Collection)}. Do not invoke this method if <code>loadArchetypesFromFiles()</code> - * wasn't invoked. - * @param errorViewCollector the error view collector for reporting errors - * @param animFiles the animation files - */ - private void loadAnimationsFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final Iterable<Pair<String, File>> animFiles) { - for (final Pair<String, File> pair : animFiles) { - final String animPath = pair.getFirst(); - final File animFile = pair.getSecond(); - try { - AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, animPath, animFile, "anim ", false); - } catch (final IOException ex) { - errorViewCollector.addWarning(ErrorViewCategory.ANIM_FILE_INVALID, ex.getMessage() + ", " + animFile); - } catch (final AnimationParseException ex) { - errorViewCollector.addWarning(ErrorViewCategory.ANIM_ENTRY_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage() + ", " + animFile); - } - } - } - } // class FilesResourcesReader Added: trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java =================================================================== --- trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java (rev 0) +++ trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -0,0 +1,271 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.resource; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import net.sf.gridarta.gui.utils.FileFilters; +import net.sf.gridarta.model.anim.AnimationObjects; +import net.sf.gridarta.model.anim.AnimationParseException; +import net.sf.gridarta.model.archetype.AbstractArchetypeParser; +import net.sf.gridarta.model.archetype.Archetype; +import net.sf.gridarta.model.archetype.ArchetypeSet; +import net.sf.gridarta.model.errorview.ErrorView; +import net.sf.gridarta.model.errorview.ErrorViewCategory; +import net.sf.gridarta.model.errorview.ErrorViewCollector; +import net.sf.gridarta.model.face.ArchFaceProvider; +import net.sf.gridarta.model.face.FaceObjects; +import net.sf.gridarta.model.face.FaceProvider; +import net.sf.gridarta.model.gameobject.GameObject; +import net.sf.gridarta.model.io.AnimationObjectsReader; +import net.sf.gridarta.model.map.maparchobject.MapArchObject; +import net.sf.gridarta.utils.Pair; +import org.apache.log4j.Category; +import org.apache.log4j.Logger; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Abstract base class for {@link AbstractResourcesReader + * AbstractResourcesReaders} that read from individual files. + * @author Andreas Kirschbaum + */ +public abstract class AbstractFilesResourcesReader<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends AbstractResourcesReader<G, A, R> { + + /** + * The logger for printing log messages. + */ + private static final Category log = Logger.getLogger(AbstractFilesResourcesReader.class); + + /** + * The "arch" directory to read. + */ + @NotNull + private final File archDirectory; + + /** + * The {@link ArchetypeSet} to update. + */ + @NotNull + private final ArchetypeSet<G, A, R> archetypeSet; + + /** + * The {@link AbstractArchetypeParser} to use. + */ + @NotNull + private final AbstractArchetypeParser<G, A, R, ?> archetypeParser; + + /** + * The {@link AnimationObjects} to use. + */ + @NotNull + private final AnimationObjects animationObjects; + + /** + * The {@link ArchFaceProvider} to use. + */ + @NotNull + private final ArchFaceProvider archFaceProvider; + + /** + * Creates a new instance. + * @param archDirectory the "arch" directory to read + * @param archetypeSet the archetype set to update + * @param archetypeParser the archetype parser to use + * @param archFaceProvider the arch face provider to use + * @param collectedDirectory the collected directory + * @param imageSet the active image set or <code>null</code> + * @param animationObjects the animation objects instance + * @param faceObjects the face objects instance + */ + protected AbstractFilesResourcesReader(@NotNull final File archDirectory, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final AbstractArchetypeParser<G, A, R, ?> archetypeParser, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final File collectedDirectory, @Nullable final String imageSet, @NotNull final AnimationObjects animationObjects, @NotNull final FaceObjects faceObjects) { + super(collectedDirectory, imageSet, animationObjects, faceObjects); + this.archDirectory = archDirectory; + this.archetypeSet = archetypeSet; + this.archetypeParser = archetypeParser; + this.archFaceProvider = archFaceProvider; + this.animationObjects = animationObjects; + } + + /** + * {@inheritDoc} + */ + @NotNull + @Override + public FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<G> invObjects) { + archetypeSet.setLoadedFromArchive(false); + final int animationObjectsSize = animationObjects.size(); + final int archetypeCount = archetypeSet.getArchetypeCount(); + final Collection<Pair<String, File>> animFiles = new ArrayList<Pair<String, File>>(); + final ErrorViewCollector archDirectoryErrorViewCollector = new ErrorViewCollector(errorView, archDirectory); + loadArchetypesFromFiles(archDirectoryErrorViewCollector, archetypeParser, "", archDirectory, 0, "default", "default", invObjects, archFaceProvider, errorView, animFiles); + loadAnimationsFromFiles(archDirectoryErrorViewCollector, animFiles); + if (log.isInfoEnabled()) { + log.info("Loaded " + (animationObjects.size() - animationObjectsSize) + " animations from '" + archDirectory + "'."); + } + if (log.isInfoEnabled()) { + log.info("Loaded " + (archetypeSet.getArchetypeCount() - archetypeCount) + " archetypes from '" + archDirectory + "'."); + } + if (log.isInfoEnabled()) { + log.info("Loaded " + archFaceProvider.size() + " faces from '" + archDirectory + "'."); + } + return archFaceProvider; + } + + /** + * Loads all archetypes and faces by recursing through the + * <code>arch/</code> directory tree. + * @param errorViewCollector the error view collector for reporting errors + * @param archetypeParser the archetype parser to use + * @param path the base directory relative path of <code>f</code> + * @param f file path where we currently are + * @param folderLevel level of the folder + * @param panelName the panel to add archetypes to + * @param folderName the folder to add archetypes to + * @param invObjects collects all inventory objects + * @param archFaceProvider the arch face provider to add to + * @param errorView the error view to use + * @param animFiles the found animation files + */ + private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<G, A, R, ?> archetypeParser, @NotNull final String path, @NotNull final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<G> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { + final String name = f.getName(); + if (f.isDirectory()) { + // now, setup the arch panels + if (isValidEntry(folderLevel, name)) { + final String[] entries = f.list(); + if (entries != null) { + Arrays.sort(entries); + final String thisPanelName = folderLevel == 1 ? name : panelName; + final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; + final String newPath = path.length() == 0 ? "" : path + "/" + name; + for (final String entry : entries) { + loadArchetypesFromFiles(errorViewCollector, archetypeParser, newPath, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, invObjects, archFaceProvider, errorView, animFiles); + } + } else { + errorViewCollector.addWarning(ErrorViewCategory.ARCHETYPE_DIR_INVALID, f.getPath()); + } + } + } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! + if (FileFilters.arcFileFilter.accept(f)) { + try { + final FileInputStream fis = new FileInputStream(f); + try { + final InputStreamReader isr = new InputStreamReader(fis); + try { + final BufferedReader in = new BufferedReader(isr); + try { + archetypeParser.parseArchetypeFromStream(in, null, null, null, panelName, folderName, "", invObjects, new ErrorViewCollector(errorView, f)); + } finally { + in.close(); + } + } finally { + isr.close(); + } + } finally { + fis.close(); + } + } catch (final IOException ex) { + new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); + } + } else if (FileFilters.pngFileFilter.accept(f)) { + if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { + addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); + } + } else if (FileFilters.faceFileFilter.accept(f)) { + parseDefFace(errorView, f.getAbsolutePath(), path); + } else if (FileFilters.animFileFilter.accept(f)) { + animFiles.add(new Pair<String, File>(path, f)); + } + } + } + + /** + * Loads a .face file. + * @param errorView the error view for reporting errors + * @param path the base directory relative path of <code>filename</code> + * @param filename filename + */ + private void parseDefFace(@NotNull final ErrorView errorView, @NotNull final String path, @NotNull final String filename) { + final ErrorViewCollector errorViewCollector = new ErrorViewCollector(errorView, new File(path)); + try { + final FileInputStream fis = new FileInputStream(path); + try { + final InputStreamReader isr = new InputStreamReader(fis); + try { + final Reader in = new BufferedReader(isr); + try { + AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, in, "animation ", true, filename, null); + } finally { + in.close(); + } + } finally { + isr.close(); + } + } finally { + fis.close(); + } + } catch (final IOException ex) { + errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, ex.getMessage()); + } catch (final AnimationParseException ex) { + errorViewCollector.addWarning(ErrorViewCategory.FACE_FILE_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage()); + } + } + + /** + * This method loads animations that are separately defined by looping + * through all files that were previously collected by {@link + * #loadArchetypesFromFiles(ErrorViewCollector, AbstractArchetypeParser, + * String, File, int, String, String, List, ArchFaceProvider, ErrorView, + * Collection)}. Do not invoke this method if <code>loadArchetypesFromFiles()</code> + * wasn't invoked. + * @param errorViewCollector the error view collector for reporting errors + * @param animFiles the animation files + */ + private void loadAnimationsFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final Iterable<Pair<String, File>> animFiles) { + for (final Pair<String, File> pair : animFiles) { + final String animPath = pair.getFirst(); + final File animFile = pair.getSecond(); + try { + AnimationObjectsReader.loadAnimations(animationObjects, errorViewCollector, animPath, animFile, "anim ", false); + } catch (final IOException ex) { + errorViewCollector.addWarning(ErrorViewCategory.ANIM_FILE_INVALID, ex.getMessage() + ", " + animFile); + } catch (final AnimationParseException ex) { + errorViewCollector.addWarning(ErrorViewCategory.ANIM_ENTRY_INVALID, "line " + ex.getLineNumber() + ": parsing error: " + ex.getMessage() + ", " + animFile); + } + } + } + + /** + * Returns whether a file name should be processed. + * @param folderLevel the folder level + * @param name the base name of the file name + * @return whether the entry is valid and should be processed + */ + protected abstract boolean isValidEntry(final int folderLevel, final String name); + +} // class AbstractFilesResourcesReader Property changes on: trunk/model/src/app/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Modified: trunk/model/src/app/net/sf/gridarta/model/resource/AbstractResourcesReader.java =================================================================== --- trunk/model/src/app/net/sf/gridarta/model/resource/AbstractResourcesReader.java 2010-06-10 08:11:55 UTC (rev 8339) +++ trunk/model/src/app/net/sf/gridarta/model/resource/AbstractResourcesReader.java 2010-06-10 08:19:15 UTC (rev 8340) @@ -213,7 +213,7 @@ * @return the face provider for accessing the read faces */ @NotNull - protected abstract FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<G> invObjects); + public abstract FaceProvider read(@NotNull final ErrorView errorView, @NotNull final List<G> invObjects); /** * Loads animations from a file. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 08:12:02
|
Revision: 8339 http://gridarta.svn.sourceforge.net/gridarta/?rev=8339&view=rev Author: akirschbaum Date: 2010-06-10 08:11:55 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Remove I/O error message to user. Modified Paths: -------------- trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java Modified: trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2010-06-10 08:11:15 UTC (rev 8338) +++ trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2010-06-10 08:11:55 UTC (rev 8339) @@ -103,8 +103,8 @@ if (!imageFile.exists() || ACTION_BUILDER.showConfirmDialog(component, JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, "overwriteOtherFile", imageFile) == JOptionPane.YES_OPTION) { try { imageCreator.createImage(mapModel, imageFile); - } catch (final IOException e) { - ACTION_BUILDER.showMessageDialog(component, "createImageIOException", imageFile); + } catch (final IOException ex) { + ACTION_BUILDER.showMessageDialog(component, "createImageIOException", imageFile, ex.getMessage()); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 08:11:26
|
Revision: 8338 http://gridarta.svn.sourceforge.net/gridarta/?rev=8338&view=rev Author: akirschbaum Date: 2010-06-10 08:11:15 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Extract FileFilters from GuiFileFilters. Modified Paths: -------------- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java trunk/utils.iml Added Paths: ----------- trunk/utils/src/app/net/sf/gridarta/gui/utils/FileFilters.java trunk/utils/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java trunk/utils/src/test/net/sf/gridarta/gui/ trunk/utils/src/test/net/sf/gridarta/gui/utils/ trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java Removed Paths: ------------- trunk/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java trunk/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java Modified: trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java =================================================================== --- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.io.GuiFileFilters; +import net.sf.gridarta.gui.utils.FileFilters; import net.sf.gridarta.model.anim.AnimationObjects; import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; @@ -170,7 +170,7 @@ } } } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (GuiFileFilters.arcFileFilter.accept(f)) { + if (FileFilters.arcFileFilter.accept(f)) { try { final FileInputStream fis = new FileInputStream(f); try { @@ -191,13 +191,13 @@ } catch (final IOException ex) { new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); } - } else if (GuiFileFilters.pngFileFilter.accept(f)) { + } else if (FileFilters.pngFileFilter.accept(f)) { if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); } - } else if (GuiFileFilters.faceFileFilter.accept(f)) { + } else if (FileFilters.faceFileFilter.accept(f)) { parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (GuiFileFilters.animFileFilter.accept(f)) { + } else if (FileFilters.animFileFilter.accept(f)) { animFiles.add(new Pair<String, File>(path, f)); } } Modified: trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java =================================================================== --- trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.io.GuiFileFilters; +import net.sf.gridarta.gui.utils.FileFilters; import net.sf.gridarta.model.anim.AnimationObjects; import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; @@ -169,7 +169,7 @@ } } } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (GuiFileFilters.arcFileFilter.accept(f)) { + if (FileFilters.arcFileFilter.accept(f)) { try { final FileInputStream fis = new FileInputStream(f); try { @@ -190,13 +190,13 @@ } catch (final IOException ex) { new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); } - } else if (GuiFileFilters.pngFileFilter.accept(f)) { + } else if (FileFilters.pngFileFilter.accept(f)) { if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); } - } else if (GuiFileFilters.faceFileFilter.accept(f)) { + } else if (FileFilters.faceFileFilter.accept(f)) { parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (GuiFileFilters.animFileFilter.accept(f)) { + } else if (FileFilters.animFileFilter.accept(f)) { animFiles.add(new Pair<String, File>(path, f)); } } Modified: trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java =================================================================== --- trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.io.GuiFileFilters; +import net.sf.gridarta.gui.utils.FileFilters; import net.sf.gridarta.model.anim.AnimationObjects; import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; @@ -170,7 +170,7 @@ } } } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (GuiFileFilters.arcFileFilter.accept(f)) { + if (FileFilters.arcFileFilter.accept(f)) { try { final FileInputStream fis = new FileInputStream(f); try { @@ -191,13 +191,13 @@ } catch (final IOException ex) { new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); } - } else if (GuiFileFilters.pngFileFilter.accept(f)) { + } else if (FileFilters.pngFileFilter.accept(f)) { if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); } - } else if (GuiFileFilters.faceFileFilter.accept(f)) { + } else if (FileFilters.faceFileFilter.accept(f)) { parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (GuiFileFilters.animFileFilter.accept(f)) { + } else if (FileFilters.animFileFilter.accept(f)) { animFiles.add(new Pair<String, File>(path, f)); } } Modified: trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -58,24 +58,4 @@ */ public static final FileFilter luaFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.lua"), ".lua")); - /** - * Swing FileFilter for .arc files. - */ - public static final FileFilter arcFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.arc"), ".arc")); - - /** - * Swing FileFilter for .anim files. - */ - public static final FileFilter animFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.anim"), ".anim")); - - /** - * Swing FileFilter for .face files. - */ - public static final FileFilter faceFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.face"), ".face")); - - /** - * Swing FileFilter for png graphics. - */ - public static final FileFilter pngFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.png"), ".png")); - } // class FileFilters Modified: trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -24,7 +24,7 @@ import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JOptionPane; -import net.sf.gridarta.gui.io.GuiFileFilters; +import net.sf.gridarta.gui.utils.FileFilters; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.map.maparchobject.MapArchObject; @@ -89,7 +89,7 @@ fileChooser.setMultiSelectionEnabled(false); fileChooser.setSelectedFile(file); // set a file filter for "*.png" files - fileChooser.setFileFilter(GuiFileFilters.pngFileFilter); + fileChooser.setFileFilter(FileFilters.pngFileFilter); FileChooserUtils.sanitizeCurrentDirectory(fileChooser); final int returnVal = fileChooser.showSaveDialog(component); Modified: trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -34,7 +34,7 @@ import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.WindowConstants; -import net.sf.gridarta.gui.io.GuiFileFilters; +import net.sf.gridarta.gui.utils.FileFilters; import net.sf.japi.swing.action.ActionBuilder; import net.sf.japi.swing.action.ActionBuilderFactory; import net.sf.japi.swing.action.ActionMethod; @@ -233,7 +233,7 @@ @ActionMethod public void zoomSave() throws IOException, OutOfMemoryError { final JFileChooser chooser = new JFileChooser(); - chooser.setFileFilter(GuiFileFilters.pngFileFilter); + chooser.setFileFilter(FileFilters.pngFileFilter); if (chooser.showSaveDialog(frame) == JFileChooser.APPROVE_OPTION) { final File file = chooser.getSelectedFile(); if (!file.exists() || ACTION_BUILDER.showQuestionDialog(this, "overwriteOtherFile", file)) { Deleted: trunk/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -1,85 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.gui.utils; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import javax.swing.filechooser.FileFilter; -import net.sf.japi.util.filter.file.AbstractFileFilter; - -/** - * A FileFilter that wraps another FileFilter and filters out CVS and .xvpics - * files. The description and other filtering are taken from the wrapped file - * filter. - * @author <a href="mailto:ch...@ri...">Christian Hujer</a> - */ -public class HideFileFilterProxy extends AbstractFileFilter { - - /** - * The other file filter. - */ - private final FileFilter other; - - /** - * The default rejected directory names. - */ - private static final Collection<String> REJECTED_DIRECTORY_NAMES = Arrays.asList("CVS"); - - /** - * The rejected directory names. - */ - private final Collection<String> rejectedDirectoryNames = new ArrayList<String>(); - - /** - * Create a HideFileFilterProxy. - * @param other FileFilter to wrap - */ - public HideFileFilterProxy(final FileFilter other) { - this.other = other; - rejectedDirectoryNames.addAll(REJECTED_DIRECTORY_NAMES); - } - - /** - * {@inheritDoc} Returns the description from the {@link #other} - * FileFilter. - */ - @Override - public String getDescription() { - return other.getDescription(); - } - - /** - * {@inheritDoc} First checks whether the file should be hidden, if not, - * checks the other FileFilter. - */ - @SuppressWarnings({ "ParameterNameDiffersFromOverriddenParameter" }) - @Override - public boolean accept(final File pathName) { - if (pathName.getName().startsWith(".")) { - return false; - } - // XXX suppression for Bug in IDEA - //noinspection RedundantCast - return !(pathName.isDirectory() && rejectedDirectoryNames.contains(pathName.getName())) && ((java.io.FileFilter) other).accept(pathName); - } - -} // class HideFileFilterProxy Deleted: trunk/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -1,109 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.gui.utils; - -import java.io.File; -import javax.swing.filechooser.FileFilter; -import net.sf.japi.util.filter.file.AbstractFileFilter; -import org.junit.Assert; -import org.junit.Test; - -/** - * Test for {@link HideFileFilterProxy}. - * @author <a href="mailto:ch...@ri...">Christian Hujer</a> - */ -public class HideFileFilterProxyTest { - - /** - * Object Under Test: A HideFileFilterProxy. - */ - private FileFilter oUT; - - /** - * Test case for {@link HideFileFilterProxy#HideFileFilterProxy(FileFilter)}. - */ - @Test - public void testHideFileFilterProxy() { - oUT = new HideFileFilterProxy(new MockFileFilter(true)); - } - - /** - * Test case for {@link HideFileFilterProxy#getDescription()}. - */ - @Test - public void testGetDescription() { - oUT = new HideFileFilterProxy(new MockFileFilter(true)); - Assert.assertEquals("MOCK", oUT.getDescription()); - } - - /** - * Test case for {@link HideFileFilterProxy#accept(File)}. - */ - @Test - public void testAccept() { - oUT = new HideFileFilterProxy(new MockFileFilter(true)); - Assert.assertTrue(oUT.accept(new File("foobar"))); - //Assert.assertFalse(oUT.accept(new File("CVS"))); - Assert.assertFalse(oUT.accept(new File(".svn"))); - oUT = new HideFileFilterProxy(new MockFileFilter(false)); - Assert.assertFalse(oUT.accept(new File("foobar"))); - //Assert.assertFalse(oUT.accept(new File("CVS"))); - Assert.assertFalse(oUT.accept(new File(".svn"))); - } - - /** - * Mock File Filter that's used as parent file filter for the - * HideFileFilterProxy under test. - * @author <a href="mailto:ch...@ri...">Christian Hujer</a> - */ - private static class MockFileFilter extends AbstractFileFilter { - - /** - * Whether this file filter will accept or reject files. - */ - private final boolean accepts; - - /** - * Create a MockFileFilter. - * @param accepts Whether this file filter will accept or reject files. - */ - private MockFileFilter(final boolean accepts) { - this.accepts = accepts; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean accept(final File f) { - return accepts; - } - - /** - * {@inheritDoc} - */ - @Override - public String getDescription() { - return "MOCK"; - } - - } // class MockFileFilter - -} // class HideFileFilterProxyTest Added: trunk/utils/src/app/net/sf/gridarta/gui/utils/FileFilters.java =================================================================== --- trunk/utils/src/app/net/sf/gridarta/gui/utils/FileFilters.java (rev 0) +++ trunk/utils/src/app/net/sf/gridarta/gui/utils/FileFilters.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -0,0 +1,64 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.gui.utils; + +import javax.swing.filechooser.FileFilter; +import net.sf.japi.swing.action.ActionBuilder; +import net.sf.japi.swing.action.ActionBuilderFactory; +import net.sf.japi.util.filter.file.EndingFileFilter; + +/** + * Utility class defining {@link FileFilter}s. + * @author Andreas Kirschbaum + */ +public class FileFilters { + + /** + * Action Builder. + */ + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta"); + + /** + * Private constructor to prevent instantiation. + */ + private FileFilters() { + } + + /** + * Swing FileFilter for .arc files. + */ + public static final FileFilter arcFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.arc"), ".arc")); + + /** + * Swing FileFilter for .anim files. + */ + public static final FileFilter animFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.anim"), ".anim")); + + /** + * Swing FileFilter for .face files. + */ + public static final FileFilter faceFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.face"), ".face")); + + /** + * Swing FileFilter for png graphics. + */ + public static final FileFilter pngFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.png"), ".png")); + +} // class FileFilters Property changes on: trunk/utils/src/app/net/sf/gridarta/gui/utils/FileFilters.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Copied: trunk/utils/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java (from rev 8335, trunk/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java) =================================================================== --- trunk/utils/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java (rev 0) +++ trunk/utils/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -0,0 +1,85 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.gui.utils; + +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import javax.swing.filechooser.FileFilter; +import net.sf.japi.util.filter.file.AbstractFileFilter; + +/** + * A FileFilter that wraps another FileFilter and filters out CVS and .xvpics + * files. The description and other filtering are taken from the wrapped file + * filter. + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + */ +public class HideFileFilterProxy extends AbstractFileFilter { + + /** + * The other file filter. + */ + private final FileFilter other; + + /** + * The default rejected directory names. + */ + private static final Collection<String> REJECTED_DIRECTORY_NAMES = Arrays.asList("CVS"); + + /** + * The rejected directory names. + */ + private final Collection<String> rejectedDirectoryNames = new ArrayList<String>(); + + /** + * Create a HideFileFilterProxy. + * @param other FileFilter to wrap + */ + public HideFileFilterProxy(final FileFilter other) { + this.other = other; + rejectedDirectoryNames.addAll(REJECTED_DIRECTORY_NAMES); + } + + /** + * {@inheritDoc} Returns the description from the {@link #other} + * FileFilter. + */ + @Override + public String getDescription() { + return other.getDescription(); + } + + /** + * {@inheritDoc} First checks whether the file should be hidden, if not, + * checks the other FileFilter. + */ + @SuppressWarnings({ "ParameterNameDiffersFromOverriddenParameter" }) + @Override + public boolean accept(final File pathName) { + if (pathName.getName().startsWith(".")) { + return false; + } + // XXX suppression for Bug in IDEA + //noinspection RedundantCast + return !(pathName.isDirectory() && rejectedDirectoryNames.contains(pathName.getName())) && ((java.io.FileFilter) other).accept(pathName); + } + +} // class HideFileFilterProxy Property changes on: trunk/utils/src/app/net/sf/gridarta/gui/utils/HideFileFilterProxy.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Copied: trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java (from rev 8335, trunk/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java) =================================================================== --- trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java (rev 0) +++ trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java 2010-06-10 08:11:15 UTC (rev 8338) @@ -0,0 +1,109 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.gui.utils; + +import java.io.File; +import javax.swing.filechooser.FileFilter; +import net.sf.japi.util.filter.file.AbstractFileFilter; +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for {@link HideFileFilterProxy}. + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + */ +public class HideFileFilterProxyTest { + + /** + * Object Under Test: A HideFileFilterProxy. + */ + private FileFilter oUT; + + /** + * Test case for {@link HideFileFilterProxy#HideFileFilterProxy(FileFilter)}. + */ + @Test + public void testHideFileFilterProxy() { + oUT = new HideFileFilterProxy(new MockFileFilter(true)); + } + + /** + * Test case for {@link HideFileFilterProxy#getDescription()}. + */ + @Test + public void testGetDescription() { + oUT = new HideFileFilterProxy(new MockFileFilter(true)); + Assert.assertEquals("MOCK", oUT.getDescription()); + } + + /** + * Test case for {@link HideFileFilterProxy#accept(File)}. + */ + @Test + public void testAccept() { + oUT = new HideFileFilterProxy(new MockFileFilter(true)); + Assert.assertTrue(oUT.accept(new File("foobar"))); + //Assert.assertFalse(oUT.accept(new File("CVS"))); + Assert.assertFalse(oUT.accept(new File(".svn"))); + oUT = new HideFileFilterProxy(new MockFileFilter(false)); + Assert.assertFalse(oUT.accept(new File("foobar"))); + //Assert.assertFalse(oUT.accept(new File("CVS"))); + Assert.assertFalse(oUT.accept(new File(".svn"))); + } + + /** + * Mock File Filter that's used as parent file filter for the + * HideFileFilterProxy under test. + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + */ + private static class MockFileFilter extends AbstractFileFilter { + + /** + * Whether this file filter will accept or reject files. + */ + private final boolean accepts; + + /** + * Create a MockFileFilter. + * @param accepts Whether this file filter will accept or reject files. + */ + private MockFileFilter(final boolean accepts) { + this.accepts = accepts; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean accept(final File f) { + return accepts; + } + + /** + * {@inheritDoc} + */ + @Override + public String getDescription() { + return "MOCK"; + } + + } // class MockFileFilter + +} // class HideFileFilterProxyTest Property changes on: trunk/utils/src/test/net/sf/gridarta/gui/utils/HideFileFilterProxyTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Modified: trunk/utils.iml =================================================================== --- trunk/utils.iml 2010-06-10 07:57:21 UTC (rev 8337) +++ trunk/utils.iml 2010-06-10 08:11:15 UTC (rev 8338) @@ -43,6 +43,15 @@ <SOURCES /> </library> </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/japi-lib-util-trunk-1379.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> </component> </module> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 07:57:29
|
Revision: 8337 http://gridarta.svn.sourceforge.net/gridarta/?rev=8337&view=rev Author: akirschbaum Date: 2010-06-10 07:57:21 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Rename FileFilters into GuiFileFilters. Modified Paths: -------------- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java trunk/src/app/net/sf/gridarta/maincontrol/DefaultMainControl.java trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java Added Paths: ----------- trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java Removed Paths: ------------- trunk/src/app/net/sf/gridarta/gui/io/FileFilters.java Modified: trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -27,7 +27,7 @@ import java.util.regex.Pattern; import javax.swing.JOptionPane; import net.sf.gridarta.gui.filter.FilterControl; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.gui.map.mapview.DefaultMapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewsManager; @@ -210,7 +210,7 @@ @NotNull @Override public DefaultMainControl<GameObject, MapArchObject, Archetype> newMainControl(final boolean forceReadFromFiles, @NotNull final ErrorView errorView, @NotNull final GlobalSettings globalSettings, @NotNull final ConfigSourceFactory configSourceFactory, @NotNull final PathManager pathManager, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory, @NotNull final ArchetypeTypeSet archetypeTypeSet, @NotNull final net.sf.gridarta.model.archetype.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype> archetypeChooserModel, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final AbstractMapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ScriptModel<GameObject, MapArchObject, Archetype> scriptModel, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final ScriptedEventEditor<GameObject, MapArchObject, Archetype> scriptedEventEditor, @NotNull final AbstractResources<GameObject, MapArchObject, Archetype> resources, @NotNull final Spells<NumberSpell> numberSpells, @NotNull final Spells<GameObjectSpell<GameObject, MapArchObject, Archetype>> gameObjectSpells, @NotNull final AttributeRangeChecker<GameObject, MapArchObject, Archetype> attributeRangeChecker, @NotNull final PluginParameterFactory<GameObject, MapArchObject, Archetype> pluginParameterFactory, @NotNull final ValidatorPreferences validatorPreferences) { - return new DefaultMainControl<GameObject, MapArchObject, Archetype>(FileFilters.pythonFileFilter, ".py", "Python", 0, IGUIConstants.SPELL_FILE, IGUIConstants.SCRIPTS_DIR, errorView, this, forceReadFromFiles, globalSettings, configSourceFactory, pathManager, gameObjectMatchers, gameObjectFactory, archetypeTypeSet, archetypeSet, archetypeChooserModel, autojoinLists, mapManager, scriptModel, validators, scriptedEventEditor, resources, numberSpells, gameObjectSpells, attributeRangeChecker, pluginParameterFactory, validatorPreferences); + return new DefaultMainControl<GameObject, MapArchObject, Archetype>(GuiFileFilters.pythonFileFilter, ".py", "Python", 0, IGUIConstants.SPELL_FILE, IGUIConstants.SCRIPTS_DIR, errorView, this, forceReadFromFiles, globalSettings, configSourceFactory, pathManager, gameObjectMatchers, gameObjectFactory, archetypeTypeSet, archetypeSet, archetypeChooserModel, autojoinLists, mapManager, scriptModel, validators, scriptedEventEditor, resources, numberSpells, gameObjectSpells, attributeRangeChecker, pluginParameterFactory, validatorPreferences); } /** @@ -539,7 +539,7 @@ @NotNull @Override public GUIMainControl<GameObject, MapArchObject, Archetype> createGUIMainControl(@NotNull final DefaultMainControl<GameObject, MapArchObject, Archetype> mainControl, @NotNull final ErrorView errorView, @NotNull final GUIUtils guiUtils, @NotNull final ConfigSourceFactory configSourceFactory, @NotNull final RendererFactory<GameObject, MapArchObject, Archetype> rendererFactory, @NotNull final FilterControl<GameObject, MapArchObject, Archetype> filterControl, @NotNull final ScriptExecutor<GameObject, MapArchObject, Archetype> scriptExecutor, @NotNull final ScriptParameters scriptParameters, @NotNull final AbstractMapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final MapManager<GameObject, MapArchObject, Archetype> pickmapManager, @NotNull final MapControlFactory<GameObject, MapArchObject, Archetype> mapControlFactory, @NotNull final net.sf.gridarta.model.archetype.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final FaceObjects faceObjects, @NotNull final GlobalSettings globalSettings, @NotNull final MapViewSettings mapViewSettings, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final PathManager pathManager, @NotNull final InsertionMode<GameObject, MapArchObject, Archetype> topmostInsertionMode, @NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory, @NotNull final SystemIcons systemIcons, @NotNull final ArchetypeTypeSet archetypeTypeSet, @NotNull final MapArchObjectFactory<MapArchObject> mapArchObjectFactory, @NotNull final DefaultMapReaderFactory<GameObject, MapArchObject, Archetype> mapReaderFactory, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final ScriptModel<GameObject, MapArchObject, Archetype> scriptModel, @NotNull final AnimationObjects animationObjects, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype> archetypeChooserModel, @NotNull final ScriptedEventEditor<GameObject, MapArchObject, Archetype> scriptedEventEditor, @NotNull final AbstractResources<GameObject, MapArchObject, Archetype> resources, @NotNull final Spells<NumberSpell> numberSpells, @NotNull final Spells<GameObjectSpell<GameObject, MapArchObject, Archetype>> gameObjectSpells, @NotNull final AttributeRangeChecker<GameObject, MapArchObject, Archetype> attributeRangeChecker, @NotNull final PluginParameterFactory<GameObject, MapArchObject, Archetype> pluginParameterFactory) { - return mainControl.createGUIMainControl(FileFilters.pythonFileFilter, ".py", true, mapManager, pickmapManager, archetypeSet, mapControlFactory, guiUtils.getResourceIcon(IGUIConstants.TILE_NORTH), "AtrinikEditor.jar", new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_ALTAR_TRIGGER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_SPAWN_POINT, Archetype.TYPE_CONTAINER, }, PREFERENCES_VALIDATOR_AUTO_DEFAULT, IGUIConstants.SPELL_FILE, this, errorView, new SubDirectoryCacheFiles(".dedit"), configSourceFactory, rendererFactory, filterControl, scriptExecutor, scriptParameters, faceObjects, globalSettings, mapViewSettings, faceObjectProviders, pathManager, topmostInsertionMode, gameObjectFactory, systemIcons, -1, archetypeTypeSet, mapArchObjectFactory, mapReaderFactory, validators, gameObjectMatchers, IGUIConstants.SCRIPTS_DIR, scriptModel, animationObjects, archetypeChooserModel, false, scriptedEventEditor, new Direction[] { Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH, }, resources, gameObjectSpells, numberSpells, attributeRangeChecker, pluginParameterFactory); + return mainControl.createGUIMainControl(GuiFileFilters.pythonFileFilter, ".py", true, mapManager, pickmapManager, archetypeSet, mapControlFactory, guiUtils.getResourceIcon(IGUIConstants.TILE_NORTH), "AtrinikEditor.jar", new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_ALTAR_TRIGGER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_SPAWN_POINT, Archetype.TYPE_CONTAINER, }, PREFERENCES_VALIDATOR_AUTO_DEFAULT, IGUIConstants.SPELL_FILE, this, errorView, new SubDirectoryCacheFiles(".dedit"), configSourceFactory, rendererFactory, filterControl, scriptExecutor, scriptParameters, faceObjects, globalSettings, mapViewSettings, faceObjectProviders, pathManager, topmostInsertionMode, gameObjectFactory, systemIcons, -1, archetypeTypeSet, mapArchObjectFactory, mapReaderFactory, validators, gameObjectMatchers, IGUIConstants.SCRIPTS_DIR, scriptModel, animationObjects, archetypeChooserModel, false, scriptedEventEditor, new Direction[] { Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH, }, resources, gameObjectSpells, numberSpells, attributeRangeChecker, pluginParameterFactory); } /** Modified: trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java =================================================================== --- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.model.anim.AnimationObjects; import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; @@ -170,7 +170,7 @@ } } } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (FileFilters.arcFileFilter.accept(f)) { + if (GuiFileFilters.arcFileFilter.accept(f)) { try { final FileInputStream fis = new FileInputStream(f); try { @@ -191,13 +191,13 @@ } catch (final IOException ex) { new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); } - } else if (FileFilters.pngFileFilter.accept(f)) { + } else if (GuiFileFilters.pngFileFilter.accept(f)) { if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); } - } else if (FileFilters.faceFileFilter.accept(f)) { + } else if (GuiFileFilters.faceFileFilter.accept(f)) { parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (FileFilters.animFileFilter.accept(f)) { + } else if (GuiFileFilters.animFileFilter.accept(f)) { animFiles.add(new Pair<String, File>(path, f)); } } Modified: trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -22,7 +22,7 @@ import java.awt.Component; import java.util.regex.Pattern; import net.sf.gridarta.gui.filter.FilterControl; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.gui.map.mapview.DefaultMapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewsManager; @@ -160,7 +160,7 @@ @NotNull @Override public DefaultMainControl<GameObject, MapArchObject, Archetype> newMainControl(final boolean forceReadFromFiles, @NotNull final ErrorView errorView, @NotNull final GlobalSettings globalSettings, @NotNull final ConfigSourceFactory configSourceFactory, @NotNull final PathManager pathManager, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory, @NotNull final ArchetypeTypeSet archetypeTypeSet, @NotNull final net.sf.gridarta.model.archetype.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype> archetypeChooserModel, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final AbstractMapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ScriptModel<GameObject, MapArchObject, Archetype> scriptModel, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final ScriptedEventEditor<GameObject, MapArchObject, Archetype> scriptedEventEditor, @NotNull final AbstractResources<GameObject, MapArchObject, Archetype> resources, @NotNull final Spells<NumberSpell> numberSpells, @NotNull final Spells<GameObjectSpell<GameObject, MapArchObject, Archetype>> gameObjectSpells, @NotNull final AttributeRangeChecker<GameObject, MapArchObject, Archetype> attributeRangeChecker, @NotNull final PluginParameterFactory<GameObject, MapArchObject, Archetype> pluginParameterFactory, @NotNull final ValidatorPreferences validatorPreferences) { - return new DefaultMainControl<GameObject, MapArchObject, Archetype>(FileFilters.pythonFileFilter, ".py", "Python", Archetype.TYPE_SPELL, null, IGUIConstants.SCRIPTS_DIR, errorView, this, false, globalSettings, configSourceFactory, pathManager, gameObjectMatchers, gameObjectFactory, archetypeTypeSet, archetypeSet, archetypeChooserModel, autojoinLists, mapManager, scriptModel, validators, scriptedEventEditor, resources, numberSpells, gameObjectSpells, attributeRangeChecker, pluginParameterFactory, validatorPreferences); + return new DefaultMainControl<GameObject, MapArchObject, Archetype>(GuiFileFilters.pythonFileFilter, ".py", "Python", Archetype.TYPE_SPELL, null, IGUIConstants.SCRIPTS_DIR, errorView, this, false, globalSettings, configSourceFactory, pathManager, gameObjectMatchers, gameObjectFactory, archetypeTypeSet, archetypeSet, archetypeChooserModel, autojoinLists, mapManager, scriptModel, validators, scriptedEventEditor, resources, numberSpells, gameObjectSpells, attributeRangeChecker, pluginParameterFactory, validatorPreferences); } /** @@ -406,7 +406,7 @@ @NotNull @Override public GUIMainControl<GameObject, MapArchObject, Archetype> createGUIMainControl(@NotNull final DefaultMainControl<GameObject, MapArchObject, Archetype> mainControl, @NotNull final ErrorView errorView, @NotNull final GUIUtils guiUtils, @NotNull final ConfigSourceFactory configSourceFactory, @NotNull final RendererFactory<GameObject, MapArchObject, Archetype> rendererFactory, @NotNull final FilterControl<GameObject, MapArchObject, Archetype> filterControl, @NotNull final ScriptExecutor<GameObject, MapArchObject, Archetype> scriptExecutor, @NotNull final ScriptParameters scriptParameters, @NotNull final AbstractMapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final MapManager<GameObject, MapArchObject, Archetype> pickmapManager, @NotNull final MapControlFactory<GameObject, MapArchObject, Archetype> mapControlFactory, @NotNull final net.sf.gridarta.model.archetype.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final FaceObjects faceObjects, @NotNull final GlobalSettings globalSettings, @NotNull final MapViewSettings mapViewSettings, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final PathManager pathManager, @NotNull final InsertionMode<GameObject, MapArchObject, Archetype> topmostInsertionMode, @NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory, @NotNull final SystemIcons systemIcons, @NotNull final ArchetypeTypeSet archetypeTypeSet, @NotNull final MapArchObjectFactory<MapArchObject> mapArchObjectFactory, @NotNull final DefaultMapReaderFactory<GameObject, MapArchObject, Archetype> mapReaderFactory, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final ScriptModel<GameObject, MapArchObject, Archetype> scriptModel, @NotNull final AnimationObjects animationObjects, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype> archetypeChooserModel, @NotNull final ScriptedEventEditor<GameObject, MapArchObject, Archetype> scriptedEventEditor, @NotNull final AbstractResources<GameObject, MapArchObject, Archetype> resources, @NotNull final Spells<NumberSpell> numberSpells, @NotNull final Spells<GameObjectSpell<GameObject, MapArchObject, Archetype>> gameObjectSpells, @NotNull final AttributeRangeChecker<GameObject, MapArchObject, Archetype> attributeRangeChecker, @NotNull final PluginParameterFactory<GameObject, MapArchObject, Archetype> pluginParameterFactory) { - return mainControl.createGUIMainControl(FileFilters.pythonFileFilter, ".py", false, mapManager, pickmapManager, archetypeSet, mapControlFactory, null, "CrossfireEditor.jar", new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_TRIGGER_ALTAR, Archetype.TYPE_DETECTOR, Archetype.TYPE_TRIGGER_MARKER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_CONTAINER, }, PREFERENCES_VALIDATOR_AUTO_DEFAULT, null, this, errorView, new DirectoryCacheFiles(ConfigFileUtils.getHomeFile("thumbnails"), ".png"), configSourceFactory, rendererFactory, filterControl, scriptExecutor, scriptParameters, faceObjects, globalSettings, mapViewSettings, faceObjectProviders, pathManager, topmostInsertionMode, gameObjectFactory, systemIcons, 0, archetypeTypeSet, mapArchObjectFactory, mapReaderFactory, validators, gameObjectMatchers, IGUIConstants.SCRIPTS_DIR, scriptModel, animationObjects, archetypeChooserModel, true, scriptedEventEditor, new Direction[] { Direction.NORTH, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, }, resources, gameObjectSpells, numberSpells, attributeRangeChecker, pluginParameterFactory); + return mainControl.createGUIMainControl(GuiFileFilters.pythonFileFilter, ".py", false, mapManager, pickmapManager, archetypeSet, mapControlFactory, null, "CrossfireEditor.jar", new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_TRIGGER_ALTAR, Archetype.TYPE_DETECTOR, Archetype.TYPE_TRIGGER_MARKER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_CONTAINER, }, PREFERENCES_VALIDATOR_AUTO_DEFAULT, null, this, errorView, new DirectoryCacheFiles(ConfigFileUtils.getHomeFile("thumbnails"), ".png"), configSourceFactory, rendererFactory, filterControl, scriptExecutor, scriptParameters, faceObjects, globalSettings, mapViewSettings, faceObjectProviders, pathManager, topmostInsertionMode, gameObjectFactory, systemIcons, 0, archetypeTypeSet, mapArchObjectFactory, mapReaderFactory, validators, gameObjectMatchers, IGUIConstants.SCRIPTS_DIR, scriptModel, animationObjects, archetypeChooserModel, true, scriptedEventEditor, new Direction[] { Direction.NORTH, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, }, resources, gameObjectSpells, numberSpells, attributeRangeChecker, pluginParameterFactory); } /** Modified: trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java =================================================================== --- trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/crossfire/src/app/net/sf/gridarta/var/crossfire/resource/FilesResourcesReader.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.model.anim.AnimationObjects; import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; @@ -169,7 +169,7 @@ } } } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (FileFilters.arcFileFilter.accept(f)) { + if (GuiFileFilters.arcFileFilter.accept(f)) { try { final FileInputStream fis = new FileInputStream(f); try { @@ -190,13 +190,13 @@ } catch (final IOException ex) { new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); } - } else if (FileFilters.pngFileFilter.accept(f)) { + } else if (GuiFileFilters.pngFileFilter.accept(f)) { if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); } - } else if (FileFilters.faceFileFilter.accept(f)) { + } else if (GuiFileFilters.faceFileFilter.accept(f)) { parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (FileFilters.animFileFilter.accept(f)) { + } else if (GuiFileFilters.animFileFilter.accept(f)) { animFiles.add(new Pair<String, File>(path, f)); } } Modified: trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -27,7 +27,7 @@ import java.util.regex.Pattern; import javax.swing.JOptionPane; import net.sf.gridarta.gui.filter.FilterControl; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.gui.map.mapview.DefaultMapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewsManager; @@ -211,7 +211,7 @@ @NotNull @Override public DefaultMainControl<GameObject, MapArchObject, Archetype> newMainControl(final boolean forceReadFromFiles, @NotNull final ErrorView errorView, @NotNull final GlobalSettings globalSettings, @NotNull final ConfigSourceFactory configSourceFactory, @NotNull final PathManager pathManager, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory, @NotNull final ArchetypeTypeSet archetypeTypeSet, @NotNull final net.sf.gridarta.model.archetype.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype> archetypeChooserModel, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final AbstractMapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ScriptModel<GameObject, MapArchObject, Archetype> scriptModel, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final ScriptedEventEditor<GameObject, MapArchObject, Archetype> scriptedEventEditor, @NotNull final AbstractResources<GameObject, MapArchObject, Archetype> resources, @NotNull final Spells<NumberSpell> numberSpells, @NotNull final Spells<GameObjectSpell<GameObject, MapArchObject, Archetype>> gameObjectSpells, @NotNull final AttributeRangeChecker<GameObject, MapArchObject, Archetype> attributeRangeChecker, @NotNull final PluginParameterFactory<GameObject, MapArchObject, Archetype> pluginParameterFactory, @NotNull final ValidatorPreferences validatorPreferences) { - return new DefaultMainControl<GameObject, MapArchObject, Archetype>(FileFilters.luaFileFilter, ".lua", "Lua", 0, IGUIConstants.SPELL_FILE, IGUIConstants.SCRIPTS_DIR, errorView, this, forceReadFromFiles, globalSettings, configSourceFactory, pathManager, gameObjectMatchers, gameObjectFactory, archetypeTypeSet, archetypeSet, archetypeChooserModel, autojoinLists, mapManager, scriptModel, validators, scriptedEventEditor, resources, numberSpells, gameObjectSpells, attributeRangeChecker, pluginParameterFactory, validatorPreferences); + return new DefaultMainControl<GameObject, MapArchObject, Archetype>(GuiFileFilters.luaFileFilter, ".lua", "Lua", 0, IGUIConstants.SPELL_FILE, IGUIConstants.SCRIPTS_DIR, errorView, this, forceReadFromFiles, globalSettings, configSourceFactory, pathManager, gameObjectMatchers, gameObjectFactory, archetypeTypeSet, archetypeSet, archetypeChooserModel, autojoinLists, mapManager, scriptModel, validators, scriptedEventEditor, resources, numberSpells, gameObjectSpells, attributeRangeChecker, pluginParameterFactory, validatorPreferences); } /** @@ -540,7 +540,7 @@ @NotNull @Override public GUIMainControl<GameObject, MapArchObject, Archetype> createGUIMainControl(@NotNull final DefaultMainControl<GameObject, MapArchObject, Archetype> mainControl, @NotNull final ErrorView errorView, @NotNull final GUIUtils guiUtils, @NotNull final ConfigSourceFactory configSourceFactory, @NotNull final RendererFactory<GameObject, MapArchObject, Archetype> rendererFactory, @NotNull final FilterControl<GameObject, MapArchObject, Archetype> filterControl, @NotNull final ScriptExecutor<GameObject, MapArchObject, Archetype> scriptExecutor, @NotNull final ScriptParameters scriptParameters, @NotNull final AbstractMapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final MapManager<GameObject, MapArchObject, Archetype> pickmapManager, @NotNull final MapControlFactory<GameObject, MapArchObject, Archetype> mapControlFactory, @NotNull final net.sf.gridarta.model.archetype.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final FaceObjects faceObjects, @NotNull final GlobalSettings globalSettings, @NotNull final MapViewSettings mapViewSettings, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final PathManager pathManager, @NotNull final InsertionMode<GameObject, MapArchObject, Archetype> topmostInsertionMode, @NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory, @NotNull final SystemIcons systemIcons, @NotNull final ArchetypeTypeSet archetypeTypeSet, @NotNull final MapArchObjectFactory<MapArchObject> mapArchObjectFactory, @NotNull final DefaultMapReaderFactory<GameObject, MapArchObject, Archetype> mapReaderFactory, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final ScriptModel<GameObject, MapArchObject, Archetype> scriptModel, @NotNull final AnimationObjects animationObjects, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype> archetypeChooserModel, @NotNull final ScriptedEventEditor<GameObject, MapArchObject, Archetype> scriptedEventEditor, @NotNull final AbstractResources<GameObject, MapArchObject, Archetype> resources, @NotNull final Spells<NumberSpell> numberSpells, @NotNull final Spells<GameObjectSpell<GameObject, MapArchObject, Archetype>> gameObjectSpells, @NotNull final AttributeRangeChecker<GameObject, MapArchObject, Archetype> attributeRangeChecker, @NotNull final PluginParameterFactory<GameObject, MapArchObject, Archetype> pluginParameterFactory) { - return mainControl.createGUIMainControl(FileFilters.luaFileFilter, ".lua", true, mapManager, pickmapManager, archetypeSet, mapControlFactory, guiUtils.getResourceIcon(IGUIConstants.TILE_NORTH), "DaimoninEditor.jar", new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_ALTAR_TRIGGER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_SPAWN_POINT, Archetype.TYPE_CONTAINER, }, PREFERENCES_VALIDATOR_AUTO_DEFAULT, IGUIConstants.SPELL_FILE, this, errorView, new SubDirectoryCacheFiles(".dedit"), configSourceFactory, rendererFactory, filterControl, scriptExecutor, scriptParameters, faceObjects, globalSettings, mapViewSettings, faceObjectProviders, pathManager, topmostInsertionMode, gameObjectFactory, systemIcons, -1, archetypeTypeSet, mapArchObjectFactory, mapReaderFactory, validators, gameObjectMatchers, IGUIConstants.SCRIPTS_DIR, scriptModel, animationObjects, archetypeChooserModel, false, scriptedEventEditor, new Direction[] { Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH, }, resources, gameObjectSpells, numberSpells, attributeRangeChecker, pluginParameterFactory); + return mainControl.createGUIMainControl(GuiFileFilters.luaFileFilter, ".lua", true, mapManager, pickmapManager, archetypeSet, mapControlFactory, guiUtils.getResourceIcon(IGUIConstants.TILE_NORTH), "DaimoninEditor.jar", new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_ALTAR_TRIGGER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_SPAWN_POINT, Archetype.TYPE_CONTAINER, }, PREFERENCES_VALIDATOR_AUTO_DEFAULT, IGUIConstants.SPELL_FILE, this, errorView, new SubDirectoryCacheFiles(".dedit"), configSourceFactory, rendererFactory, filterControl, scriptExecutor, scriptParameters, faceObjects, globalSettings, mapViewSettings, faceObjectProviders, pathManager, topmostInsertionMode, gameObjectFactory, systemIcons, -1, archetypeTypeSet, mapArchObjectFactory, mapReaderFactory, validators, gameObjectMatchers, IGUIConstants.SCRIPTS_DIR, scriptModel, animationObjects, archetypeChooserModel, false, scriptedEventEditor, new Direction[] { Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH, }, resources, gameObjectSpells, numberSpells, attributeRangeChecker, pluginParameterFactory); } /** Modified: trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java =================================================================== --- trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.model.anim.AnimationObjects; import net.sf.gridarta.model.anim.AnimationParseException; import net.sf.gridarta.model.archetype.AbstractArchetypeParser; @@ -170,7 +170,7 @@ } } } else if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (FileFilters.arcFileFilter.accept(f)) { + if (GuiFileFilters.arcFileFilter.accept(f)) { try { final FileInputStream fis = new FileInputStream(f); try { @@ -191,13 +191,13 @@ } catch (final IOException ex) { new ErrorViewCollector(errorView, f).addWarning(ErrorViewCategory.ARCHETYPE_FILE_INVALID, ex.getMessage()); } - } else if (FileFilters.pngFileFilter.accept(f)) { + } else if (GuiFileFilters.pngFileFilter.accept(f)) { if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { addPNGFace(f.getAbsolutePath(), path, name, errorView, archFaceProvider); } - } else if (FileFilters.faceFileFilter.accept(f)) { + } else if (GuiFileFilters.faceFileFilter.accept(f)) { parseDefFace(errorView, f.getAbsolutePath(), path); - } else if (FileFilters.animFileFilter.accept(f)) { + } else if (GuiFileFilters.animFileFilter.accept(f)) { animFiles.add(new Pair<String, File>(path, f)); } } Deleted: trunk/src/app/net/sf/gridarta/gui/io/FileFilters.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/io/FileFilters.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/src/app/net/sf/gridarta/gui/io/FileFilters.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -1,81 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.gui.io; - -import javax.swing.filechooser.FileFilter; -import net.sf.gridarta.gui.utils.HideFileFilterProxy; -import net.sf.gridarta.gui.utils.MapFileFilter; -import net.sf.japi.swing.action.ActionBuilder; -import net.sf.japi.swing.action.ActionBuilderFactory; -import net.sf.japi.util.filter.file.EndingFileFilter; - -/** - * Utility class defining {@link FileFilter}s. - * @author Andreas Kirschbaum - */ -public class FileFilters { - - /** - * Action Builder. - */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta"); - - /** - * Private constructor to prevent instantiation. - */ - private FileFilters() { - } - - /** - * Swing FileFilter for map files. - */ - public static final FileFilter mapFileFilter = new HideFileFilterProxy(new MapFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.maps"), ".lua", ".py", ".txt", ".text")); - - /** - * Swing FileFilter for Python scripts. - */ - public static final FileFilter pythonFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.python"), ".py")); - - /** - * Swing FileFilter for Lua scripts. - */ - public static final FileFilter luaFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.lua"), ".lua")); - - /** - * Swing FileFilter for .arc files. - */ - public static final FileFilter arcFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.arc"), ".arc")); - - /** - * Swing FileFilter for .anim files. - */ - public static final FileFilter animFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.anim"), ".anim")); - - /** - * Swing FileFilter for .face files. - */ - public static final FileFilter faceFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.face"), ".face")); - - /** - * Swing FileFilter for png graphics. - */ - public static final FileFilter pngFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.png"), ".png")); - -} // class FileFilters Copied: trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java (from rev 8335, trunk/src/app/net/sf/gridarta/gui/io/FileFilters.java) =================================================================== --- trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java (rev 0) +++ trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -0,0 +1,81 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.gui.io; + +import javax.swing.filechooser.FileFilter; +import net.sf.gridarta.gui.utils.HideFileFilterProxy; +import net.sf.gridarta.gui.utils.MapFileFilter; +import net.sf.japi.swing.action.ActionBuilder; +import net.sf.japi.swing.action.ActionBuilderFactory; +import net.sf.japi.util.filter.file.EndingFileFilter; + +/** + * Utility class defining {@link FileFilter}s. + * @author Andreas Kirschbaum + */ +public class GuiFileFilters { + + /** + * Action Builder. + */ + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta"); + + /** + * Private constructor to prevent instantiation. + */ + private GuiFileFilters() { + } + + /** + * Swing FileFilter for map files. + */ + public static final FileFilter mapFileFilter = new HideFileFilterProxy(new MapFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.maps"), ".lua", ".py", ".txt", ".text")); + + /** + * Swing FileFilter for Python scripts. + */ + public static final FileFilter pythonFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.python"), ".py")); + + /** + * Swing FileFilter for Lua scripts. + */ + public static final FileFilter luaFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.lua"), ".lua")); + + /** + * Swing FileFilter for .arc files. + */ + public static final FileFilter arcFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.arc"), ".arc")); + + /** + * Swing FileFilter for .anim files. + */ + public static final FileFilter animFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.anim"), ".anim")); + + /** + * Swing FileFilter for .face files. + */ + public static final FileFilter faceFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.face"), ".face")); + + /** + * Swing FileFilter for png graphics. + */ + public static final FileFilter pngFileFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_BUILDER.getString("fileDialog.filter.png"), ".png")); + +} // class FileFilters Property changes on: trunk/src/app/net/sf/gridarta/gui/io/GuiFileFilters.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Modified: trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/src/app/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -24,7 +24,7 @@ import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JOptionPane; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.map.maparchobject.MapArchObject; @@ -89,7 +89,7 @@ fileChooser.setMultiSelectionEnabled(false); fileChooser.setSelectedFile(file); // set a file filter for "*.png" files - fileChooser.setFileFilter(FileFilters.pngFileFilter); + fileChooser.setFileFilter(GuiFileFilters.pngFileFilter); FileChooserUtils.sanitizeCurrentDirectory(fileChooser); final int returnVal = fileChooser.showSaveDialog(component); Modified: trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/src/app/net/sf/gridarta/gui/misc/MapPreview.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -34,7 +34,7 @@ import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.WindowConstants; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.japi.swing.action.ActionBuilder; import net.sf.japi.swing.action.ActionBuilderFactory; import net.sf.japi.swing.action.ActionMethod; @@ -233,7 +233,7 @@ @ActionMethod public void zoomSave() throws IOException, OutOfMemoryError { final JFileChooser chooser = new JFileChooser(); - chooser.setFileFilter(FileFilters.pngFileFilter); + chooser.setFileFilter(GuiFileFilters.pngFileFilter); if (chooser.showSaveDialog(frame) == JFileChooser.APPROVE_OPTION) { final File file = chooser.getSelectedFile(); if (!file.exists() || ACTION_BUILDER.showQuestionDialog(this, "overwriteOtherFile", file)) { Modified: trunk/src/app/net/sf/gridarta/maincontrol/DefaultMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/maincontrol/DefaultMainControl.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/src/app/net/sf/gridarta/maincontrol/DefaultMainControl.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -32,7 +32,7 @@ import javax.swing.filechooser.FileFilter; import javax.xml.parsers.ParserConfigurationException; import net.sf.gridarta.gui.filter.FilterControl; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.gui.map.renderer.RendererFactory; import net.sf.gridarta.gui.scripts.DefaultScriptArchEditor; import net.sf.gridarta.gui.scripts.ScriptArchDataUtils; @@ -356,7 +356,7 @@ * @return the new instance */ public GUIMainControl<G, A, R> createGUIMainControl(@NotNull final FileFilter scriptFileFilter, @NotNull final String scriptExtension, final boolean createDirectionPane, @NotNull final AbstractMapManager<G, A, R> mapManager, @NotNull final MapManager<G, A, R> pickmapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final MapControlFactory<G, A, R> mapControlFactory, @Nullable final ImageIcon compassIcon, @NotNull final String gridartaJarFilename, @NotNull final int[] lockedItemsTypeNumbers, final boolean autoValidatorDefault, @Nullable final String spellFile, @NotNull final EditorFactory<G, A, R> editorFactory, @NotNull final ErrorView errorView, @NotNull final CacheFiles cacheFiles, @NotNull final ConfigSourceFactory configSourceFactory, @NotNull final RendererFactory<G, A, R> rendererFactory, @NotNull final FilterControl<G, A, R> filterControl, @NotNull final ScriptExecutor<G, A, R> scriptExecutor, @NotNull final ScriptParameters scriptParameters, @NotNull final FaceObjects faceObjects, @NotNull final GlobalSettings globalSettings, @NotNull final MapViewSettings mapViewSettings, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final PathManager pathManager, @NotNull final InsertionMode<G, A, R> topmostInsertionMode, @NotNull final GameObjectFactory<G, A, R> gameObjectFactory, @NotNull final SystemIcons systemIcons, final int undefinedSpellIndex, @NotNull final ArchetypeTypeSet archetypeTypeSet, @NotNull final MapArchObjectFactory<A> mapArchObjectFactory, @NotNull final DefaultMapReaderFactory<G, A, R> mapReaderFactory, @NotNull final DelegatingMapValidator<G, A, R> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final String scriptsDir, @NotNull final ScriptModel<G, A, R> scriptModel, @NotNull final AnimationObjects animationObjects, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel, final boolean allowRandomMapParameters, @NotNull final ScriptedEventEditor<G, A, R> scriptedEventEditor, @NotNull final Direction[] directionMap, @NotNull final AbstractResources<G, A, R> resources, @NotNull final Spells<GameObjectSpell<G, A, R>> gameObjectSpells, @NotNull final Spells<NumberSpell> numberSpells, @NotNull final AttributeRangeChecker<G, A, R> attributeRangeChecker, @NotNull final PluginParameterFactory<G, A, R> pluginParameterFactory) { - return new GUIMainControl<G, A, R>(createDirectionPane, mapManager, pickmapManager, archetypeSet, faceObjects, globalSettings, mapViewSettings, mapControlFactory, mapReaderFactory, mapArchObjectFactory, treasureTree, archetypeTypeSet, compassIcon, gridartaJarFilename, FileFilters.mapFileFilter, scriptFileFilter, scriptExtension, validators, resources, gameObjectMatchers, errorView, attributeRangeChecker, lockedItemsTypeNumbers, scriptsDir, scriptModel, archetypeChooserModel, animationObjects, scriptArchEditor, scriptedEventEditor, scriptArchData, scriptArchDataUtils, scriptArchUtils, autoValidatorDefault, spellFile, allowRandomMapParameters, directionMap, editorFactory, faceObjectProviders, pluginParameterFactory, gameObjectFactory, pathManager, cacheFiles, gameObjectSpells, numberSpells, undefinedSpellIndex, systemIcons, configSourceFactory, topmostInsertionMode, rendererFactory, filterControl, scriptExecutor, scriptParameters); + return new GUIMainControl<G, A, R>(createDirectionPane, mapManager, pickmapManager, archetypeSet, faceObjects, globalSettings, mapViewSettings, mapControlFactory, mapReaderFactory, mapArchObjectFactory, treasureTree, archetypeTypeSet, compassIcon, gridartaJarFilename, GuiFileFilters.mapFileFilter, scriptFileFilter, scriptExtension, validators, resources, gameObjectMatchers, errorView, attributeRangeChecker, lockedItemsTypeNumbers, scriptsDir, scriptModel, archetypeChooserModel, animationObjects, scriptArchEditor, scriptedEventEditor, scriptArchData, scriptArchDataUtils, scriptArchUtils, autoValidatorDefault, spellFile, allowRandomMapParameters, directionMap, editorFactory, faceObjectProviders, pluginParameterFactory, gameObjectFactory, pathManager, cacheFiles, gameObjectSpells, numberSpells, undefinedSpellIndex, systemIcons, configSourceFactory, topmostInsertionMode, rendererFactory, filterControl, scriptExecutor, scriptParameters); } } // class DefaultMainControl Modified: trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java 2010-06-10 07:44:00 UTC (rev 8336) +++ trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java 2010-06-10 07:57:21 UTC (rev 8337) @@ -58,7 +58,7 @@ import net.sf.gridarta.gui.gameobjectattributespanel.GameObjectAttributesTab; import net.sf.gridarta.gui.gameobjectattributespanel.MsgTextTab; import net.sf.gridarta.gui.gameobjectattributespanel.TextEditorTab; -import net.sf.gridarta.gui.io.FileFilters; +import net.sf.gridarta.gui.io.GuiFileFilters; import net.sf.gridarta.gui.mainwindow.GameObjectTab; import net.sf.gridarta.gui.mainwindow.WarningsTab; import net.sf.gridarta.gui.map.MapFileActions; @@ -479,7 +479,7 @@ scriptEditControl.setTextAreaDefaults(textAreaDefaults); scriptedEventEditor.setScriptEditControl(scriptEditControl); scriptArchEditor.setScriptEditControl(scriptEditControl); - fileControl = new DefaultFileControl<G, A, R>(globalSettings, archetypeSet, mapImageCache, mapManager, mapViewsManager, mainViewFrame, FileFilters.mapFileFilter, scriptFileFilter, newMapDialogFactory, scriptExtension, scriptEditControl); + fileControl = new DefaultFileControl<G, A, R>(globalSettings, archetypeSet, mapImageCache, mapManager, mapViewsManager, mainViewFrame, GuiFileFilters.mapFileFilter, scriptFileFilter, newMapDialogFactory, scriptExtension, scriptEditControl); pickmapChooserControl.setFileControl(fileControl); mapViewsManager.setFileControl(fileControl); final GameObjectMatcher floorMatcher = gameObjectMatchers.getMatcher("system_floor", "floor"); @@ -518,7 +518,7 @@ final Action exitAction = ActionUtils.newAction(ACTION_BUILDER, "Other", this, "exit"); final MapFolderTreeActions<G, A, R> mapFolderTreeActions = new MapFolderTreeActions<G, A, R>(mapFolderTree, newMapDialogFactory, "createPickmapFolder", "deletePickmapFolder", "confirmDeletePickmapFolder", "deletePickmapFolderNotEmpty"); //noinspection ResultOfObjectAllocationIgnored - new MapActions<G, A, R>(mainViewFrame, mainViewFrame, mapManager, mapViewManager, exitMatcher, FileFilters.mapFileFilter, selectedSquareModel, directionMap, allowRandomMapParameters, mapPropertiesDialogFactory, mapViewSettings, mapPathNormalizer, mapViewsManager, fileControl); + new MapActions<G, A, R>(mainViewFrame, mainViewFrame, mapManager, mapViewManager, exitMatcher, GuiFileFilters.mapFileFilter, selectedSquareModel, directionMap, allowRandomMapParameters, mapPropertiesDialogFactory, mapViewSettings, mapPathNormalizer, mapViewsManager, fileControl); final ViewActions<G, A, R> viewActions = new ViewActions<G, A, R>(mapViewSettings, mapManager); //noinspection ResultOfObjectAllocationIgnored new MapFileActions<G, A, R>(imageCreator2, mapManager, mapViewsManager, mapViewManager, fileControl, mainViewFrame); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2010-06-10 07:44:06
|
Revision: 8336 http://gridarta.svn.sourceforge.net/gridarta/?rev=8336&view=rev Author: akirschbaum Date: 2010-06-10 07:44:00 +0000 (Thu, 10 Jun 2010) Log Message: ----------- Add @NotNull annotations. Modified Paths: -------------- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java Modified: trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java =================================================================== --- trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 07:38:47 UTC (rev 8335) +++ trunk/atrinik/src/app/net/sf/gridarta/var/atrinik/resource/FilesResourcesReader.java 2010-06-10 07:44:00 UTC (rev 8336) @@ -151,7 +151,7 @@ * @param errorView the error view to use * @param animFiles the found animation files */ - private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final String path, final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { + private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final String path, @NotNull final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { final String name = f.getName(); if (f.isDirectory()) { // now, setup the arch panels Modified: trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java =================================================================== --- trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 07:38:47 UTC (rev 8335) +++ trunk/daimonin/src/app/net/sf/gridarta/var/daimonin/resource/FilesResourcesReader.java 2010-06-10 07:44:00 UTC (rev 8336) @@ -151,7 +151,7 @@ * @param errorView the error view to use * @param animFiles the found animation files */ - private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final String path, final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { + private void loadArchetypesFromFiles(@NotNull final ErrorViewCollector errorViewCollector, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype, ?> archetypeParser, @NotNull final String path, @NotNull final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final ArchFaceProvider archFaceProvider, @NotNull final ErrorView errorView, @NotNull final Collection<Pair<String, File>> animFiles) { final String name = f.getName(); if (f.isDirectory()) { // now, setup the arch panels This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |