diff --git a/data/sprites/outfit/body/body_000-safe.png b/data/sprites/outfit/body/body_000-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_000-safe.png rename to data/sprites/outfit/body/body_000-nonude.png diff --git a/data/sprites/outfit/body/body_001-safe.png b/data/sprites/outfit/body/body_001-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_001-safe.png rename to data/sprites/outfit/body/body_001-nonude.png diff --git a/data/sprites/outfit/body/body_002-safe.png b/data/sprites/outfit/body/body_002-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_002-safe.png rename to data/sprites/outfit/body/body_002-nonude.png diff --git a/data/sprites/outfit/body/body_988-safe.png b/data/sprites/outfit/body/body_988-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_988-safe.png rename to data/sprites/outfit/body/body_988-nonude.png diff --git a/data/sprites/outfit/body/body_989-safe.png b/data/sprites/outfit/body/body_989-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_989-safe.png rename to data/sprites/outfit/body/body_989-nonude.png diff --git a/data/sprites/outfit/body/body_990-safe.png b/data/sprites/outfit/body/body_990-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_990-safe.png rename to data/sprites/outfit/body/body_990-nonude.png diff --git a/data/sprites/outfit/body/body_991-safe.png b/data/sprites/outfit/body/body_991-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_991-safe.png rename to data/sprites/outfit/body/body_991-nonude.png diff --git a/data/sprites/outfit/body/body_993-safe.png b/data/sprites/outfit/body/body_993-nonude.png similarity index 100% rename from data/sprites/outfit/body/body_993-safe.png rename to data/sprites/outfit/body/body_993-nonude.png diff --git a/src/games/stendhal/client/OutfitStore.java b/src/games/stendhal/client/OutfitStore.java index 77ce4c5656f..93b03e37f69 100644 --- a/src/games/stendhal/client/OutfitStore.java +++ b/src/games/stendhal/client/OutfitStore.java @@ -28,6 +28,7 @@ import org.apache.log4j.Logger; import games.stendhal.client.gui.OutfitColor; +import games.stendhal.client.gui.wt.core.WtWindowManager; import games.stendhal.client.sprite.ImageSprite; import games.stendhal.client.sprite.Sprite; import games.stendhal.client.sprite.SpriteCache; @@ -197,7 +198,11 @@ public Sprite getLayerSprite(final String layer, final int index, final OutfitCo } } - final String suffix = getSpriteSuffix(index); + String suffix = getSpriteSuffix(index); + if (layer.equals("body") && WtWindowManager.getInstance().getPropertyBoolean("gamescreen.nonude", true)) { + suffix = suffix + "-nonude"; + } + final String ref = OUTFITS + "/" + layer + "/" + layer + "_" + suffix + ".png"; if (color == null) { diff --git a/src/games/stendhal/client/gui/settings/VisualSettings.java b/src/games/stendhal/client/gui/settings/VisualSettings.java index f443e1d4c84..65771b3d0ad 100644 --- a/src/games/stendhal/client/gui/settings/VisualSettings.java +++ b/src/games/stendhal/client/gui/settings/VisualSettings.java @@ -150,6 +150,18 @@ public void itemStateChanged(ItemEvent e) { }); + JCheckBox noNudeToggle = SettingsComponentFactory.createSettingsToggle("gamescreen.nonude", true, + "Show undergarments", "\"Nude\" characters are covered with undergarments."); + page.add(noNudeToggle); + noNudeToggle.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + ClientSingletonRepository.getUserInterface().addEventLine(new EventLine("", + "Changes will take effect after changing maps.", + NotificationType.CLIENT)); + } + }); + // show creature speech bubbles JCheckBox showCreatureSpeechToggle = SettingsComponentFactory.createSettingsToggle(GAMESCREEN_CREATURESPEECH, true, "Show creature speech bubbles", "Show creature speech bubbles in the client display");