diff --git a/Dokumente/BattleshipDiagramm.drawio b/Dokumente/BattleshipDiagramm.drawio new file mode 100644 index 00000000..69d42cff --- /dev/null +++ b/Dokumente/BattleshipDiagramm.drawio @@ -0,0 +1,1084 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java index 69a30d83..e1a95c65 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/BackgroundMusic.java @@ -12,6 +12,9 @@ import java.lang.System.Logger.Level; import java.util.prefs.Preferences; +/** + * Class to play Background music in game + */ public class BackgroundMusic implements GameEventListener { private static final String VOLUME_PREF = "volume"; private static final String MUSIC_ENABLED_PREF = "musicEnabled"; @@ -32,7 +35,7 @@ public class BackgroundMusic implements GameEventListener { private Application app; /** - * Initializes and controls the BackgroundMusic + * Constructor for BackgroundMusic class * * @param app The main Application */ @@ -50,13 +53,14 @@ public BackgroundMusic(Application app) { stop(loseMusic); lastPlayedMusic = menuMusic.getName(); - if(musicEnabled) { + if (musicEnabled) { play(menuMusic); } } /** - * creates an audio node for the music + * Creates an audio node for the music + * * @param musicFilePath the file path to the music * @return the created audio node */ @@ -71,7 +75,8 @@ private AudioNode createMusicNode(String musicFilePath) { } /** - * starts the music + * Starts the music + * * @param audioNode the audio node to be played */ public void play(AudioNode audioNode) { @@ -82,45 +87,47 @@ public void play(AudioNode audioNode) { } /** - * pauses the music + * Pauses the music + * * @param audioNode the audio node to be paused */ - public void pause(AudioNode audioNode){ - if(audioNode.getStatus() == Status.Playing){ + public void pause(AudioNode audioNode) { + if (audioNode.getStatus() == Status.Playing) { audioNode.pause(); } } /** - * stops the music + * Stops the music + * * @param audioNode the audio node to be stopped */ - public void stop(AudioNode audioNode){ + public void stop(AudioNode audioNode) { if (audioNode.getStatus() == Status.Playing) { audioNode.stop(); } } /** - * Toggle Method to control the music + * Controls which music should be played */ public void toggleMusic() { this.musicEnabled = !this.musicEnabled; if (musicEnabled) { - switch (lastPlayedMusic){ - case MENU_MUSIC: - play(menuMusic); - break; - case GAME_MUSIC: - play(gameMusic); - break; - case VICTORY_MUSIC: - play(victoryMusic); - break; - case LOSE_MUSIC: - play(loseMusic); - break; - } + switch (lastPlayedMusic) { + case MENU_MUSIC: + play(menuMusic); + break; + case GAME_MUSIC: + play(gameMusic); + break; + case VICTORY_MUSIC: + play(victoryMusic); + break; + case LOSE_MUSIC: + play(loseMusic); + break; + } } else { pause(menuMusic); @@ -133,33 +140,36 @@ public void toggleMusic() { } /** - * changes the music to the specified music if it isn't already playing + * Changes the music to the specified music if it isn't already playing * * @param music the music to play */ public void changeMusic(Music music) { - if(music == Music.MENU_THEME && !lastPlayedMusic.equals(MENU_MUSIC)) { + if (music == Music.MENU_THEME && !lastPlayedMusic.equals(MENU_MUSIC)) { LOGGER.log(Level.DEBUG, "Received Music change Event {0}", music.toString()); stop(gameMusic); stop(victoryMusic); stop(loseMusic); play(menuMusic); lastPlayedMusic = menuMusic.getName(); - } else if (music == Music.GAME_THEME && !lastPlayedMusic.equals(GAME_MUSIC)) { + } + else if (music == Music.GAME_THEME && !lastPlayedMusic.equals(GAME_MUSIC)) { LOGGER.log(Level.DEBUG, "Received Music change Event {0}", music.toString()); stop(menuMusic); stop(loseMusic); stop(victoryMusic); play(gameMusic); lastPlayedMusic = gameMusic.getName(); - } else if (music == Music.VICTORY_THEME && !lastPlayedMusic.equals(VICTORY_MUSIC)) { + } + else if (music == Music.VICTORY_THEME && !lastPlayedMusic.equals(VICTORY_MUSIC)) { LOGGER.log(Level.DEBUG, "Received Music change Event {0}", music.toString()); stop(menuMusic); stop(gameMusic); stop(loseMusic); play(victoryMusic); lastPlayedMusic = victoryMusic.getName(); - } else if (music == Music.LOSE_THEME && !lastPlayedMusic.equals(LOSE_MUSIC)){ + } + else if (music == Music.LOSE_THEME && !lastPlayedMusic.equals(LOSE_MUSIC)) { LOGGER.log(Level.DEBUG, "Received Music change Event {0}", music.toString()); stop(menuMusic); stop(gameMusic); @@ -170,14 +180,14 @@ public void changeMusic(Music music) { } /** - * the method which receives the Event + * Receives the different MusicEvents * * @param music the received Event */ @Override - public void receivedEvent (MusicEvent music){ + public void receivedEvent(MusicEvent music) { LOGGER.log(Level.DEBUG, "Received Music change Event {0}", music.toString()); - switch (music.music()){ + switch (music.music()) { case MENU_THEME: changeMusic(Music.MENU_THEME); break; @@ -193,9 +203,8 @@ public void receivedEvent (MusicEvent music){ } } - /** - * Method to set the volume for the music + * Set the volume for the music * * @param volume float to transfer the new volume */ @@ -210,7 +219,7 @@ public void setVolume(float volume) { } /** - * This method returns the volume + * Returns the volume * * @return the current volume as a float */ diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java index 76474e23..a6754aad 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipApp.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.client; import com.jme3.app.DebugKeysAppState; @@ -232,7 +225,6 @@ public void simpleInitApp() { serverConnection.connect(); backgroundMusic = new BackgroundMusic(this); logic.addListener(backgroundMusic); - } /** @@ -323,7 +315,7 @@ public Draw getDraw() { return draw; } - public BackgroundMusic getBackgroundMusic(){ + public BackgroundMusic getBackgroundMusic() { return backgroundMusic; } diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppConfig.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppConfig.java index 6e32c8c5..0cce09fd 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppConfig.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppConfig.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.client; import com.jme3.math.ColorRGBA; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppState.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppState.java index 00945163..cb1111a1 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppState.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/BattleshipAppState.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.client; import com.jme3.app.Application; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java index 36256884..2b18c2f8 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/GameSound.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.client; import com.jme3.app.Application; @@ -135,6 +128,11 @@ public void shipDestroyed() { shipDestroyedSound.playInstance(); } + /** + * Plays sound according to the received SoundEvent + * + * @param event the received SoundEvent + */ @Override public void receivedEvent(SoundEvent event) { switch (event.sound()) { diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java index fe3bccb5..8c2cb0fd 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/Menu.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.client; import com.simsilica.lemur.Button; @@ -56,13 +49,12 @@ public Menu(BattleshipApp app) { addChild(new Label(lookup("menu.music.volume"), new ElementId("slider_label"))); Slider volumeSlider = new Slider(); - volumeSlider.setModel(new DefaultRangedValueModel(0.00 , 1.00, app.getBackgroundMusic().getVolume())); + volumeSlider.setModel(new DefaultRangedValueModel(0.00, 1.00, app.getBackgroundMusic().getVolume())); volumeSlider.setDelta(0.05); addChild(volumeSlider); volumeRef = volumeSlider.getModel().createReference(); - addChild(loadButton) .addClickCommands(s -> ifTopDialog(this::loadDialog)); addChild(saveButton) @@ -76,19 +68,20 @@ public Menu(BattleshipApp app) { } /** - * this method is used update the volume when the slider is used + * Updates the volume when the slider is moved + * * @param tpf time per frame */ @Override - public void update(float tpf){ - if(volumeRef.update()){ + public void update(float tpf) { + if (volumeRef.update()) { double newVolume = volumeRef.get(); adjustVolume(newVolume); } } /** - * this method adjust the volume for the background music + * Adjusts the volume for the background music * * @param volume is the double value of the volume */ @@ -97,13 +90,12 @@ private void adjustVolume(double volume) { } /** - * this method toggles the background music on and off + * Toggles the background music on and off */ private void toggleMusic() { app.getBackgroundMusic().toggleMusic(); } - /** * Updates the state of the load and save buttons based on the game logic. */ diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java index 6e18db31..259c836f 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkDialog.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.client; import com.simsilica.lemur.Checkbox; @@ -55,7 +48,7 @@ class NetworkDialog extends SimpleDialog { Checkbox hostServer = new Checkbox(lookup("start.own.server")); hostServer.setChecked(false); - hostServer.addClickCommands(s->toggleOwnServer()); + hostServer.addClickCommands(s -> toggleOwnServer()); final BattleshipApp app = network.getApp(); final Container input = new Container(new SpringGridLayout()); @@ -164,38 +157,40 @@ private void failure(Throwable e) { * If hostServer-Checkbox is active, starts a new Server on the clients machine, else tries to connect to existing server */ private void connect() { - if(hostServer){ + if (hostServer) { startServer(); try { Thread.sleep(1000); - } catch (InterruptedException e) { + } + catch (InterruptedException e) { LOGGER.log(Level.WARNING, e.getMessage(), e); } connectToServer(); - } else { + } + else { connectToServer(); } } /** - * starts a server on the clients machine + * Starts a server on the clients machine */ private void startServer() { new Thread(() -> { - try{ + try { BattleshipServer battleshipServer = new BattleshipServer(Integer.parseInt(port.getText())); battleshipServer.run(); - } catch (Exception e) { - LOGGER.log(Level.ERROR,e); + } + catch (Exception e) { + LOGGER.log(Level.ERROR, e); } }).start(); } /** - * handles the action for the hostServer-Checkbox + * Handles the action for the hostServer-Checkbox */ - private void toggleOwnServer(){ + private void toggleOwnServer() { hostServer = !hostServer; } - } diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkSupport.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkSupport.java index 71eb22b5..7380ee04 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkSupport.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/NetworkSupport.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.client; import com.jme3.network.Client; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/BattleAppState.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/BattleAppState.java index 1a0fb8a6..7d6eb031 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/BattleAppState.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/BattleAppState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EditorAppState.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EditorAppState.java index 33412384..1cecce6f 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EditorAppState.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/EditorAppState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/HitEffectHandler.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/HitEffectHandler.java index fc930337..71780f27 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/HitEffectHandler.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/HitEffectHandler.java @@ -14,25 +14,26 @@ import java.lang.System.Logger; import java.lang.System.Logger.Level; - public class HitEffectHandler { private final AssetManager assetManager; private static final Logger LOGGER = System.getLogger(HitEffectHandler.class.getName()); /** * Constructor for the HitEffectHandler class + * * @param app the main application */ - public HitEffectHandler(Application app){ + public HitEffectHandler(Application app) { assetManager = app.getAssetManager(); } /** - * Creates an explosion effect when ship gets hit + * Creates explosion, debris and fire effects when ship gets hit + * * @param battleshipNode the node of the ship that gets hit and the effect should be attached to - * @param shot The shot taken on a field + * @param shot The shot taken on a field */ - public void hitEffect(Node battleshipNode, Shot shot){ + public void hitEffect(Node battleshipNode, Shot shot) { //Explosion ParticleEmitter explosion = new ParticleEmitter("Explosion", Type.Triangle, 30); explosion.setMaterial(new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md")); @@ -47,10 +48,10 @@ public void hitEffect(Node battleshipNode, Shot shot){ explosion.setLowLife(1f); explosion.setHighLife(3.5f); explosion.setParticlesPerSec(0); - explosion.setLocalTranslation(shot.getY() + 0.5f, 0 , shot.getX() + 0.5f); + explosion.setLocalTranslation(shot.getY() + 0.5f, 0, shot.getX() + 0.5f); explosion.emitAllParticles(); - //Debris + //Debris ParticleEmitter debris = new ParticleEmitter("Debris", Type.Triangle, 6); Material debrisMaterial = new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md"); debrisMaterial.setTexture("Texture", assetManager.loadTexture("Textures/Debris/debris.png")); @@ -67,7 +68,7 @@ public void hitEffect(Node battleshipNode, Shot shot){ debris.setLowLife(1f); debris.setHighLife(3.5f); debris.setParticlesPerSec(0); - debris.setLocalTranslation(shot.getY() + 0.5f, 0 , shot.getX() + 0.5f); + debris.setLocalTranslation(shot.getY() + 0.5f, 0, shot.getX() + 0.5f); debris.emitAllParticles(); //Fire @@ -92,8 +93,7 @@ public void hitEffect(Node battleshipNode, Shot shot){ // LOGGER.log(Level.DEBUG, "Created HitEffect at {0}", explosion.getLocalTranslation().toString()); // LOGGER.log(Level.DEBUG, "Created HitEffect at {0}", debris.getLocalTranslation().toString()); - LOGGER.log(Level.INFO, "Created HitEffect at {0}", fire.getLocalTranslation().toString()); - +// LOGGER.log(Level.INFO, "Created HitEffect at {0}", fire.getLocalTranslation().toString()); battleshipNode.attachChild(explosion); explosion.addControl(new EffectControl(explosion, battleshipNode)); @@ -103,10 +103,11 @@ public void hitEffect(Node battleshipNode, Shot shot){ } /** - * Creates a splash effect if shot hits the water + * Creates a splash effect if the shot hits the water + * * @param shot The shot taken on a field */ - public ParticleEmitter missEffect(Shot shot){ + public ParticleEmitter missEffect(Shot shot) { ParticleEmitter missEffect = new ParticleEmitter("HitEffect", Type.Triangle, 45); missEffect.setMaterial(new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md")); missEffect.setImagesX(2); @@ -120,7 +121,7 @@ public ParticleEmitter missEffect(Shot shot){ missEffect.setLowLife(0.7f); missEffect.setHighLife(1.8f); missEffect.setParticlesPerSec(0); - missEffect.setLocalTranslation(shot.getY() + 0.5f, 0 , shot.getX() + 0.5f); + missEffect.setLocalTranslation(shot.getY() + 0.5f, 0, shot.getX() + 0.5f); LOGGER.log(Level.DEBUG, "Created MissEffect at {0}", missEffect.getLocalTranslation().toString()); @@ -139,7 +140,7 @@ private static class EffectControl extends AbstractControl { /** * Constructor used to attach effect to a node * - * @param emitter the particle emitter to be controlled + * @param emitter the particle emitter to be controlled * @param parentNode the node to be attached */ public EffectControl(ParticleEmitter emitter, Node parentNode) { @@ -152,7 +153,7 @@ public EffectControl(ParticleEmitter emitter, Node parentNode) { * * @param emitter the particle emitter to be controlled */ - public EffectControl(ParticleEmitter emitter){ + public EffectControl(ParticleEmitter emitter) { this.emitter = emitter; this.parentNode = null; } @@ -177,5 +178,4 @@ protected void controlUpdate(float tpf) { @Override protected void controlRender(com.jme3.renderer.RenderManager rm, com.jme3.renderer.ViewPort vp) {} } - } diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapView.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapView.java index bd16c833..0cfb9fdf 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapView.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapView.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java index 56b7f02a..97314eac 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/MapViewSynchronizer.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; @@ -117,6 +112,12 @@ public Spatial visit(Battleship ship) { return shipNode; } + /** + * Creates a visual representation on the map + * + * @param shell the Shell element to visit + * @return the node the visual representation gets attached to. + */ @Override public Spatial visit(Shell shell) { LOGGER.log(Logger.Level.DEBUG, "Visiting {0}", shell); diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaAppState.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaAppState.java index c9bc8218..317e1314 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaAppState.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaAppState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java index eecf8abc..c43a16fb 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; @@ -51,7 +46,7 @@ class SeaSynchronizer extends ShipMapSynchronizer { private static final ColorRGBA BOX_COLOR = ColorRGBA.Gray; private static final ColorRGBA SPLASH_COLOR = new ColorRGBA(0f, 0f, 1f, 0.4f); private static final ColorRGBA HIT_COLOR = new ColorRGBA(1f, 0f, 0f, 0.4f); - private HitEffectHandler hitEffectHandler; + private final HitEffectHandler hitEffectHandler; private final ShipMap map; private final BattleshipApp app; @@ -146,8 +141,8 @@ public Spatial visit(Battleship ship) { /** * Visits a Shell and creates a graphical representation of it. * - * @param shell the battleship to be represented - * @return the node containing the graphical representation of the battleship + * @param shell the Shell to be represented + * @return the node containing the graphical representation of the Shell */ @Override public Spatial visit(Shell shell) { @@ -156,12 +151,11 @@ public Spatial visit(Shell shell) { final float x = shell.getY(); final float z = shell.getX(); - node.setLocalTranslation(x+0.5f, 10f, z+0.5f); + node.setLocalTranslation(x + 0.5f, 10f, z + 0.5f); node.addControl(new ShellControl(shell, app)); return node; } - /** * Creates the appropriate graphical representation of the specified battleship. * The representation is either a detailed model or a simple box based on the length of the ship. @@ -170,7 +164,7 @@ public Spatial visit(Shell shell) { * @return the spatial representing the battleship */ private Spatial createShip(Battleship ship) { - return switch (ship.getLength()){ + return switch (ship.getLength()) { case 1 -> createPatrolBoat(ship); case 2 -> createModernBattleship(ship); case 3 -> createUboat(ship); @@ -250,7 +244,7 @@ private Spatial createModernBattleship(Battleship ship) { model.rotate(-HALF_PI, calculateRotationAngle(ship.getRot()) + HALF_PI, 0f); model.scale(0.000075f); model.setShadowMode(ShadowMode.CastAndReceive); - model.move(0,0.2f,0); + model.move(0, 0.2f, 0); return model; } @@ -269,15 +263,13 @@ private Spatial createMissile() { model.setQueueBucket(RenderQueue.Bucket.Opaque); - model.rotate(-HALF_PI,0,0); + model.rotate(-HALF_PI, 0, 0); model.scale(0.009f); model.setShadowMode(ShadowMode.CastAndReceive); - model.move(0,0f,0); + model.move(0, 0f, 0); return model; } - - /** * Creates a detailed 3D model to represent a Uboat. * @@ -291,7 +283,7 @@ private Spatial createUboat(Battleship ship) { model.rotate(-HALF_PI, calculateRotationAngle(ship.getRot()), 0f); model.scale(0.45f); model.setShadowMode(ShadowMode.CastAndReceive); - model.move(0,-0.25f,0); + model.move(0, -0.25f, 0); return model; } @@ -313,7 +305,6 @@ private Spatial createPatrolBoat(Battleship ship) { return model; } - /** * Calculates the rotation angle for the specified rotation. * diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellControl.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellControl.java index 10eecd6a..a655859e 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellControl.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellControl.java @@ -11,6 +11,9 @@ import java.lang.System.Logger; import java.lang.System.Logger.Level; +/** + * Class to control the 3D representation of a shell + */ public class ShellControl extends AbstractControl { private final Shell shell; @@ -18,24 +21,42 @@ public class ShellControl extends AbstractControl { private static final float TRAVEL_SPEED = 8.5f; static final Logger LOGGER = System.getLogger(BattleshipApp.class.getName()); + /** + * Constructor for ShellControl class + * + * @param shell The Shell to be displayed + * @param app the main application + */ public ShellControl(Shell shell, BattleshipApp app) { this.shell = shell; this.app = app; } + /** + * Method to control movement of the Shell and remove it when target is reached + * + * @param tpf time per frame (in seconds) + */ @Override public void controlUpdate(float tpf) { //LOGGER.log(Level.DEBUG, "missile at x=" + shell.getX() + ", y=" + shell.getY()); - spatial.move(0, -TRAVEL_SPEED*tpf, 0); - if(spatial.getLocalTranslation().getY() <= 0.2){ + spatial.move(0, -TRAVEL_SPEED * tpf, 0); + if (spatial.getLocalTranslation().getY() <= 0.2) { spatial.getParent().detachChild(spatial); app.getGameLogic().send(new EndAnimationMessage(new IntPoint(shell.getX(), shell.getY()))); } } + /** + * This method is called during the rendering phase, but it does not perform any + * operations in this implementation as the control only influences the spatial's + * transformation, not its rendering process. + * + * @param rm the RenderManager rendering the controlled Spatial (not null) + * @param vp the ViewPort being rendered (not null) + */ @Override protected void controlRender(RenderManager rm, ViewPort vp) { } - } diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellMapControl.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellMapControl.java index 1cc3fb2e..a7f9fdaa 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellMapControl.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShellMapControl.java @@ -9,29 +9,52 @@ import pp.battleship.model.IntPoint; import pp.util.Position; +/** + * Class to control the 2D representation of a shell + */ public class ShellMapControl extends AbstractControl { private final Position position; private final IntPoint pos; - private static final Vector3f vector = new Vector3f(); + private static final Vector3f VECTOR_3_F = new Vector3f(); private final BattleshipApp app; + /** + * Constructor for ShellMapControl + * + * @param position the target position of the shell + * @param app the main application + * @param pos the position the then to render shot goes to + */ public ShellMapControl(Position position, BattleshipApp app, IntPoint pos) { super(); this.position = position; this.pos = pos; this.app = app; - vector.set(new Vector3f(position.getX(), position.getY(), 0)); + VECTOR_3_F.set(new Vector3f(position.getX(), position.getY(), 0)); } + /** + * Method to control movement of the Shell on the map and remove it when target is reached + * + * @param tpf time per frame (in seconds) + */ @Override protected void controlUpdate(float tpf) { - spatial.move(vector.mult(tpf)); + spatial.move(VECTOR_3_F.mult(tpf)); if (spatial.getLocalTranslation().getX() >= position.getX() && spatial.getLocalTranslation().getY() >= position.getY()) { spatial.getParent().detachChild(spatial); app.getGameLogic().send(new EndAnimationMessage(pos)); } } + /** + * This method is called during the rendering phase, but it does not perform any + * operations in this implementation as the control only influences the spatial's + * transformation, not its rendering process. + * + * @param rm the RenderManager rendering the controlled Spatial (not null) + * @param vp the ViewPort being rendered (not null) + */ @Override protected void controlRender(RenderManager rm, ViewPort vp) { diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipControl.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipControl.java index 0c0ad845..7f2e7241 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipControl.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipControl.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; @@ -88,12 +83,12 @@ protected void controlUpdate(float tpf) { // If spatial is null, do nothing if (spatial == null) return; - if(battleship.isDestroyed() && spatial.getLocalTranslation().getY() < -0.6f){ + if (battleship.isDestroyed() && spatial.getLocalTranslation().getY() < -0.6f) { LOGGER.log(Level.INFO, "Ship removed {0}", spatial.getName()); spatial.getParent().detachChild(spatial); } else if (battleship.isDestroyed()) { - spatial.move(0,-0.2f*tpf,0); + spatial.move(0, -0.2f * tpf, 0); } else { // Update the time within the oscillation cycle diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java index 6af0c80f..c46f7493 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/ShipMapSynchronizer.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client.gui; diff --git a/Projekte/battleship/client/src/main/java/server/BattleshipServer.java b/Projekte/battleship/client/src/main/java/server/BattleshipServer.java index 5c4d5504..ebb7bb3a 100644 --- a/Projekte/battleship/client/src/main/java/server/BattleshipServer.java +++ b/Projekte/battleship/client/src/main/java/server/BattleshipServer.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package server; @@ -77,12 +72,18 @@ public BattleshipServer(int port) { logic = new ServerGameLogic(this, config); } + /** + * Runs a server + */ public void run() { startServer(); while (true) processNextMessage(); } + /** + * Starts a server + */ private void startServer() { try { LOGGER.log(Level.INFO, "Starting server..."); //NON-NLS @@ -98,6 +99,9 @@ private void startServer() { } } + /** + * Processes next received message + */ private void processNextMessage() { try { pendingMessages.take().process(logic); @@ -108,6 +112,9 @@ private void processNextMessage() { } } + /** + * Registers all serializable classes + */ private void initializeSerializables() { Serializer.registerClass(GameDetails.class); Serializer.registerClass(StartBattleMessage.class); @@ -122,6 +129,9 @@ private void initializeSerializables() { Serializer.registerClass(SwitchToBattleState.class); } + /** + * Registers all listeners + */ private void registerListeners() { myServer.addMessageListener(this, MapMessage.class); myServer.addMessageListener(this, ShootMessage.class); @@ -129,6 +139,11 @@ private void registerListeners() { myServer.addConnectionListener(this); } + /** + * Handles a received message + * @param source the connection the message comes from + * @param message the received message + */ @Override public void messageReceived(HostedConnection source, Message message) { LOGGER.log(Level.INFO, "message received from {0}: {1}", source.getId(), message); //NON-NLS @@ -136,12 +151,22 @@ public void messageReceived(HostedConnection source, Message message) { pendingMessages.add(new ReceivedMessage(clientMessage, source.getId())); } + /** + * Adds a new connection to a server + * @param server the server to add the connection to + * @param hostedConnection the connection to be added + */ @Override public void connectionAdded(Server server, HostedConnection hostedConnection) { LOGGER.log(Level.INFO, "new connection {0}", hostedConnection); //NON-NLS logic.addPlayer(hostedConnection.getId()); } + /** + * Removes a standing connection from a server + * @param server the server to add the connection to + * @param hostedConnection the connection to be added + */ @Override public void connectionRemoved(Server server, HostedConnection hostedConnection) { LOGGER.log(Level.INFO, "connection closed: {0}", hostedConnection); //NON-NLS @@ -154,6 +179,10 @@ public void connectionRemoved(Server server, HostedConnection hostedConnection) } } + /** + * Shuts down the server and terminates the application with the given exit code + * @param exitValue the exit status code + */ private void exit(int exitValue) { //NON-NLS LOGGER.log(Level.INFO, "close request"); //NON-NLS if (myServer != null) diff --git a/Projekte/battleship/client/src/main/java/server/ReceivedMessage.java b/Projekte/battleship/client/src/main/java/server/ReceivedMessage.java index f34c645b..fcf71d7b 100644 --- a/Projekte/battleship/client/src/main/java/server/ReceivedMessage.java +++ b/Projekte/battleship/client/src/main/java/server/ReceivedMessage.java @@ -1,15 +1,15 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package server; import pp.battleship.message.client.ClientInterpreter; import pp.battleship.message.client.ClientMessage; +/** + * Represents a message received from a client + * @param message the received message + * @param from the ID of the client that sent the message + */ record ReceivedMessage(ClientMessage message, int from) { void process(ClientInterpreter interpreter) { message.accept(interpreter, from); diff --git a/Projekte/battleship/client/src/main/resources/Models/PATROL_BOAT/12219_boat_v2_L2.mtl b/Projekte/battleship/client/src/main/resources/Models/PATROL_BOAT/12219_boat_v2_L2.mtl index 028a0dd4..3b2fec53 100644 --- a/Projekte/battleship/client/src/main/resources/Models/PATROL_BOAT/12219_boat_v2_L2.mtl +++ b/Projekte/battleship/client/src/main/resources/Models/PATROL_BOAT/12219_boat_v2_L2.mtl @@ -6,7 +6,7 @@ newmtl white Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 0.6667 0.6667 0.6667 Kd 0.6667 0.6667 0.6667 @@ -18,7 +18,7 @@ newmtl boat_elements_black Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 0.0000 0.0000 0.0000 Kd 0.0000 0.0000 0.0000 @@ -30,7 +30,7 @@ newmtl boat_glass Ni 7.0000 d 0.4000 Tr 0.6000 - Tf 0.4000 0.4000 0.4000 + Tf 0.4000 0.4000 0.4000 illum 2 Ka 0.1059 0.1569 0.1451 Kd 0.1059 0.1569 0.1451 @@ -42,7 +42,7 @@ newmtl boat_screw_hooks_bronze Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 0.2941 0.2157 0.0510 Kd 0.2941 0.2157 0.0510 @@ -54,7 +54,7 @@ newmtl boat_silver Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 0.3333 0.3333 0.3333 Kd 0.3333 0.3333 0.3333 @@ -66,7 +66,7 @@ newmtl boat_buffer Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 1.0000 1.0000 1.0000 Kd 1.0000 1.0000 1.0000 @@ -80,7 +80,7 @@ newmtl boat_roof_accessory Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 1.0000 1.0000 1.0000 Kd 1.0000 1.0000 1.0000 @@ -94,7 +94,7 @@ newmtl boat_body Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 1.0000 1.0000 1.0000 Kd 1.0000 1.0000 1.0000 diff --git a/Projekte/battleship/client/src/main/resources/Models/UBOAT/14084_WWII_Ship_German_Type_II_U-boat_v2_L1.mtl b/Projekte/battleship/client/src/main/resources/Models/UBOAT/14084_WWII_Ship_German_Type_II_U-boat_v2_L1.mtl index 8337cf7e..4d0fed11 100644 --- a/Projekte/battleship/client/src/main/resources/Models/UBOAT/14084_WWII_Ship_German_Type_II_U-boat_v2_L1.mtl +++ b/Projekte/battleship/client/src/main/resources/Models/UBOAT/14084_WWII_Ship_German_Type_II_U-boat_v2_L1.mtl @@ -6,7 +6,7 @@ newmtl default Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 1.0000 1.0000 1.0000 Kd 1.0000 1.0000 1.0000 diff --git a/Projekte/battleship/client/src/main/resources/Sound/Music/menu/Crerdits.txt b/Projekte/battleship/client/src/main/resources/Sound/Music/menu/Crerdits.txt index f8fd90f2..3ab5c100 100644 --- a/Projekte/battleship/client/src/main/resources/Sound/Music/menu/Crerdits.txt +++ b/Projekte/battleship/client/src/main/resources/Sound/Music/menu/Crerdits.txt @@ -2,4 +2,3 @@ Epic Cinematic Trailer | ELITE by Alex-Productions | https://onsound.eu/ Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ - \ No newline at end of file diff --git a/Projekte/battleship/converter/src/main/java/pp/battleship/exporter/ModelExporter.java b/Projekte/battleship/converter/src/main/java/pp/battleship/exporter/ModelExporter.java index 2c9f279d..df338491 100644 --- a/Projekte/battleship/converter/src/main/java/pp/battleship/exporter/ModelExporter.java +++ b/Projekte/battleship/converter/src/main/java/pp/battleship/exporter/ModelExporter.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.exporter; diff --git a/Projekte/battleship/converter/src/main/resources/Models/KingGeorgeV/King_George_V.mtl b/Projekte/battleship/converter/src/main/resources/Models/KingGeorgeV/King_George_V.mtl index cc365633..b5271d8a 100644 --- a/Projekte/battleship/converter/src/main/resources/Models/KingGeorgeV/King_George_V.mtl +++ b/Projekte/battleship/converter/src/main/resources/Models/KingGeorgeV/King_George_V.mtl @@ -6,7 +6,7 @@ newmtl _King_George_V Ni 1.5000 d 1.0000 Tr 0.0000 - Tf 1.0000 1.0000 1.0000 + Tf 1.0000 1.0000 1.0000 illum 2 Ka 1.0000 1.0000 1.0000 Kd 1.0000 1.0000 1.0000 diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/BattleshipConfig.java b/Projekte/battleship/model/src/main/java/pp/battleship/BattleshipConfig.java index f6b4cf20..e7c18e6a 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/BattleshipConfig.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/BattleshipConfig.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship; import pp.util.config.Config; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/Resources.java b/Projekte/battleship/model/src/main/java/pp/battleship/Resources.java index f2903c83..9f807b54 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/Resources.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/Resources.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship; import java.util.ResourceBundle; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/AnimationState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/AnimationState.java index 01336fd5..e4da00c4 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/AnimationState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/AnimationState.java @@ -11,15 +11,25 @@ import java.lang.System.Logger.Level; -public class AnimationState extends ClientState{ +/** + * Represents the state in which the animation is played + */ +public class AnimationState extends ClientState { private boolean myTurn; + /** + * Constructor for the AnimationState class + * + * @param logic the client logic + * @param turn a boolean containing if it's the client's turn + * @param position the position a Shell gets created + */ public AnimationState(ClientGameLogic logic, boolean turn, IntPoint position) { super(logic); logic.playMusic(Music.GAME_THEME); myTurn = turn; - if (myTurn){ + if (myTurn) { logic.getOpponentMap().add(new Shell(position)); } else { @@ -27,8 +37,13 @@ public AnimationState(ClientGameLogic logic, boolean turn, IntPoint position) { } } + /** + * Makes sure the client renders the correct view + * + * @return true + */ @Override - boolean showBattle(){ + boolean showBattle() { return true; } @@ -52,8 +67,13 @@ public void receivedEffect(EffectMessage msg) { } } + /** + * Sets the client back to the battle state + * + * @param msg the received SwitchToBattleState message + */ @Override - public void receivedSwitchToBattleState(SwitchToBattleState msg){ + public void receivedSwitchToBattleState(SwitchToBattleState msg) { logic.setState(new BattleState(logic, msg.getTurn())); } @@ -89,6 +109,7 @@ private void playSound(EffectMessage msg) { else if (msg.getDestroyedShip() == null) logic.playSound(Sound.EXPLOSION); else - logic.playSound(Sound.DESTROYED_SHIP); + logic.playSound(Sound.EXPLOSION); + logic.playSound(Sound.DESTROYED_SHIP); } } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java index 60339373..e9891408 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; @@ -35,11 +30,21 @@ public BattleState(ClientGameLogic logic, boolean myTurn) { this.myTurn = myTurn; } + /** + * Makes sure the client renders the correct view + * + * @return true + */ @Override public boolean showBattle() { return true; } + /** + * Triggers a shoot event if it's client's turn + * + * @param pos the position where the click occurred + */ @Override public void clickOpponentMap(IntPoint pos) { if (!myTurn) @@ -48,9 +53,14 @@ else if (logic.getOpponentMap().isValid(pos)) logic.send(new ShootMessage(pos)); } + /** + * Triggers an animation if StartAnimationMessage is received + * + * @param msg the received Startanimation message + */ @Override - public void receivedStartAnimation(StartAnimationMessage msg){ - logic.setState(new AnimationState(logic, msg.isMyTurn(), msg.getPosition() )); + public void receivedStartAnimation(StartAnimationMessage msg) { + logic.setState(new AnimationState(logic, msg.isMyTurn(), msg.getPosition())); logic.playSound(Sound.MISSILE_LAUNCH); } } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleshipClient.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleshipClient.java index 16bee440..d85369fa 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleshipClient.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/BattleshipClient.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientGameLogic.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientGameLogic.java index e5c7768c..3c898a32 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientGameLogic.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientGameLogic.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; @@ -231,6 +226,8 @@ public void received(EffectMessage msg) { } /** + * Reports that client should play an animation + * * @param msg */ @Override @@ -239,6 +236,8 @@ public void received(StartAnimationMessage msg) { } /** + * Reports that client should switch to the battle state + * * @param msg */ @Override @@ -375,9 +374,10 @@ public void update(float delta) { /** * Triggers an event to play specified music + * * @param music the music to be played */ - public void playMusic(Music music){ + public void playMusic(Music music) { notifyListeners(new MusicEvent(music)); } } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientSender.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientSender.java index a066bfd6..c383a872 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientSender.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientSender.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientState.java index b145bdbb..6514acc2 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ClientState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; @@ -167,10 +162,20 @@ void receivedEffect(EffectMessage msg) { ClientGameLogic.LOGGER.log(Level.ERROR, "receivedEffect not allowed in {0}", getName()); //NON-NLS } + /** + * Reports that client should switch to battle state + * + * @param msg the received SwitchToBattleState message + */ void receivedSwitchToBattleState(SwitchToBattleState msg) { ClientGameLogic.LOGGER.log(Level.ERROR, "receivedSwitchToBattleState not allowed in {0}", getName()); } + /** + * Reports that the client should start an animation + * + * @param msg the received StartAnimation message + */ void receivedStartAnimation(StartAnimationMessage msg) { ClientGameLogic.LOGGER.log(Level.ERROR, "receivedStartAnimation not allowed in {0}", getName()); } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/EditorState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/EditorState.java index d49d8c17..438a1ac0 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/EditorState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/EditorState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; @@ -251,6 +246,12 @@ else if (!checkMapToLoad(dto)) { selectedInHarbor = null; } + /** + * Checks if the provided map meets the requirements + * + * @param dto the data transfer object to check + * @return boolean if the map meets the requirements + */ private boolean checkMapToLoad(ShipMapDTO dto) { int mapWidth = dto.getWidth(); int mapHeight = dto.getHeight(); @@ -266,7 +267,7 @@ private boolean checkMapToLoad(ShipMapDTO dto) { // check if ships overlap List ships = dto.getShips(); - for(Battleship ship:ships) { + for (Battleship ship : ships) { for (Battleship compareShip : ships) { if (!(ship == compareShip)) { if (ship.collidesWith(compareShip)) { diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/GameOverState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/GameOverState.java index c54040fd..c619fa59 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/GameOverState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/GameOverState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; @@ -20,7 +15,7 @@ class GameOverState extends ClientState { */ GameOverState(ClientGameLogic logic, boolean loser) { super(logic); - if(loser){ + if (loser) { logic.playMusic(Music.LOSE_THEME); } else { diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/InitialState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/InitialState.java index 4acc9278..299ffdf2 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/InitialState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/InitialState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; @@ -58,6 +53,11 @@ private void fillHarbor(GameDetails details) { } } + /** + * Checks if map may be saved to file + * + * @return false + */ @Override public boolean maySaveMap() { return false; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ServerConnection.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ServerConnection.java index 93872520..ea4b833d 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ServerConnection.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/ServerConnection.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/WaitState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/WaitState.java index 06d266df..c4561726 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/client/WaitState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/client/WaitState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; @@ -40,6 +35,11 @@ public void receivedStartBattle(StartBattleMessage msg) { logic.setState(new BattleState(logic, msg.isMyTurn())); } + /** + * Reverts the client back to the editor state if an invalid map is provided + * + * @param details the game details including map size and ships + */ @Override public void receivedGameDetails(GameDetails details) { ClientGameLogic.LOGGER.log(Level.WARNING, "Invalid Map"); //NON-NLS diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/Player.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/Player.java index 71aeea5f..3ae9c05b 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/Player.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/Player.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.server; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java index c5d6db98..e0322c51 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerGameLogic.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.game.server; import pp.battleship.BattleshipConfig; @@ -157,33 +150,32 @@ else if (!checkMap(msg, from)) { } /** - * @param msg + * Handles the reception of an EndAnimation message + * @param msg received EndAnimation message */ @Override - public void received(EndAnimationMessage msg, int from){ - if(state != ServerState.WAIT_ANIMATION) + public void received(EndAnimationMessage msg, int from) { + if (state != ServerState.WAIT_ANIMATION) LOGGER.log(Level.ERROR, "animation not allowed in {0}", state); - else - if(getPlayerById(from) == players.get(0)){ - LOGGER.log(Level.DEBUG, "{0} set to true", getPlayerById(from)); - p1AnimationFinished = true; - shoot(getPlayerById(from), msg.getPosition()); - } - else if (getPlayerById(from) == players.get(1)){ - LOGGER.log(Level.DEBUG, "{0} set to true {1}", getPlayerById(from), getPlayerById(from).toString()); - p2AnimationFinished = true; - shoot(getPlayerById(from), msg.getPosition()); - } - if(p1AnimationFinished && p2AnimationFinished) { - setState(ServerState.BATTLE); - for (Player player : players) - send(player, new SwitchToBattleState(player == activePlayer)); - p1AnimationFinished = false; - p2AnimationFinished = false; - } + else if (getPlayerById(from) == players.get(0)) { + LOGGER.log(Level.DEBUG, "{0} set to true", getPlayerById(from)); + p1AnimationFinished = true; + shoot(getPlayerById(from), msg.getPosition()); + } + else if (getPlayerById(from) == players.get(1)) { + LOGGER.log(Level.DEBUG, "{0} set to true {1}", getPlayerById(from), getPlayerById(from).toString()); + p2AnimationFinished = true; + shoot(getPlayerById(from), msg.getPosition()); + } + if (p1AnimationFinished && p2AnimationFinished) { + setState(ServerState.BATTLE); + for (Player player : players) + send(player, new SwitchToBattleState(player == activePlayer)); + p1AnimationFinished = false; + p2AnimationFinished = false; + } } - /** * Returns true if the map contains correct ship placement and is of the correct size * @@ -258,6 +250,11 @@ void playerReady(Player player, List ships) { } } + /** + * Handles what Effect should be triggered based on the shot + * @param player the player receiving the message + * @param position the position the shot hit + */ void shoot(Player player, IntPoint position) { final Battleship selectedShip; selectedShip = getSelectedShip(player, position); @@ -269,6 +266,12 @@ void shoot(Player player, IntPoint position) { } } + /** + * Returns the ship at a given position + * @param player the player whose map will be checked for a ship + * @param position the position to be checked for a ship + * @return if there is a ship at the given position, returns the ship, else null + */ Battleship getSelectedShip(Player player, IntPoint position) { if (player != activePlayer) { return player.getMap().findShipAt(position); @@ -278,6 +281,11 @@ Battleship getSelectedShip(Player player, IntPoint position) { } } + /** + * Sends a message to the client that the shot missed + * @param player the player receiving the message + * @param position the position at which the shot hit in the water + */ void shotMissed(Player player, IntPoint position) { if (player != activePlayer) { send(player, EffectMessage.miss(false, position)); @@ -292,6 +300,12 @@ void shotMissed(Player player, IntPoint position) { activePlayer = player; } + /** + * Sends a message to the client that the shot missed + * @param player the player receiving the message + * @param position the position at which the shot hit in the ship + * @param ship the ship that has been hit + */ void shotHit(Player player, IntPoint position, Battleship ship) { ship.hit(position); if (getOpponent(activePlayer).getMap().getRemainingShips().isEmpty()) { @@ -319,5 +333,4 @@ else if (ship.isDestroyed()) { } } } - } \ No newline at end of file diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerSender.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerSender.java index 426c31ff..aebbd589 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerSender.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerSender.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.game.server; import pp.battleship.message.server.ServerMessage; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerState.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerState.java index 074adb2e..9833432b 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/server/ServerState.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.server; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/BattleshipClientConfig.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/BattleshipClientConfig.java index 7acdf3fb..41451de5 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/BattleshipClientConfig.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/BattleshipClientConfig.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.game.singlemode; import pp.battleship.BattleshipConfig; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/Copycat.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/Copycat.java index a80e8fc1..31ff6854 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/Copycat.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/Copycat.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.singlemode; @@ -65,8 +60,9 @@ public void received(MapMessage msg, int from) { } /** - * @param msg - * @param from + * Creates a copy of the provided EndAnimation message + * @param msg thr received EndAnimation message + * @param from the identifier of the sender */ @Override public void received(EndAnimationMessage msg, int from) { diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/InterpreterProxy.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/InterpreterProxy.java index 365b5936..2ecae1f6 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/InterpreterProxy.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/InterpreterProxy.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.game.singlemode; import pp.battleship.game.client.BattleshipClient; @@ -21,6 +14,7 @@ class InterpreterProxy implements ServerInterpreter { private final BattleshipClient playerClient; static final System.Logger LOGGER = System.getLogger(InterpreterProxy.class.getName()); + /** * Constructs an InterpreterProxy with the specified BattleshipClient. * @@ -96,7 +90,7 @@ public void received(StartAnimationMessage msg) { * @param msg the SwitchBattleState received from the server */ @Override - public void received(SwitchToBattleState msg){ + public void received(SwitchToBattleState msg) { LOGGER.log(System.Logger.Level.INFO, "Received SwitchBattleState"); forward(msg); } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/RobotClient.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/RobotClient.java index 729cf41d..a48b9566 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/RobotClient.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/RobotClient.java @@ -137,7 +137,7 @@ public void received(StartAnimationMessage msg) { * @param msg the SwitchBattleState received */ @Override - public void received(SwitchToBattleState msg){ + public void received(SwitchToBattleState msg) { LOGGER.log(Level.INFO, "Received SwitchBattleStateMessage: {0}", msg); if (msg.getTurn()) shoot(); diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/ServerConnectionMockup.java b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/ServerConnectionMockup.java index de63a612..22be2fd5 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/ServerConnectionMockup.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/game/singlemode/ServerConnectionMockup.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.singlemode; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientInterpreter.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientInterpreter.java index 5cfae5d8..79565ab7 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientInterpreter.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientInterpreter.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.client; /** @@ -27,5 +20,10 @@ public interface ClientInterpreter { */ void received(MapMessage msg, int from); + /** + * Processes a received EndAnimation message + * @param msg the received EndAnimation message + * @param from the connection ID from which the message was received + */ void received(EndAnimationMessage msg, int from); } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientMessage.java index 71c0f3e8..79d1d376 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ClientMessage.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.client; import com.jme3.network.AbstractMessage; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/EndAnimationMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/EndAnimationMessage.java index d156fb53..a71d9992 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/EndAnimationMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/EndAnimationMessage.java @@ -3,14 +3,24 @@ import com.jme3.network.serializing.Serializable; import pp.battleship.model.IntPoint; +/** + * A message sent by the client telling the server the animation is finished + */ @Serializable -public class EndAnimationMessage extends ClientMessage{ +public class EndAnimationMessage extends ClientMessage { private IntPoint position; - private EndAnimationMessage(){/*do nothing */} + /** + * Default constructor for serialization purposes. + */ + private EndAnimationMessage() {/*do nothing */} - public EndAnimationMessage(final IntPoint position){ + /** + * Constructs an EndAnimation message + * @param position the position to be effected + */ + public EndAnimationMessage(final IntPoint position) { this.position = position; } @@ -25,9 +35,11 @@ public void accept(ClientInterpreter interpreter, int from) { interpreter.received(this, from); } + /** + * Getter for the position + * @return IntPoint position + */ public IntPoint getPosition() { return position; } - - } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/MapMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/MapMessage.java index 1e60ecf3..d070e1e8 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/MapMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/MapMessage.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.client; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ShootMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ShootMessage.java index 6aa73f75..8feb24ea 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ShootMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/client/ShootMessage.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.client; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/EffectMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/EffectMessage.java index 98c74761..a9d14ee1 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/EffectMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/EffectMessage.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.server; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/GameDetails.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/GameDetails.java index f5c5a2cc..d9e8eb90 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/GameDetails.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/GameDetails.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.server; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerInterpreter.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerInterpreter.java index ad66000e..6b8145f4 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerInterpreter.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerInterpreter.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.server; import pp.battleship.message.client.EndAnimationMessage; @@ -36,7 +29,15 @@ public interface ServerInterpreter { */ void received(EffectMessage msg); + /** + * Handles a StartAnimation message received from the server + * @param msg the received StartAnimation message + */ void received(StartAnimationMessage msg); + /** + * Handles a SwitchToBattleState message received from the server + * @param msg the received SwitchToBattleState message + */ void received(SwitchToBattleState msg); } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerMessage.java index c9653ad4..71949c08 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/ServerMessage.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.server; import com.jme3.network.AbstractMessage; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartAnimationMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartAnimationMessage.java index 1a91f6e2..137fc8c3 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartAnimationMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartAnimationMessage.java @@ -3,14 +3,25 @@ import com.jme3.network.serializing.Serializable; import pp.battleship.model.IntPoint; +/** + * A message sent by the server to inform clients about the start of an animation + */ @Serializable public class StartAnimationMessage extends ServerMessage { private IntPoint position; private boolean myTurn; - private StartAnimationMessage(){/*do nothing */} + /** + * Default constructor for serialization purposes. + */ + private StartAnimationMessage() {/*do nothing */} + /** + * Constructs a StartAnimation message + * @param position the position a Shell will affect + * @param myTurn boolean if it's client's turn + */ public StartAnimationMessage(IntPoint position, boolean myTurn) { this.position = position; this.myTurn = myTurn; @@ -37,9 +48,15 @@ public String getInfoTextKey() { return "started animation at " + position; } + /** + * Getter for the position + * @return IntPoint position + */ public IntPoint getPosition() {return position;} + /** + * Getter for myTurn + * @return boolean myTurn + */ public boolean isMyTurn() {return myTurn;} - - } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartBattleMessage.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartBattleMessage.java index 5a0ca692..a34fd0b0 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartBattleMessage.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/StartBattleMessage.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.message.server; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/SwitchToBattleState.java b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/SwitchToBattleState.java index 2de7deca..e3cc91e4 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/message/server/SwitchToBattleState.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/message/server/SwitchToBattleState.java @@ -2,14 +2,24 @@ import com.jme3.network.serializing.Serializable; +/** + * A message sent by the server to tell client to switch to battle state + */ @Serializable -public class SwitchToBattleState extends ServerMessage{ +public class SwitchToBattleState extends ServerMessage { private boolean myTurn; - private SwitchToBattleState(){/*do nothing */} + /** + * Default constructor for serialization purposes. + */ + private SwitchToBattleState() {/*do nothing */} - public SwitchToBattleState(boolean turn){ + /** + * Constructs a SwitchToBattleState message + * @param turn boolean it's client's turn + */ + public SwitchToBattleState(boolean turn) { myTurn = turn; } @@ -34,7 +44,9 @@ public String getInfoTextKey() { return "switched to battle state"; } - public boolean getTurn(){return myTurn;} - - + /** + * Getter for myTurn + * @return boolean myTurn + */ + public boolean getTurn() {return myTurn;} } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/Battleship.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/Battleship.java index 7b9e583b..c34fe6a6 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/Battleship.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/Battleship.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPoint.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPoint.java index a7b148ff..33818620 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPoint.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPoint.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPosition.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPosition.java index 59771b7a..e4669758 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPosition.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/IntPosition.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; /** diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/Item.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/Item.java index a2ef8690..b099326e 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/Item.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/Item.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; /** diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/Rotation.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/Rotation.java index 3107de71..696071e5 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/Rotation.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/Rotation.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; import java.io.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java index f4b8c700..d119154d 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/Shell.java @@ -8,7 +8,7 @@ public class Shell implements Item { private int y; /** - * constructs a new shell object + * Constructs a new Shell object * * @param position the end position of the shell */ diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java index 79087f78..ece36a31 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/ShipMap.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; import pp.battleship.notification.GameEvent; @@ -92,8 +85,9 @@ public void add(Shot shot) { } /** - * Registers a shell on the map - * @param shell the shell to be registered + * Registers a Shell on the map + * + * @param shell the Shell to be registered */ public void add(Shell shell) { addItem(shell); diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/Shot.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/Shot.java index c999feed..d8e876c0 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/Shot.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/Shot.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; import com.jme3.network.serializing.Serializable; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/Visitor.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/Visitor.java index 1046142b..78f6c142 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/Visitor.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/Visitor.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; /** @@ -29,5 +22,10 @@ public interface Visitor { */ T visit(Battleship ship); + /** + * Visits a Shell element + * @param shell the Shell element to visit + * @return the result of visiting the Shell element + */ T visit(Shell shell); } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/VoidVisitor.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/VoidVisitor.java index 3bde11a1..695069e5 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/VoidVisitor.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/VoidVisitor.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model; /** @@ -26,5 +19,9 @@ public interface VoidVisitor { */ void visit(Battleship ship); + /** + * Visits a Shell element + * @param shell the Shell to be visited + */ void visit(Shell shell); } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/BattleshipDTO.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/BattleshipDTO.java index 66f45bf7..a6d73cb0 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/BattleshipDTO.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/BattleshipDTO.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model.dto; import pp.battleship.model.Battleship; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/ShipMapDTO.java b/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/ShipMapDTO.java index 294b6e94..32c73ef2 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/ShipMapDTO.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/model/dto/ShipMapDTO.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.model.dto; import com.google.gson.Gson; @@ -117,15 +110,15 @@ public static ShipMapDTO loadFrom(File file) throws IOException { /** * This method returns the width of the DTO + * * @return with of DTO */ - public int getWidth() {return width;} /** * This method returns the height of the DTO + * * @return height of DTO */ - - public int getHeight(){return height;} + public int getHeight() {return height;} } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/ClientStateEvent.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/ClientStateEvent.java index dbb0fcd7..8d88f105 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/ClientStateEvent.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/ClientStateEvent.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; /** diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEvent.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEvent.java index 649e9c24..7da85760 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEvent.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEvent.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; /** diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventBroker.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventBroker.java index 818a16b1..5866fd30 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventBroker.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventBroker.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; /** diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventListener.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventListener.java index 5b431546..182d5e9a 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventListener.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/GameEventListener.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; /** @@ -52,5 +45,4 @@ default void receivedEvent(ClientStateEvent event) { /* do nothing */ } * @param event the received Event */ default void receivedEvent(MusicEvent event) { /* do nothing */ } - } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/InfoTextEvent.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/InfoTextEvent.java index 28ffe9ef..7e72940f 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/InfoTextEvent.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/InfoTextEvent.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; /** diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemAddedEvent.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemAddedEvent.java index 57e3d4c9..dee034f1 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemAddedEvent.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemAddedEvent.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; import pp.battleship.model.Item; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemRemovedEvent.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemRemovedEvent.java index e42c7baf..1cf40e36 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemRemovedEvent.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/ItemRemovedEvent.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; import pp.battleship.model.Item; diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/Music.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/Music.java index 7c1d9036..7ce0d496 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/Music.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/Music.java @@ -5,19 +5,19 @@ */ public enum Music { /** - * menu music + * Menu music */ MENU_THEME, /** - * ingame music + * In game music */ GAME_THEME, /** - * music for a victory + * Victory music */ VICTORY_THEME, /** - * music for a loss + * Loss music */ LOSE_THEME, } diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/Sound.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/Sound.java index b3acb2c8..52691a46 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/Sound.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/Sound.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; /** diff --git a/Projekte/battleship/model/src/main/java/pp/battleship/notification/SoundEvent.java b/Projekte/battleship/model/src/main/java/pp/battleship/notification/SoundEvent.java index c4d5fbdd..165cdee0 100644 --- a/Projekte/battleship/model/src/main/java/pp/battleship/notification/SoundEvent.java +++ b/Projekte/battleship/model/src/main/java/pp/battleship/notification/SoundEvent.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.notification; /** diff --git a/Projekte/battleship/model/src/main/resources/battleship.properties b/Projekte/battleship/model/src/main/resources/battleship.properties index c21bc46c..7838e916 100644 --- a/Projekte/battleship/model/src/main/resources/battleship.properties +++ b/Projekte/battleship/model/src/main/resources/battleship.properties @@ -37,9 +37,9 @@ dialog.error=Error dialog.question=Question port.must.be.integer=Port must be an integer number map.doesnt.fit=The map doesn't fit to this game -map.invalid = map is invalid +map.invalid=map is invalid ships.dont.fit.the.map=Ships are out of bounds -menu.music.toggle = Music on/off -menu.music.volume = Volume -start.own.server = start server +menu.music.toggle=Music on/off +menu.music.volume=Volume +start.own.server=start server diff --git a/Projekte/battleship/model/src/main/resources/battleship_de.properties b/Projekte/battleship/model/src/main/resources/battleship_de.properties index 5892577d..bd91d6a8 100644 --- a/Projekte/battleship/model/src/main/resources/battleship_de.properties +++ b/Projekte/battleship/model/src/main/resources/battleship_de.properties @@ -37,9 +37,9 @@ dialog.error=Fehler dialog.question=Frage port.must.be.integer=Der Port muss eine ganze Zahl sein map.doesnt.fit=Diese Karte passt nicht zu diesem Spiel -map.invalid = Karte ungültig +map.invalid=Karte ungültig ships.dont.fit.the.map=Schiffe sind außerhalb der Map -menu.music.toggle = Musik an/aus -menu.music.volume = Lautstärke -start.own.server = Server starten +menu.music.toggle=Musik an/aus +menu.music.volume=Lautstärke +start.own.server=Server starten diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/client/EditorTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/client/EditorTest.java index 4efb0843..ce30ed8d 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/client/EditorTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/client/EditorTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.client; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/AbstractClientGameTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/AbstractClientGameTest.java index b2f7e739..5dfb562e 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/AbstractClientGameTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/AbstractClientGameTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java index 3cc236bd..144944c5 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player1Test.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player2Test.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player2Test.java index 90d6ec57..8e4a58ab 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player2Test.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame1Player2Test.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player1Test.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player1Test.java index 06677666..84ce5fa8 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player1Test.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player1Test.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player2Test.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player2Test.java index 6f42cc50..ee8c85a9 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player2Test.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGame2Player2Test.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGameLogicTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGameLogicTest.java index 0806bed9..25a3cebf 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGameLogicTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/client/ClientGameLogicTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.client; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/AbstractServerGameTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/AbstractServerGameTest.java index a5fb4af3..8fdaff8c 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/AbstractServerGameTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/AbstractServerGameTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.server; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame1Test.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame1Test.java index 81256220..34f67b11 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame1Test.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame1Test.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.server; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame2Test.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame2Test.java index c90ae8b7..49742928 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame2Test.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGame2Test.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.server; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGameLogicTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGameLogicTest.java index a0a83f8a..b20ea26c 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGameLogicTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/game/server/ServerGameLogicTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.game.server; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/model/BattleshipTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/model/BattleshipTest.java index 3bdc9f6b..5e92b974 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/model/BattleshipTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/model/BattleshipTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.model; diff --git a/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java b/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java index fc3b6bc0..3b5a196c 100644 --- a/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java +++ b/Projekte/battleship/model/src/test/java/pp/battleship/model/ShipMapTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.battleship.model; diff --git a/Projekte/battleship/server/server.properties b/Projekte/battleship/server/server.properties index 9f168a68..9fd1318a 100644 --- a/Projekte/battleship/server/server.properties +++ b/Projekte/battleship/server/server.properties @@ -1,5 +1,4 @@ -######################################## -## Programming project code +########################################## Programming project code ## UniBw M, 2022, 2023, 2024 ## www.unibw.de/inf2 ## (c) Mark Minas (mark.minas@unibw.de) diff --git a/Projekte/battleship/server/src/main/java/pp/battleship/server/BattleshipServer.java b/Projekte/battleship/server/src/main/java/pp/battleship/server/BattleshipServer.java index b4b276bc..cba4b76b 100644 --- a/Projekte/battleship/server/src/main/java/pp/battleship/server/BattleshipServer.java +++ b/Projekte/battleship/server/src/main/java/pp/battleship/server/BattleshipServer.java @@ -1,10 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.server; import com.jme3.network.ConnectionListener; @@ -81,12 +74,18 @@ public static void main(String[] args) { logic = new ServerGameLogic(this, config); } + /** + * Runs a server + */ public void run() { startServer(); while (true) processNextMessage(); } + /** + * Starts a server + */ private void startServer() { try { LOGGER.log(Level.INFO, "Starting server..."); //NON-NLS @@ -102,6 +101,9 @@ private void startServer() { } } + /** + * Processes next received message + */ private void processNextMessage() { try { pendingMessages.take().process(logic); @@ -112,6 +114,9 @@ private void processNextMessage() { } } + /** + * Registers all serializable classes + */ private void initializeSerializables() { Serializer.registerClass(GameDetails.class); Serializer.registerClass(StartBattleMessage.class); @@ -126,6 +131,9 @@ private void initializeSerializables() { Serializer.registerClass(SwitchToBattleState.class); } + /** + * Registers all listeners + */ private void registerListeners() { myServer.addMessageListener(this, MapMessage.class); myServer.addMessageListener(this, ShootMessage.class); @@ -133,6 +141,11 @@ private void registerListeners() { myServer.addConnectionListener(this); } + /** + * Handles a received message + * @param source the connection the message comes from + * @param message the received message + */ @Override public void messageReceived(HostedConnection source, Message message) { LOGGER.log(Level.INFO, "message received from {0}: {1}", source.getId(), message); //NON-NLS @@ -140,12 +153,22 @@ public void messageReceived(HostedConnection source, Message message) { pendingMessages.add(new ReceivedMessage(clientMessage, source.getId())); } + /** + * Adds a new connection to a server + * @param server the server to add the connection to + * @param hostedConnection the connection to be added + */ @Override public void connectionAdded(Server server, HostedConnection hostedConnection) { LOGGER.log(Level.INFO, "new connection {0}", hostedConnection); //NON-NLS logic.addPlayer(hostedConnection.getId()); } + /** + * Removes a standing connection from a server + * @param server the server to add the connection to + * @param hostedConnection the connection to be added + */ @Override public void connectionRemoved(Server server, HostedConnection hostedConnection) { LOGGER.log(Level.INFO, "connection closed: {0}", hostedConnection); //NON-NLS @@ -158,6 +181,10 @@ public void connectionRemoved(Server server, HostedConnection hostedConnection) } } + /** + * Shuts down the server and terminates the application with the given exit code + * @param exitValue the exit status code + */ private void exit(int exitValue) { //NON-NLS LOGGER.log(Level.INFO, "close request"); //NON-NLS if (myServer != null) diff --git a/Projekte/battleship/server/src/main/java/pp/battleship/server/ReceivedMessage.java b/Projekte/battleship/server/src/main/java/pp/battleship/server/ReceivedMessage.java index dedbda23..ea542d2d 100644 --- a/Projekte/battleship/server/src/main/java/pp/battleship/server/ReceivedMessage.java +++ b/Projekte/battleship/server/src/main/java/pp/battleship/server/ReceivedMessage.java @@ -1,15 +1,13 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// - package pp.battleship.server; import pp.battleship.message.client.ClientInterpreter; import pp.battleship.message.client.ClientMessage; +/** + * Represents a message received from a client + * @param message the received message + * @param from the ID of the client that sent the message + */ record ReceivedMessage(ClientMessage message, int from) { void process(ClientInterpreter interpreter) { message.accept(interpreter, from); diff --git a/Projekte/common/src/main/java/pp/util/Angle.java b/Projekte/common/src/main/java/pp/util/Angle.java index f3399a78..bbfcc9d1 100644 --- a/Projekte/common/src/main/java/pp/util/Angle.java +++ b/Projekte/common/src/main/java/pp/util/Angle.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/FloatMath.java b/Projekte/common/src/main/java/pp/util/FloatMath.java index 3e00a284..27720587 100644 --- a/Projekte/common/src/main/java/pp/util/FloatMath.java +++ b/Projekte/common/src/main/java/pp/util/FloatMath.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/FloatPoint.java b/Projekte/common/src/main/java/pp/util/FloatPoint.java index c43a3f31..b4017f0c 100644 --- a/Projekte/common/src/main/java/pp/util/FloatPoint.java +++ b/Projekte/common/src/main/java/pp/util/FloatPoint.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/Interval.java b/Projekte/common/src/main/java/pp/util/Interval.java index 77c7ff9d..720a13ad 100644 --- a/Projekte/common/src/main/java/pp/util/Interval.java +++ b/Projekte/common/src/main/java/pp/util/Interval.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/Position.java b/Projekte/common/src/main/java/pp/util/Position.java index c46928f4..8ac7043b 100644 --- a/Projekte/common/src/main/java/pp/util/Position.java +++ b/Projekte/common/src/main/java/pp/util/Position.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/PreferencesUtils.java b/Projekte/common/src/main/java/pp/util/PreferencesUtils.java index 40f032a6..d27a25c1 100644 --- a/Projekte/common/src/main/java/pp/util/PreferencesUtils.java +++ b/Projekte/common/src/main/java/pp/util/PreferencesUtils.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/RandomPositionIterator.java b/Projekte/common/src/main/java/pp/util/RandomPositionIterator.java index 9d6d00a1..54c4c52f 100644 --- a/Projekte/common/src/main/java/pp/util/RandomPositionIterator.java +++ b/Projekte/common/src/main/java/pp/util/RandomPositionIterator.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/Segment.java b/Projekte/common/src/main/java/pp/util/Segment.java index c5f42525..18438df8 100644 --- a/Projekte/common/src/main/java/pp/util/Segment.java +++ b/Projekte/common/src/main/java/pp/util/Segment.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/SegmentLike.java b/Projekte/common/src/main/java/pp/util/SegmentLike.java index 41edea26..5ef7c167 100644 --- a/Projekte/common/src/main/java/pp/util/SegmentLike.java +++ b/Projekte/common/src/main/java/pp/util/SegmentLike.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/Util.java b/Projekte/common/src/main/java/pp/util/Util.java index acebd346..3e6eabb0 100644 --- a/Projekte/common/src/main/java/pp/util/Util.java +++ b/Projekte/common/src/main/java/pp/util/Util.java @@ -1,9 +1,3 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// package pp.util; diff --git a/Projekte/common/src/main/java/pp/util/config/Config.java b/Projekte/common/src/main/java/pp/util/config/Config.java index 57121989..3825de8b 100644 --- a/Projekte/common/src/main/java/pp/util/config/Config.java +++ b/Projekte/common/src/main/java/pp/util/config/Config.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util.config; diff --git a/Projekte/common/src/test/java/pp/util/AngleTest.java b/Projekte/common/src/test/java/pp/util/AngleTest.java index 28f333e3..85004d2f 100644 --- a/Projekte/common/src/test/java/pp/util/AngleTest.java +++ b/Projekte/common/src/test/java/pp/util/AngleTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/test/java/pp/util/IntervalTest.java b/Projekte/common/src/test/java/pp/util/IntervalTest.java index 2f367020..dc998ba6 100644 --- a/Projekte/common/src/test/java/pp/util/IntervalTest.java +++ b/Projekte/common/src/test/java/pp/util/IntervalTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/test/java/pp/util/RandomPositionIteratorTest.java b/Projekte/common/src/test/java/pp/util/RandomPositionIteratorTest.java index 44eee8e7..a359a623 100644 --- a/Projekte/common/src/test/java/pp/util/RandomPositionIteratorTest.java +++ b/Projekte/common/src/test/java/pp/util/RandomPositionIteratorTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/test/java/pp/util/SegmentTest.java b/Projekte/common/src/test/java/pp/util/SegmentTest.java index edae4faa..3e7ba871 100644 --- a/Projekte/common/src/test/java/pp/util/SegmentTest.java +++ b/Projekte/common/src/test/java/pp/util/SegmentTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util; diff --git a/Projekte/common/src/test/java/pp/util/config/ConfigTest.java b/Projekte/common/src/test/java/pp/util/config/ConfigTest.java index 99fefbbe..1ed1a982 100644 --- a/Projekte/common/src/test/java/pp/util/config/ConfigTest.java +++ b/Projekte/common/src/test/java/pp/util/config/ConfigTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util.config; diff --git a/Projekte/common/src/test/java/pp/util/config/TestConfig.java b/Projekte/common/src/test/java/pp/util/config/TestConfig.java index 0ede0bda..21625b8b 100644 --- a/Projekte/common/src/test/java/pp/util/config/TestConfig.java +++ b/Projekte/common/src/test/java/pp/util/config/TestConfig.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.util.config; diff --git a/Projekte/jme-common/src/main/java/pp/dialog/Dialog.java b/Projekte/jme-common/src/main/java/pp/dialog/Dialog.java index 188952af..214a2424 100644 --- a/Projekte/jme-common/src/main/java/pp/dialog/Dialog.java +++ b/Projekte/jme-common/src/main/java/pp/dialog/Dialog.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.dialog; diff --git a/Projekte/jme-common/src/main/java/pp/dialog/DialogBuilder.java b/Projekte/jme-common/src/main/java/pp/dialog/DialogBuilder.java index 33228bc3..71497a10 100644 --- a/Projekte/jme-common/src/main/java/pp/dialog/DialogBuilder.java +++ b/Projekte/jme-common/src/main/java/pp/dialog/DialogBuilder.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.dialog; diff --git a/Projekte/jme-common/src/main/java/pp/dialog/DialogManager.java b/Projekte/jme-common/src/main/java/pp/dialog/DialogManager.java index ca0069e9..1733bd9c 100644 --- a/Projekte/jme-common/src/main/java/pp/dialog/DialogManager.java +++ b/Projekte/jme-common/src/main/java/pp/dialog/DialogManager.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.dialog; diff --git a/Projekte/jme-common/src/main/java/pp/dialog/SimpleDialog.java b/Projekte/jme-common/src/main/java/pp/dialog/SimpleDialog.java index 8dd3be37..a5b5589c 100644 --- a/Projekte/jme-common/src/main/java/pp/dialog/SimpleDialog.java +++ b/Projekte/jme-common/src/main/java/pp/dialog/SimpleDialog.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.dialog; diff --git a/Projekte/jme-common/src/main/java/pp/dialog/StateCheckboxModel.java b/Projekte/jme-common/src/main/java/pp/dialog/StateCheckboxModel.java index 7cee7ddf..369b32a2 100644 --- a/Projekte/jme-common/src/main/java/pp/dialog/StateCheckboxModel.java +++ b/Projekte/jme-common/src/main/java/pp/dialog/StateCheckboxModel.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.dialog; diff --git a/Projekte/jme-common/src/main/java/pp/dialog/TextInputDialog.java b/Projekte/jme-common/src/main/java/pp/dialog/TextInputDialog.java index bed26dcb..a98408fa 100644 --- a/Projekte/jme-common/src/main/java/pp/dialog/TextInputDialog.java +++ b/Projekte/jme-common/src/main/java/pp/dialog/TextInputDialog.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.dialog; diff --git a/Projekte/jme-common/src/main/java/pp/graphics/Draw.java b/Projekte/jme-common/src/main/java/pp/graphics/Draw.java index 52b017e0..538a872b 100644 --- a/Projekte/jme-common/src/main/java/pp/graphics/Draw.java +++ b/Projekte/jme-common/src/main/java/pp/graphics/Draw.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.graphics; diff --git a/Projekte/jme-common/src/main/java/pp/view/ModelViewSynchronizer.java b/Projekte/jme-common/src/main/java/pp/view/ModelViewSynchronizer.java index 02538ce8..c53d1466 100644 --- a/Projekte/jme-common/src/main/java/pp/view/ModelViewSynchronizer.java +++ b/Projekte/jme-common/src/main/java/pp/view/ModelViewSynchronizer.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.view; diff --git a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-32.fnt b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-32.fnt index 85f5d76c..96c482d4 100644 --- a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-32.fnt +++ b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-32.fnt @@ -2,176 +2,176 @@ info face="Metropolis Bold" size=32 bold=0 italic=0 charset="" unicode=0 stretch common lineHeight=33 base=26 scaleW=512 scaleH=512 pages=1 packed=0 page id=0 file="Metropolis-Bold-32.png" chars count=170 -char id=0 x=0 y=0 width=14 height=35 xoffset=1 yoffset=-1 xadvance=16 page=0 chnl=0 -char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 -char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=0 -char id=33 x=359 y=117 width=9 height=24 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 -char id=34 x=44 y=165 width=16 height=12 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=0 -char id=35 x=422 y=117 width=23 height=24 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 -char id=36 x=281 y=35 width=22 height=29 xoffset=-1 yoffset=1 xadvance=20 page=0 chnl=0 -char id=37 x=395 y=117 width=27 height=24 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 -char id=38 x=280 y=66 width=23 height=25 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 -char id=39 x=503 y=141 width=8 height=12 xoffset=0 yoffset=3 xadvance=9 page=0 chnl=0 -char id=40 x=48 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 -char id=41 x=61 y=35 width=12 height=30 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 -char id=42 x=490 y=141 width=13 height=16 xoffset=0 yoffset=1 xadvance=13 page=0 chnl=0 -char id=43 x=471 y=141 width=19 height=18 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 -char id=44 x=16 y=165 width=9 height=13 xoffset=0 yoffset=19 xadvance=9 page=0 chnl=0 -char id=45 x=142 y=165 width=12 height=6 xoffset=0 yoffset=14 xadvance=12 page=0 chnl=0 -char id=46 x=85 y=165 width=9 height=8 xoffset=0 yoffset=19 xadvance=9 page=0 chnl=0 -char id=47 x=243 y=35 width=19 height=29 xoffset=-2 yoffset=1 xadvance=15 page=0 chnl=0 -char id=48 x=336 y=117 width=23 height=24 xoffset=0 yoffset=3 xadvance=23 page=0 chnl=0 -char id=49 x=201 y=117 width=13 height=24 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=0 -char id=50 x=214 y=117 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=51 x=239 y=66 width=21 height=25 xoffset=-1 yoffset=3 xadvance=19 page=0 chnl=0 -char id=52 x=233 y=117 width=22 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=53 x=260 y=66 width=20 height=25 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=54 x=255 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 -char id=55 x=276 y=117 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 -char id=56 x=295 y=117 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=57 x=315 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 -char id=58 x=375 y=141 width=9 height=19 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0 -char id=59 x=386 y=117 width=9 height=24 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0 -char id=60 x=384 y=141 width=18 height=19 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 -char id=61 x=25 y=165 width=19 height=13 xoffset=0 yoffset=9 xadvance=19 page=0 chnl=0 -char id=62 x=402 y=141 width=18 height=19 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 -char id=63 x=368 y=117 width=18 height=24 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=0 -char id=64 x=303 y=35 width=28 height=28 xoffset=0 yoffset=3 xadvance=28 page=0 chnl=0 -char id=65 x=21 y=92 width=26 height=24 xoffset=-1 yoffset=3 xadvance=24 page=0 chnl=0 -char id=66 x=47 y=92 width=22 height=24 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 -char id=67 x=69 y=92 width=23 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 -char id=68 x=92 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 -char id=69 x=115 y=92 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=70 x=135 y=92 width=20 height=24 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 -char id=71 x=155 y=92 width=23 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 -char id=72 x=178 y=92 width=22 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 -char id=73 x=200 y=92 width=7 height=24 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 -char id=74 x=207 y=92 width=18 height=24 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 -char id=75 x=225 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 -char id=76 x=248 y=92 width=18 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 -char id=77 x=266 y=92 width=26 height=24 xoffset=1 yoffset=3 xadvance=28 page=0 chnl=0 -char id=78 x=292 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=25 page=0 chnl=0 -char id=79 x=315 y=92 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=80 x=341 y=92 width=21 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=81 x=362 y=92 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=82 x=388 y=92 width=21 height=24 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 -char id=83 x=409 y=92 width=22 height=24 xoffset=-1 yoffset=3 xadvance=20 page=0 chnl=0 -char id=84 x=431 y=92 width=21 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=85 x=452 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 -char id=86 x=475 y=92 width=26 height=24 xoffset=-1 yoffset=3 xadvance=24 page=0 chnl=0 -char id=87 x=0 y=117 width=36 height=24 xoffset=-1 yoffset=3 xadvance=35 page=0 chnl=0 -char id=88 x=36 y=117 width=25 height=24 xoffset=-1 yoffset=3 xadvance=23 page=0 chnl=0 -char id=89 x=61 y=117 width=25 height=24 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 -char id=90 x=86 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 -char id=91 x=73 y=35 width=11 height=30 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0 -char id=92 x=262 y=35 width=19 height=29 xoffset=-2 yoffset=1 xadvance=15 page=0 chnl=0 -char id=93 x=84 y=35 width=12 height=30 xoffset=0 yoffset=2 xadvance=12 page=0 chnl=0 -char id=94 x=60 y=165 width=16 height=11 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 -char id=95 x=154 y=165 width=22 height=5 xoffset=-2 yoffset=27 xadvance=19 page=0 chnl=0 -char id=96 x=94 y=165 width=10 height=7 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0 -char id=97 x=128 y=141 width=18 height=19 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 -char id=98 x=107 y=117 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=99 x=146 y=141 width=18 height=19 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 -char id=100 x=127 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 -char id=101 x=164 y=141 width=19 height=19 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 -char id=102 x=357 y=35 width=14 height=26 xoffset=-1 yoffset=1 xadvance=12 page=0 chnl=0 -char id=103 x=157 y=66 width=20 height=25 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=0 -char id=104 x=148 y=117 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=105 x=349 y=35 width=8 height=27 xoffset=0 yoffset=0 xadvance=9 page=0 chnl=0 -char id=106 x=14 y=0 width=12 height=33 xoffset=-3 yoffset=0 xadvance=9 page=0 chnl=0 -char id=107 x=167 y=117 width=20 height=24 xoffset=0 yoffset=3 xadvance=18 page=0 chnl=0 -char id=108 x=501 y=92 width=7 height=24 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 -char id=109 x=183 y=141 width=29 height=19 xoffset=0 yoffset=8 xadvance=30 page=0 chnl=0 -char id=110 x=212 y=141 width=19 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=111 x=231 y=141 width=21 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=112 x=177 y=66 width=20 height=25 xoffset=1 yoffset=8 xadvance=21 page=0 chnl=0 -char id=113 x=197 y=66 width=21 height=25 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=0 -char id=114 x=491 y=117 width=13 height=20 xoffset=1 yoffset=7 xadvance=13 page=0 chnl=0 -char id=115 x=252 y=141 width=17 height=19 xoffset=-1 yoffset=8 xadvance=16 page=0 chnl=0 -char id=116 x=187 y=117 width=14 height=24 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=0 -char id=117 x=269 y=141 width=19 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=118 x=288 y=141 width=21 height=19 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 -char id=119 x=309 y=141 width=29 height=19 xoffset=-1 yoffset=8 xadvance=27 page=0 chnl=0 -char id=120 x=338 y=141 width=20 height=19 xoffset=-1 yoffset=8 xadvance=18 page=0 chnl=0 -char id=121 x=218 y=66 width=21 height=25 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 -char id=122 x=358 y=141 width=17 height=19 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 -char id=123 x=96 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 -char id=124 x=502 y=0 width=6 height=29 xoffset=2 yoffset=1 xadvance=10 page=0 chnl=0 -char id=125 x=109 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 -char id=126 x=104 y=165 width=14 height=7 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=0 -char id=161 x=497 y=35 width=8 height=25 xoffset=1 yoffset=8 xadvance=10 page=0 chnl=0 -char id=162 x=303 y=66 width=18 height=25 xoffset=0 yoffset=5 xadvance=18 page=0 chnl=0 -char id=163 x=445 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 -char id=165 x=466 y=117 width=25 height=24 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 -char id=168 x=118 y=165 width=14 height=7 xoffset=1 yoffset=2 xadvance=15 page=0 chnl=0 -char id=175 x=176 y=165 width=14 height=5 xoffset=1 yoffset=4 xadvance=15 page=0 chnl=0 -char id=180 x=132 y=165 width=10 height=7 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0 -char id=184 x=76 y=165 width=9 height=9 xoffset=1 yoffset=25 xadvance=11 page=0 chnl=0 -char id=191 x=321 y=66 width=18 height=25 xoffset=-1 yoffset=8 xadvance=16 page=0 chnl=0 -char id=192 x=94 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=193 x=120 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=194 x=146 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=195 x=172 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=196 x=198 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=197 x=26 y=0 width=26 height=33 xoffset=-1 yoffset=-6 xadvance=24 page=0 chnl=0 -char id=198 x=0 y=141 width=36 height=24 xoffset=-1 yoffset=3 xadvance=34 page=0 chnl=0 -char id=199 x=122 y=35 width=23 height=30 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 -char id=200 x=224 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 -char id=201 x=244 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 -char id=202 x=264 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 -char id=203 x=284 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 -char id=204 x=304 y=0 width=12 height=31 xoffset=-3 yoffset=-4 xadvance=9 page=0 chnl=0 -char id=205 x=316 y=0 width=12 height=31 xoffset=1 yoffset=-4 xadvance=9 page=0 chnl=0 -char id=206 x=328 y=0 width=13 height=31 xoffset=-2 yoffset=-4 xadvance=9 page=0 chnl=0 -char id=207 x=341 y=0 width=17 height=31 xoffset=-3 yoffset=-4 xadvance=9 page=0 chnl=0 -char id=208 x=36 y=141 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=209 x=358 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=25 page=0 chnl=0 -char id=210 x=381 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 -char id=211 x=407 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 -char id=212 x=145 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 -char id=213 x=171 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 -char id=214 x=197 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 -char id=215 x=0 y=165 width=16 height=16 xoffset=1 yoffset=7 xadvance=18 page=0 chnl=0 -char id=216 x=62 y=141 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=217 x=433 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=218 x=456 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=219 x=479 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=220 x=0 y=35 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=221 x=23 y=35 width=25 height=31 xoffset=-1 yoffset=-4 xadvance=22 page=0 chnl=0 -char id=222 x=88 y=141 width=21 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=223 x=339 y=66 width=19 height=25 xoffset=1 yoffset=2 xadvance=20 page=0 chnl=0 -char id=224 x=371 y=35 width=18 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 -char id=225 x=389 y=35 width=18 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 -char id=226 x=358 y=66 width=18 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 -char id=227 x=376 y=66 width=18 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 -char id=228 x=394 y=66 width=18 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 -char id=229 x=331 y=35 width=18 height=28 xoffset=0 yoffset=-1 xadvance=19 page=0 chnl=0 -char id=230 x=420 y=141 width=30 height=19 xoffset=0 yoffset=8 xadvance=30 page=0 chnl=0 -char id=231 x=412 y=66 width=18 height=25 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 -char id=232 x=407 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 -char id=233 x=426 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 -char id=234 x=430 y=66 width=19 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 -char id=235 x=449 y=66 width=19 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 -char id=236 x=445 y=35 width=12 height=26 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=0 -char id=237 x=457 y=35 width=12 height=26 xoffset=1 yoffset=1 xadvance=9 page=0 chnl=0 -char id=238 x=469 y=35 width=13 height=26 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=0 -char id=239 x=482 y=35 width=15 height=26 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=0 -char id=240 x=0 y=66 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=241 x=20 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=242 x=39 y=66 width=21 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=243 x=60 y=66 width=21 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=244 x=468 y=66 width=21 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 -char id=245 x=489 y=66 width=21 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 -char id=246 x=0 y=92 width=21 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 -char id=247 x=109 y=141 width=19 height=20 xoffset=0 yoffset=5 xadvance=19 page=0 chnl=0 -char id=248 x=450 y=141 width=21 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=249 x=81 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=250 x=100 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=251 x=119 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=252 x=138 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=253 x=52 y=0 width=21 height=32 xoffset=-1 yoffset=1 xadvance=19 page=0 chnl=0 -char id=254 x=223 y=35 width=20 height=30 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=255 x=73 y=0 width=21 height=32 xoffset=-1 yoffset=1 xadvance=19 page=0 chnl=0 +char id=0 x=0 y=0 width=14 height=35 xoffset=1 yoffset=-1 xadvance=16 page=0 chnl=0 +char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 +char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=0 +char id=33 x=359 y=117 width=9 height=24 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=34 x=44 y=165 width=16 height=12 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=0 +char id=35 x=422 y=117 width=23 height=24 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 +char id=36 x=281 y=35 width=22 height=29 xoffset=-1 yoffset=1 xadvance=20 page=0 chnl=0 +char id=37 x=395 y=117 width=27 height=24 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 +char id=38 x=280 y=66 width=23 height=25 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 +char id=39 x=503 y=141 width=8 height=12 xoffset=0 yoffset=3 xadvance=9 page=0 chnl=0 +char id=40 x=48 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 +char id=41 x=61 y=35 width=12 height=30 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 +char id=42 x=490 y=141 width=13 height=16 xoffset=0 yoffset=1 xadvance=13 page=0 chnl=0 +char id=43 x=471 y=141 width=19 height=18 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 +char id=44 x=16 y=165 width=9 height=13 xoffset=0 yoffset=19 xadvance=9 page=0 chnl=0 +char id=45 x=142 y=165 width=12 height=6 xoffset=0 yoffset=14 xadvance=12 page=0 chnl=0 +char id=46 x=85 y=165 width=9 height=8 xoffset=0 yoffset=19 xadvance=9 page=0 chnl=0 +char id=47 x=243 y=35 width=19 height=29 xoffset=-2 yoffset=1 xadvance=15 page=0 chnl=0 +char id=48 x=336 y=117 width=23 height=24 xoffset=0 yoffset=3 xadvance=23 page=0 chnl=0 +char id=49 x=201 y=117 width=13 height=24 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=0 +char id=50 x=214 y=117 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=51 x=239 y=66 width=21 height=25 xoffset=-1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=52 x=233 y=117 width=22 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=53 x=260 y=66 width=20 height=25 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=54 x=255 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=55 x=276 y=117 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 +char id=56 x=295 y=117 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=57 x=315 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=58 x=375 y=141 width=9 height=19 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0 +char id=59 x=386 y=117 width=9 height=24 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0 +char id=60 x=384 y=141 width=18 height=19 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 +char id=61 x=25 y=165 width=19 height=13 xoffset=0 yoffset=9 xadvance=19 page=0 chnl=0 +char id=62 x=402 y=141 width=18 height=19 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=63 x=368 y=117 width=18 height=24 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=0 +char id=64 x=303 y=35 width=28 height=28 xoffset=0 yoffset=3 xadvance=28 page=0 chnl=0 +char id=65 x=21 y=92 width=26 height=24 xoffset=-1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=66 x=47 y=92 width=22 height=24 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 +char id=67 x=69 y=92 width=23 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 +char id=68 x=92 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=69 x=115 y=92 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=70 x=135 y=92 width=20 height=24 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 +char id=71 x=155 y=92 width=23 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 +char id=72 x=178 y=92 width=22 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=73 x=200 y=92 width=7 height=24 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 +char id=74 x=207 y=92 width=18 height=24 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 +char id=75 x=225 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 +char id=76 x=248 y=92 width=18 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=77 x=266 y=92 width=26 height=24 xoffset=1 yoffset=3 xadvance=28 page=0 chnl=0 +char id=78 x=292 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=25 page=0 chnl=0 +char id=79 x=315 y=92 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=80 x=341 y=92 width=21 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=81 x=362 y=92 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=82 x=388 y=92 width=21 height=24 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 +char id=83 x=409 y=92 width=22 height=24 xoffset=-1 yoffset=3 xadvance=20 page=0 chnl=0 +char id=84 x=431 y=92 width=21 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=85 x=452 y=92 width=23 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=86 x=475 y=92 width=26 height=24 xoffset=-1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=87 x=0 y=117 width=36 height=24 xoffset=-1 yoffset=3 xadvance=35 page=0 chnl=0 +char id=88 x=36 y=117 width=25 height=24 xoffset=-1 yoffset=3 xadvance=23 page=0 chnl=0 +char id=89 x=61 y=117 width=25 height=24 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 +char id=90 x=86 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=91 x=73 y=35 width=11 height=30 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0 +char id=92 x=262 y=35 width=19 height=29 xoffset=-2 yoffset=1 xadvance=15 page=0 chnl=0 +char id=93 x=84 y=35 width=12 height=30 xoffset=0 yoffset=2 xadvance=12 page=0 chnl=0 +char id=94 x=60 y=165 width=16 height=11 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=95 x=154 y=165 width=22 height=5 xoffset=-2 yoffset=27 xadvance=19 page=0 chnl=0 +char id=96 x=94 y=165 width=10 height=7 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0 +char id=97 x=128 y=141 width=18 height=19 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 +char id=98 x=107 y=117 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=99 x=146 y=141 width=18 height=19 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 +char id=100 x=127 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=101 x=164 y=141 width=19 height=19 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 +char id=102 x=357 y=35 width=14 height=26 xoffset=-1 yoffset=1 xadvance=12 page=0 chnl=0 +char id=103 x=157 y=66 width=20 height=25 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=0 +char id=104 x=148 y=117 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=105 x=349 y=35 width=8 height=27 xoffset=0 yoffset=0 xadvance=9 page=0 chnl=0 +char id=106 x=14 y=0 width=12 height=33 xoffset=-3 yoffset=0 xadvance=9 page=0 chnl=0 +char id=107 x=167 y=117 width=20 height=24 xoffset=0 yoffset=3 xadvance=18 page=0 chnl=0 +char id=108 x=501 y=92 width=7 height=24 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 +char id=109 x=183 y=141 width=29 height=19 xoffset=0 yoffset=8 xadvance=30 page=0 chnl=0 +char id=110 x=212 y=141 width=19 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=111 x=231 y=141 width=21 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=112 x=177 y=66 width=20 height=25 xoffset=1 yoffset=8 xadvance=21 page=0 chnl=0 +char id=113 x=197 y=66 width=21 height=25 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=0 +char id=114 x=491 y=117 width=13 height=20 xoffset=1 yoffset=7 xadvance=13 page=0 chnl=0 +char id=115 x=252 y=141 width=17 height=19 xoffset=-1 yoffset=8 xadvance=16 page=0 chnl=0 +char id=116 x=187 y=117 width=14 height=24 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=0 +char id=117 x=269 y=141 width=19 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=118 x=288 y=141 width=21 height=19 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 +char id=119 x=309 y=141 width=29 height=19 xoffset=-1 yoffset=8 xadvance=27 page=0 chnl=0 +char id=120 x=338 y=141 width=20 height=19 xoffset=-1 yoffset=8 xadvance=18 page=0 chnl=0 +char id=121 x=218 y=66 width=21 height=25 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 +char id=122 x=358 y=141 width=17 height=19 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 +char id=123 x=96 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 +char id=124 x=502 y=0 width=6 height=29 xoffset=2 yoffset=1 xadvance=10 page=0 chnl=0 +char id=125 x=109 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 +char id=126 x=104 y=165 width=14 height=7 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=0 +char id=161 x=497 y=35 width=8 height=25 xoffset=1 yoffset=8 xadvance=10 page=0 chnl=0 +char id=162 x=303 y=66 width=18 height=25 xoffset=0 yoffset=5 xadvance=18 page=0 chnl=0 +char id=163 x=445 y=117 width=21 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=165 x=466 y=117 width=25 height=24 xoffset=-1 yoffset=3 xadvance=22 page=0 chnl=0 +char id=168 x=118 y=165 width=14 height=7 xoffset=1 yoffset=2 xadvance=15 page=0 chnl=0 +char id=175 x=176 y=165 width=14 height=5 xoffset=1 yoffset=4 xadvance=15 page=0 chnl=0 +char id=180 x=132 y=165 width=10 height=7 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0 +char id=184 x=76 y=165 width=9 height=9 xoffset=1 yoffset=25 xadvance=11 page=0 chnl=0 +char id=191 x=321 y=66 width=18 height=25 xoffset=-1 yoffset=8 xadvance=16 page=0 chnl=0 +char id=192 x=94 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=193 x=120 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=194 x=146 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=195 x=172 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=196 x=198 y=0 width=26 height=31 xoffset=-1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=197 x=26 y=0 width=26 height=33 xoffset=-1 yoffset=-6 xadvance=24 page=0 chnl=0 +char id=198 x=0 y=141 width=36 height=24 xoffset=-1 yoffset=3 xadvance=34 page=0 chnl=0 +char id=199 x=122 y=35 width=23 height=30 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 +char id=200 x=224 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 +char id=201 x=244 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 +char id=202 x=264 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 +char id=203 x=284 y=0 width=20 height=31 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 +char id=204 x=304 y=0 width=12 height=31 xoffset=-3 yoffset=-4 xadvance=9 page=0 chnl=0 +char id=205 x=316 y=0 width=12 height=31 xoffset=1 yoffset=-4 xadvance=9 page=0 chnl=0 +char id=206 x=328 y=0 width=13 height=31 xoffset=-2 yoffset=-4 xadvance=9 page=0 chnl=0 +char id=207 x=341 y=0 width=17 height=31 xoffset=-3 yoffset=-4 xadvance=9 page=0 chnl=0 +char id=208 x=36 y=141 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=209 x=358 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=25 page=0 chnl=0 +char id=210 x=381 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 +char id=211 x=407 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 +char id=212 x=145 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 +char id=213 x=171 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 +char id=214 x=197 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 +char id=215 x=0 y=165 width=16 height=16 xoffset=1 yoffset=7 xadvance=18 page=0 chnl=0 +char id=216 x=62 y=141 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=217 x=433 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=218 x=456 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=219 x=479 y=0 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=220 x=0 y=35 width=23 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=221 x=23 y=35 width=25 height=31 xoffset=-1 yoffset=-4 xadvance=22 page=0 chnl=0 +char id=222 x=88 y=141 width=21 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=223 x=339 y=66 width=19 height=25 xoffset=1 yoffset=2 xadvance=20 page=0 chnl=0 +char id=224 x=371 y=35 width=18 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 +char id=225 x=389 y=35 width=18 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 +char id=226 x=358 y=66 width=18 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=227 x=376 y=66 width=18 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=228 x=394 y=66 width=18 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=229 x=331 y=35 width=18 height=28 xoffset=0 yoffset=-1 xadvance=19 page=0 chnl=0 +char id=230 x=420 y=141 width=30 height=19 xoffset=0 yoffset=8 xadvance=30 page=0 chnl=0 +char id=231 x=412 y=66 width=18 height=25 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 +char id=232 x=407 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 +char id=233 x=426 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 +char id=234 x=430 y=66 width=19 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=235 x=449 y=66 width=19 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=236 x=445 y=35 width=12 height=26 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=0 +char id=237 x=457 y=35 width=12 height=26 xoffset=1 yoffset=1 xadvance=9 page=0 chnl=0 +char id=238 x=469 y=35 width=13 height=26 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=0 +char id=239 x=482 y=35 width=15 height=26 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=0 +char id=240 x=0 y=66 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=241 x=20 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=242 x=39 y=66 width=21 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=243 x=60 y=66 width=21 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=244 x=468 y=66 width=21 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=245 x=489 y=66 width=21 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=246 x=0 y=92 width=21 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=247 x=109 y=141 width=19 height=20 xoffset=0 yoffset=5 xadvance=19 page=0 chnl=0 +char id=248 x=450 y=141 width=21 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=249 x=81 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=250 x=100 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=251 x=119 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=252 x=138 y=66 width=19 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=253 x=52 y=0 width=21 height=32 xoffset=-1 yoffset=1 xadvance=19 page=0 chnl=0 +char id=254 x=223 y=35 width=20 height=30 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=255 x=73 y=0 width=21 height=32 xoffset=-1 yoffset=1 xadvance=19 page=0 chnl=0 kernings count=349 kerning first=244 second=119 amount=-1 kerning first=86 second=225 amount=-1 diff --git a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-42.fnt b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-42.fnt index 4d808ea8..186b1f60 100644 --- a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-42.fnt +++ b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-42.fnt @@ -2,176 +2,176 @@ info face="Metropolis Bold" size=42 bold=0 italic=0 charset="" unicode=0 stretch common lineHeight=43 base=34 scaleW=512 scaleH=512 pages=1 packed=0 page id=0 file="Metropolis-Bold-42.png" chars count=170 -char id=0 x=0 y=0 width=17 height=44 xoffset=2 yoffset=0 xadvance=21 page=0 chnl=0 -char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 -char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=12 page=0 chnl=0 -char id=33 x=467 y=155 width=11 height=32 xoffset=1 yoffset=4 xadvance=13 page=0 chnl=0 -char id=34 x=397 y=251 width=20 height=15 xoffset=1 yoffset=4 xadvance=22 page=0 chnl=0 -char id=35 x=144 y=220 width=29 height=31 xoffset=0 yoffset=4 xadvance=28 page=0 chnl=0 -char id=36 x=426 y=44 width=27 height=39 xoffset=-1 yoffset=0 xadvance=27 page=0 chnl=0 -char id=37 x=51 y=155 width=35 height=33 xoffset=0 yoffset=3 xadvance=35 page=0 chnl=0 -char id=38 x=322 y=84 width=29 height=34 xoffset=0 yoffset=3 xadvance=29 page=0 chnl=0 -char id=39 x=417 y=251 width=9 height=15 xoffset=1 yoffset=4 xadvance=12 page=0 chnl=0 -char id=40 x=362 y=44 width=15 height=39 xoffset=1 yoffset=3 xadvance=16 page=0 chnl=0 -char id=41 x=377 y=44 width=15 height=39 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 -char id=42 x=346 y=251 width=17 height=18 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 -char id=43 x=302 y=251 width=23 height=23 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 -char id=44 x=363 y=251 width=11 height=16 xoffset=1 yoffset=26 xadvance=12 page=0 chnl=0 -char id=45 x=14 y=277 width=15 height=8 xoffset=0 yoffset=18 xadvance=15 page=0 chnl=0 -char id=46 x=458 y=251 width=10 height=10 xoffset=1 yoffset=26 xadvance=12 page=0 chnl=0 -char id=47 x=0 y=84 width=25 height=37 xoffset=-3 yoffset=1 xadvance=19 page=0 chnl=0 -char id=48 x=0 y=155 width=29 height=33 xoffset=0 yoffset=3 xadvance=30 page=0 chnl=0 -char id=49 x=75 y=220 width=17 height=31 xoffset=-1 yoffset=4 xadvance=17 page=0 chnl=0 -char id=50 x=416 y=155 width=25 height=32 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=51 x=402 y=121 width=25 height=33 xoffset=0 yoffset=3 xadvance=25 page=0 chnl=0 -char id=52 x=92 y=220 width=27 height=31 xoffset=0 yoffset=4 xadvance=27 page=0 chnl=0 -char id=53 x=441 y=155 width=26 height=32 xoffset=0 yoffset=4 xadvance=26 page=0 chnl=0 -char id=54 x=427 y=121 width=27 height=33 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 -char id=55 x=119 y=220 width=25 height=31 xoffset=0 yoffset=4 xadvance=25 page=0 chnl=0 -char id=56 x=454 y=121 width=26 height=33 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=57 x=480 y=121 width=27 height=33 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 -char id=58 x=112 y=251 width=10 height=25 xoffset=1 yoffset=11 xadvance=12 page=0 chnl=0 -char id=59 x=499 y=155 width=11 height=31 xoffset=1 yoffset=11 xadvance=12 page=0 chnl=0 -char id=60 x=234 y=251 width=22 height=24 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 -char id=61 x=374 y=251 width=23 height=16 xoffset=1 yoffset=12 xadvance=25 page=0 chnl=0 -char id=62 x=256 y=251 width=23 height=24 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 -char id=63 x=29 y=155 width=22 height=33 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=64 x=50 y=84 width=37 height=36 xoffset=0 yoffset=4 xadvance=37 page=0 chnl=0 -char id=65 x=28 y=188 width=33 height=31 xoffset=-1 yoffset=4 xadvance=32 page=0 chnl=0 -char id=66 x=61 y=188 width=27 height=31 xoffset=2 yoffset=4 xadvance=29 page=0 chnl=0 -char id=67 x=96 y=121 width=30 height=33 xoffset=0 yoffset=3 xadvance=29 page=0 chnl=0 -char id=68 x=88 y=188 width=30 height=31 xoffset=2 yoffset=4 xadvance=32 page=0 chnl=0 -char id=69 x=118 y=188 width=26 height=31 xoffset=1 yoffset=4 xadvance=27 page=0 chnl=0 -char id=70 x=144 y=188 width=26 height=31 xoffset=1 yoffset=4 xadvance=27 page=0 chnl=0 -char id=71 x=126 y=121 width=30 height=33 xoffset=0 yoffset=3 xadvance=31 page=0 chnl=0 -char id=72 x=170 y=188 width=29 height=31 xoffset=1 yoffset=4 xadvance=31 page=0 chnl=0 -char id=73 x=489 y=155 width=10 height=31 xoffset=1 yoffset=4 xadvance=12 page=0 chnl=0 -char id=74 x=289 y=155 width=23 height=32 xoffset=-1 yoffset=4 xadvance=23 page=0 chnl=0 -char id=75 x=199 y=188 width=29 height=31 xoffset=2 yoffset=4 xadvance=29 page=0 chnl=0 -char id=76 x=228 y=188 width=24 height=31 xoffset=1 yoffset=4 xadvance=24 page=0 chnl=0 -char id=77 x=252 y=188 width=33 height=31 xoffset=2 yoffset=4 xadvance=36 page=0 chnl=0 -char id=78 x=285 y=188 width=29 height=31 xoffset=2 yoffset=4 xadvance=33 page=0 chnl=0 -char id=79 x=156 y=121 width=34 height=33 xoffset=0 yoffset=3 xadvance=34 page=0 chnl=0 -char id=80 x=314 y=188 width=27 height=31 xoffset=1 yoffset=4 xadvance=28 page=0 chnl=0 -char id=81 x=190 y=121 width=34 height=33 xoffset=0 yoffset=3 xadvance=34 page=0 chnl=0 -char id=82 x=341 y=188 width=28 height=31 xoffset=1 yoffset=4 xadvance=28 page=0 chnl=0 -char id=83 x=224 y=121 width=27 height=33 xoffset=-1 yoffset=3 xadvance=27 page=0 chnl=0 -char id=84 x=369 y=188 width=27 height=31 xoffset=0 yoffset=4 xadvance=27 page=0 chnl=0 -char id=85 x=312 y=155 width=29 height=32 xoffset=1 yoffset=4 xadvance=32 page=0 chnl=0 -char id=86 x=396 y=188 width=33 height=31 xoffset=-1 yoffset=4 xadvance=32 page=0 chnl=0 -char id=87 x=429 y=188 width=47 height=31 xoffset=-1 yoffset=4 xadvance=45 page=0 chnl=0 -char id=88 x=476 y=188 width=32 height=31 xoffset=-1 yoffset=4 xadvance=30 page=0 chnl=0 -char id=89 x=0 y=220 width=31 height=31 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 -char id=90 x=31 y=220 width=27 height=31 xoffset=0 yoffset=4 xadvance=28 page=0 chnl=0 -char id=91 x=453 y=44 width=15 height=38 xoffset=1 yoffset=3 xadvance=16 page=0 chnl=0 -char id=92 x=25 y=84 width=25 height=37 xoffset=-2 yoffset=1 xadvance=19 page=0 chnl=0 -char id=93 x=468 y=44 width=15 height=38 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 -char id=94 x=426 y=251 width=20 height=14 xoffset=0 yoffset=4 xadvance=21 page=0 chnl=0 -char id=95 x=47 y=277 width=28 height=6 xoffset=-2 yoffset=36 xadvance=25 page=0 chnl=0 -char id=96 x=486 y=251 width=14 height=9 xoffset=1 yoffset=2 xadvance=16 page=0 chnl=0 -char id=97 x=333 y=220 width=23 height=26 xoffset=0 yoffset=10 xadvance=24 page=0 chnl=0 -char id=98 x=251 y=121 width=27 height=33 xoffset=1 yoffset=3 xadvance=28 page=0 chnl=0 -char id=99 x=356 y=220 width=23 height=26 xoffset=0 yoffset=10 xadvance=23 page=0 chnl=0 -char id=100 x=278 y=121 width=27 height=33 xoffset=0 yoffset=3 xadvance=28 page=0 chnl=0 -char id=101 x=379 y=220 width=25 height=26 xoffset=0 yoffset=10 xadvance=25 page=0 chnl=0 -char id=102 x=305 y=121 width=17 height=33 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 -char id=103 x=322 y=121 width=26 height=33 xoffset=0 yoffset=10 xadvance=27 page=0 chnl=0 -char id=104 x=341 y=155 width=24 height=32 xoffset=1 yoffset=3 xadvance=26 page=0 chnl=0 -char id=105 x=312 y=84 width=10 height=34 xoffset=1 yoffset=1 xadvance=11 page=0 chnl=0 -char id=106 x=50 y=0 width=17 height=42 xoffset=-4 yoffset=1 xadvance=11 page=0 chnl=0 -char id=107 x=365 y=155 width=24 height=32 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 -char id=108 x=499 y=84 width=9 height=32 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 -char id=109 x=27 y=251 width=37 height=25 xoffset=1 yoffset=10 xadvance=39 page=0 chnl=0 -char id=110 x=64 y=251 width=24 height=25 xoffset=1 yoffset=10 xadvance=26 page=0 chnl=0 -char id=111 x=404 y=220 width=27 height=26 xoffset=0 yoffset=10 xadvance=27 page=0 chnl=0 -char id=112 x=348 y=121 width=27 height=33 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 -char id=113 x=375 y=121 width=27 height=33 xoffset=0 yoffset=10 xadvance=28 page=0 chnl=0 -char id=114 x=491 y=220 width=17 height=25 xoffset=1 yoffset=10 xadvance=17 page=0 chnl=0 -char id=115 x=431 y=220 width=21 height=26 xoffset=0 yoffset=10 xadvance=21 page=0 chnl=0 -char id=116 x=58 y=220 width=17 height=31 xoffset=0 yoffset=5 xadvance=17 page=0 chnl=0 -char id=117 x=88 y=251 width=24 height=25 xoffset=1 yoffset=11 xadvance=26 page=0 chnl=0 -char id=118 x=122 y=251 width=27 height=24 xoffset=-1 yoffset=11 xadvance=25 page=0 chnl=0 -char id=119 x=149 y=251 width=37 height=24 xoffset=-1 yoffset=11 xadvance=35 page=0 chnl=0 -char id=120 x=186 y=251 width=26 height=24 xoffset=-1 yoffset=11 xadvance=24 page=0 chnl=0 -char id=121 x=389 y=155 width=27 height=32 xoffset=-1 yoffset=11 xadvance=25 page=0 chnl=0 -char id=122 x=212 y=251 width=22 height=24 xoffset=0 yoffset=11 xadvance=22 page=0 chnl=0 -char id=123 x=392 y=44 width=17 height=39 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=0 -char id=124 x=503 y=0 width=7 height=37 xoffset=3 yoffset=1 xadvance=13 page=0 chnl=0 -char id=125 x=409 y=44 width=17 height=39 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=0 -char id=126 x=468 y=251 width=18 height=10 xoffset=0 yoffset=14 xadvance=19 page=0 chnl=0 -char id=161 x=478 y=155 width=11 height=32 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=0 -char id=162 x=173 y=220 width=23 height=31 xoffset=0 yoffset=8 xadvance=23 page=0 chnl=0 -char id=163 x=0 y=188 width=28 height=32 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 -char id=165 x=196 y=220 width=31 height=31 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 -char id=168 x=29 y=277 width=18 height=8 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 -char id=175 x=75 y=277 width=18 height=6 xoffset=1 yoffset=5 xadvance=20 page=0 chnl=0 -char id=180 x=0 y=277 width=14 height=9 xoffset=1 yoffset=2 xadvance=16 page=0 chnl=0 -char id=184 x=446 y=251 width=12 height=11 xoffset=1 yoffset=32 xadvance=14 page=0 chnl=0 -char id=191 x=86 y=155 width=22 height=33 xoffset=0 yoffset=10 xadvance=21 page=0 chnl=0 -char id=192 x=437 y=0 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=193 x=470 y=0 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=194 x=0 y=44 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=195 x=33 y=44 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=196 x=66 y=44 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=197 x=17 y=0 width=33 height=43 xoffset=-1 yoffset=-8 xadvance=32 page=0 chnl=0 -char id=198 x=227 y=220 width=46 height=31 xoffset=-1 yoffset=4 xadvance=45 page=0 chnl=0 -char id=199 x=169 y=0 width=30 height=41 xoffset=0 yoffset=3 xadvance=29 page=0 chnl=0 -char id=200 x=99 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 -char id=201 x=125 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 -char id=202 x=151 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 -char id=203 x=177 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 -char id=204 x=203 y=44 width=17 height=40 xoffset=-4 yoffset=-5 xadvance=12 page=0 chnl=0 -char id=205 x=220 y=44 width=17 height=40 xoffset=1 yoffset=-5 xadvance=12 page=0 chnl=0 -char id=206 x=237 y=44 width=18 height=40 xoffset=-2 yoffset=-5 xadvance=12 page=0 chnl=0 -char id=207 x=255 y=44 width=20 height=40 xoffset=-3 yoffset=-5 xadvance=12 page=0 chnl=0 -char id=208 x=273 y=220 width=33 height=31 xoffset=0 yoffset=4 xadvance=34 page=0 chnl=0 -char id=209 x=275 y=44 width=29 height=40 xoffset=2 yoffset=-5 xadvance=33 page=0 chnl=0 -char id=210 x=67 y=0 width=34 height=42 xoffset=0 yoffset=-6 xadvance=34 page=0 chnl=0 -char id=211 x=101 y=0 width=34 height=42 xoffset=0 yoffset=-6 xadvance=34 page=0 chnl=0 -char id=212 x=135 y=0 width=34 height=42 xoffset=0 yoffset=-6 xadvance=34 page=0 chnl=0 -char id=213 x=199 y=0 width=34 height=41 xoffset=0 yoffset=-5 xadvance=34 page=0 chnl=0 -char id=214 x=233 y=0 width=34 height=41 xoffset=0 yoffset=-5 xadvance=34 page=0 chnl=0 -char id=215 x=325 y=251 width=21 height=21 xoffset=1 yoffset=9 xadvance=24 page=0 chnl=0 -char id=216 x=108 y=155 width=34 height=33 xoffset=0 yoffset=3 xadvance=34 page=0 chnl=0 -char id=217 x=267 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=218 x=296 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=219 x=325 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=220 x=354 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 -char id=221 x=304 y=44 width=31 height=40 xoffset=-1 yoffset=-5 xadvance=29 page=0 chnl=0 -char id=222 x=306 y=220 width=27 height=31 xoffset=1 yoffset=4 xadvance=28 page=0 chnl=0 -char id=223 x=142 y=155 width=25 height=33 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 -char id=224 x=87 y=84 width=23 height=35 xoffset=0 yoffset=1 xadvance=24 page=0 chnl=0 -char id=225 x=110 y=84 width=23 height=35 xoffset=0 yoffset=1 xadvance=24 page=0 chnl=0 -char id=226 x=133 y=84 width=23 height=35 xoffset=0 yoffset=1 xadvance=24 page=0 chnl=0 -char id=227 x=351 y=84 width=23 height=34 xoffset=0 yoffset=2 xadvance=24 page=0 chnl=0 -char id=228 x=374 y=84 width=23 height=34 xoffset=0 yoffset=2 xadvance=24 page=0 chnl=0 -char id=229 x=483 y=44 width=23 height=38 xoffset=0 yoffset=-2 xadvance=24 page=0 chnl=0 -char id=230 x=452 y=220 width=39 height=26 xoffset=0 yoffset=10 xadvance=39 page=0 chnl=0 -char id=231 x=397 y=84 width=23 height=34 xoffset=0 yoffset=10 xadvance=23 page=0 chnl=0 -char id=232 x=156 y=84 width=25 height=35 xoffset=0 yoffset=1 xadvance=25 page=0 chnl=0 -char id=233 x=181 y=84 width=25 height=35 xoffset=0 yoffset=1 xadvance=25 page=0 chnl=0 -char id=234 x=206 y=84 width=25 height=35 xoffset=0 yoffset=1 xadvance=25 page=0 chnl=0 -char id=235 x=420 y=84 width=25 height=34 xoffset=0 yoffset=2 xadvance=25 page=0 chnl=0 -char id=236 x=167 y=155 width=16 height=33 xoffset=-4 yoffset=2 xadvance=11 page=0 chnl=0 -char id=237 x=183 y=155 width=16 height=33 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0 -char id=238 x=199 y=155 width=19 height=33 xoffset=-3 yoffset=2 xadvance=11 page=0 chnl=0 -char id=239 x=218 y=155 width=21 height=33 xoffset=-3 yoffset=2 xadvance=11 page=0 chnl=0 -char id=240 x=239 y=155 width=26 height=33 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 -char id=241 x=265 y=155 width=24 height=33 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 -char id=242 x=231 y=84 width=27 height=35 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 -char id=243 x=258 y=84 width=27 height=35 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 -char id=244 x=285 y=84 width=27 height=35 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 -char id=245 x=445 y=84 width=27 height=34 xoffset=0 yoffset=2 xadvance=27 page=0 chnl=0 -char id=246 x=472 y=84 width=27 height=34 xoffset=0 yoffset=2 xadvance=27 page=0 chnl=0 -char id=247 x=279 y=251 width=23 height=24 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 -char id=248 x=0 y=251 width=27 height=26 xoffset=0 yoffset=10 xadvance=27 page=0 chnl=0 -char id=249 x=0 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 -char id=250 x=24 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 -char id=251 x=48 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 -char id=252 x=72 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 -char id=253 x=383 y=0 width=27 height=41 xoffset=-1 yoffset=2 xadvance=25 page=0 chnl=0 -char id=254 x=335 y=44 width=27 height=40 xoffset=1 yoffset=3 xadvance=28 page=0 chnl=0 -char id=255 x=410 y=0 width=27 height=41 xoffset=-1 yoffset=2 xadvance=25 page=0 chnl=0 +char id=0 x=0 y=0 width=17 height=44 xoffset=2 yoffset=0 xadvance=21 page=0 chnl=0 +char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 +char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=12 page=0 chnl=0 +char id=33 x=467 y=155 width=11 height=32 xoffset=1 yoffset=4 xadvance=13 page=0 chnl=0 +char id=34 x=397 y=251 width=20 height=15 xoffset=1 yoffset=4 xadvance=22 page=0 chnl=0 +char id=35 x=144 y=220 width=29 height=31 xoffset=0 yoffset=4 xadvance=28 page=0 chnl=0 +char id=36 x=426 y=44 width=27 height=39 xoffset=-1 yoffset=0 xadvance=27 page=0 chnl=0 +char id=37 x=51 y=155 width=35 height=33 xoffset=0 yoffset=3 xadvance=35 page=0 chnl=0 +char id=38 x=322 y=84 width=29 height=34 xoffset=0 yoffset=3 xadvance=29 page=0 chnl=0 +char id=39 x=417 y=251 width=9 height=15 xoffset=1 yoffset=4 xadvance=12 page=0 chnl=0 +char id=40 x=362 y=44 width=15 height=39 xoffset=1 yoffset=3 xadvance=16 page=0 chnl=0 +char id=41 x=377 y=44 width=15 height=39 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=42 x=346 y=251 width=17 height=18 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=43 x=302 y=251 width=23 height=23 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=44 x=363 y=251 width=11 height=16 xoffset=1 yoffset=26 xadvance=12 page=0 chnl=0 +char id=45 x=14 y=277 width=15 height=8 xoffset=0 yoffset=18 xadvance=15 page=0 chnl=0 +char id=46 x=458 y=251 width=10 height=10 xoffset=1 yoffset=26 xadvance=12 page=0 chnl=0 +char id=47 x=0 y=84 width=25 height=37 xoffset=-3 yoffset=1 xadvance=19 page=0 chnl=0 +char id=48 x=0 y=155 width=29 height=33 xoffset=0 yoffset=3 xadvance=30 page=0 chnl=0 +char id=49 x=75 y=220 width=17 height=31 xoffset=-1 yoffset=4 xadvance=17 page=0 chnl=0 +char id=50 x=416 y=155 width=25 height=32 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=51 x=402 y=121 width=25 height=33 xoffset=0 yoffset=3 xadvance=25 page=0 chnl=0 +char id=52 x=92 y=220 width=27 height=31 xoffset=0 yoffset=4 xadvance=27 page=0 chnl=0 +char id=53 x=441 y=155 width=26 height=32 xoffset=0 yoffset=4 xadvance=26 page=0 chnl=0 +char id=54 x=427 y=121 width=27 height=33 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 +char id=55 x=119 y=220 width=25 height=31 xoffset=0 yoffset=4 xadvance=25 page=0 chnl=0 +char id=56 x=454 y=121 width=26 height=33 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=57 x=480 y=121 width=27 height=33 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 +char id=58 x=112 y=251 width=10 height=25 xoffset=1 yoffset=11 xadvance=12 page=0 chnl=0 +char id=59 x=499 y=155 width=11 height=31 xoffset=1 yoffset=11 xadvance=12 page=0 chnl=0 +char id=60 x=234 y=251 width=22 height=24 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=61 x=374 y=251 width=23 height=16 xoffset=1 yoffset=12 xadvance=25 page=0 chnl=0 +char id=62 x=256 y=251 width=23 height=24 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=63 x=29 y=155 width=22 height=33 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=64 x=50 y=84 width=37 height=36 xoffset=0 yoffset=4 xadvance=37 page=0 chnl=0 +char id=65 x=28 y=188 width=33 height=31 xoffset=-1 yoffset=4 xadvance=32 page=0 chnl=0 +char id=66 x=61 y=188 width=27 height=31 xoffset=2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=67 x=96 y=121 width=30 height=33 xoffset=0 yoffset=3 xadvance=29 page=0 chnl=0 +char id=68 x=88 y=188 width=30 height=31 xoffset=2 yoffset=4 xadvance=32 page=0 chnl=0 +char id=69 x=118 y=188 width=26 height=31 xoffset=1 yoffset=4 xadvance=27 page=0 chnl=0 +char id=70 x=144 y=188 width=26 height=31 xoffset=1 yoffset=4 xadvance=27 page=0 chnl=0 +char id=71 x=126 y=121 width=30 height=33 xoffset=0 yoffset=3 xadvance=31 page=0 chnl=0 +char id=72 x=170 y=188 width=29 height=31 xoffset=1 yoffset=4 xadvance=31 page=0 chnl=0 +char id=73 x=489 y=155 width=10 height=31 xoffset=1 yoffset=4 xadvance=12 page=0 chnl=0 +char id=74 x=289 y=155 width=23 height=32 xoffset=-1 yoffset=4 xadvance=23 page=0 chnl=0 +char id=75 x=199 y=188 width=29 height=31 xoffset=2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=76 x=228 y=188 width=24 height=31 xoffset=1 yoffset=4 xadvance=24 page=0 chnl=0 +char id=77 x=252 y=188 width=33 height=31 xoffset=2 yoffset=4 xadvance=36 page=0 chnl=0 +char id=78 x=285 y=188 width=29 height=31 xoffset=2 yoffset=4 xadvance=33 page=0 chnl=0 +char id=79 x=156 y=121 width=34 height=33 xoffset=0 yoffset=3 xadvance=34 page=0 chnl=0 +char id=80 x=314 y=188 width=27 height=31 xoffset=1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=81 x=190 y=121 width=34 height=33 xoffset=0 yoffset=3 xadvance=34 page=0 chnl=0 +char id=82 x=341 y=188 width=28 height=31 xoffset=1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=83 x=224 y=121 width=27 height=33 xoffset=-1 yoffset=3 xadvance=27 page=0 chnl=0 +char id=84 x=369 y=188 width=27 height=31 xoffset=0 yoffset=4 xadvance=27 page=0 chnl=0 +char id=85 x=312 y=155 width=29 height=32 xoffset=1 yoffset=4 xadvance=32 page=0 chnl=0 +char id=86 x=396 y=188 width=33 height=31 xoffset=-1 yoffset=4 xadvance=32 page=0 chnl=0 +char id=87 x=429 y=188 width=47 height=31 xoffset=-1 yoffset=4 xadvance=45 page=0 chnl=0 +char id=88 x=476 y=188 width=32 height=31 xoffset=-1 yoffset=4 xadvance=30 page=0 chnl=0 +char id=89 x=0 y=220 width=31 height=31 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=90 x=31 y=220 width=27 height=31 xoffset=0 yoffset=4 xadvance=28 page=0 chnl=0 +char id=91 x=453 y=44 width=15 height=38 xoffset=1 yoffset=3 xadvance=16 page=0 chnl=0 +char id=92 x=25 y=84 width=25 height=37 xoffset=-2 yoffset=1 xadvance=19 page=0 chnl=0 +char id=93 x=468 y=44 width=15 height=38 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=94 x=426 y=251 width=20 height=14 xoffset=0 yoffset=4 xadvance=21 page=0 chnl=0 +char id=95 x=47 y=277 width=28 height=6 xoffset=-2 yoffset=36 xadvance=25 page=0 chnl=0 +char id=96 x=486 y=251 width=14 height=9 xoffset=1 yoffset=2 xadvance=16 page=0 chnl=0 +char id=97 x=333 y=220 width=23 height=26 xoffset=0 yoffset=10 xadvance=24 page=0 chnl=0 +char id=98 x=251 y=121 width=27 height=33 xoffset=1 yoffset=3 xadvance=28 page=0 chnl=0 +char id=99 x=356 y=220 width=23 height=26 xoffset=0 yoffset=10 xadvance=23 page=0 chnl=0 +char id=100 x=278 y=121 width=27 height=33 xoffset=0 yoffset=3 xadvance=28 page=0 chnl=0 +char id=101 x=379 y=220 width=25 height=26 xoffset=0 yoffset=10 xadvance=25 page=0 chnl=0 +char id=102 x=305 y=121 width=17 height=33 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=103 x=322 y=121 width=26 height=33 xoffset=0 yoffset=10 xadvance=27 page=0 chnl=0 +char id=104 x=341 y=155 width=24 height=32 xoffset=1 yoffset=3 xadvance=26 page=0 chnl=0 +char id=105 x=312 y=84 width=10 height=34 xoffset=1 yoffset=1 xadvance=11 page=0 chnl=0 +char id=106 x=50 y=0 width=17 height=42 xoffset=-4 yoffset=1 xadvance=11 page=0 chnl=0 +char id=107 x=365 y=155 width=24 height=32 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=108 x=499 y=84 width=9 height=32 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 +char id=109 x=27 y=251 width=37 height=25 xoffset=1 yoffset=10 xadvance=39 page=0 chnl=0 +char id=110 x=64 y=251 width=24 height=25 xoffset=1 yoffset=10 xadvance=26 page=0 chnl=0 +char id=111 x=404 y=220 width=27 height=26 xoffset=0 yoffset=10 xadvance=27 page=0 chnl=0 +char id=112 x=348 y=121 width=27 height=33 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 +char id=113 x=375 y=121 width=27 height=33 xoffset=0 yoffset=10 xadvance=28 page=0 chnl=0 +char id=114 x=491 y=220 width=17 height=25 xoffset=1 yoffset=10 xadvance=17 page=0 chnl=0 +char id=115 x=431 y=220 width=21 height=26 xoffset=0 yoffset=10 xadvance=21 page=0 chnl=0 +char id=116 x=58 y=220 width=17 height=31 xoffset=0 yoffset=5 xadvance=17 page=0 chnl=0 +char id=117 x=88 y=251 width=24 height=25 xoffset=1 yoffset=11 xadvance=26 page=0 chnl=0 +char id=118 x=122 y=251 width=27 height=24 xoffset=-1 yoffset=11 xadvance=25 page=0 chnl=0 +char id=119 x=149 y=251 width=37 height=24 xoffset=-1 yoffset=11 xadvance=35 page=0 chnl=0 +char id=120 x=186 y=251 width=26 height=24 xoffset=-1 yoffset=11 xadvance=24 page=0 chnl=0 +char id=121 x=389 y=155 width=27 height=32 xoffset=-1 yoffset=11 xadvance=25 page=0 chnl=0 +char id=122 x=212 y=251 width=22 height=24 xoffset=0 yoffset=11 xadvance=22 page=0 chnl=0 +char id=123 x=392 y=44 width=17 height=39 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=0 +char id=124 x=503 y=0 width=7 height=37 xoffset=3 yoffset=1 xadvance=13 page=0 chnl=0 +char id=125 x=409 y=44 width=17 height=39 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=0 +char id=126 x=468 y=251 width=18 height=10 xoffset=0 yoffset=14 xadvance=19 page=0 chnl=0 +char id=161 x=478 y=155 width=11 height=32 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=0 +char id=162 x=173 y=220 width=23 height=31 xoffset=0 yoffset=8 xadvance=23 page=0 chnl=0 +char id=163 x=0 y=188 width=28 height=32 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 +char id=165 x=196 y=220 width=31 height=31 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=168 x=29 y=277 width=18 height=8 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 +char id=175 x=75 y=277 width=18 height=6 xoffset=1 yoffset=5 xadvance=20 page=0 chnl=0 +char id=180 x=0 y=277 width=14 height=9 xoffset=1 yoffset=2 xadvance=16 page=0 chnl=0 +char id=184 x=446 y=251 width=12 height=11 xoffset=1 yoffset=32 xadvance=14 page=0 chnl=0 +char id=191 x=86 y=155 width=22 height=33 xoffset=0 yoffset=10 xadvance=21 page=0 chnl=0 +char id=192 x=437 y=0 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=193 x=470 y=0 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=194 x=0 y=44 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=195 x=33 y=44 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=196 x=66 y=44 width=33 height=40 xoffset=-1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=197 x=17 y=0 width=33 height=43 xoffset=-1 yoffset=-8 xadvance=32 page=0 chnl=0 +char id=198 x=227 y=220 width=46 height=31 xoffset=-1 yoffset=4 xadvance=45 page=0 chnl=0 +char id=199 x=169 y=0 width=30 height=41 xoffset=0 yoffset=3 xadvance=29 page=0 chnl=0 +char id=200 x=99 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 +char id=201 x=125 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 +char id=202 x=151 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 +char id=203 x=177 y=44 width=26 height=40 xoffset=1 yoffset=-5 xadvance=27 page=0 chnl=0 +char id=204 x=203 y=44 width=17 height=40 xoffset=-4 yoffset=-5 xadvance=12 page=0 chnl=0 +char id=205 x=220 y=44 width=17 height=40 xoffset=1 yoffset=-5 xadvance=12 page=0 chnl=0 +char id=206 x=237 y=44 width=18 height=40 xoffset=-2 yoffset=-5 xadvance=12 page=0 chnl=0 +char id=207 x=255 y=44 width=20 height=40 xoffset=-3 yoffset=-5 xadvance=12 page=0 chnl=0 +char id=208 x=273 y=220 width=33 height=31 xoffset=0 yoffset=4 xadvance=34 page=0 chnl=0 +char id=209 x=275 y=44 width=29 height=40 xoffset=2 yoffset=-5 xadvance=33 page=0 chnl=0 +char id=210 x=67 y=0 width=34 height=42 xoffset=0 yoffset=-6 xadvance=34 page=0 chnl=0 +char id=211 x=101 y=0 width=34 height=42 xoffset=0 yoffset=-6 xadvance=34 page=0 chnl=0 +char id=212 x=135 y=0 width=34 height=42 xoffset=0 yoffset=-6 xadvance=34 page=0 chnl=0 +char id=213 x=199 y=0 width=34 height=41 xoffset=0 yoffset=-5 xadvance=34 page=0 chnl=0 +char id=214 x=233 y=0 width=34 height=41 xoffset=0 yoffset=-5 xadvance=34 page=0 chnl=0 +char id=215 x=325 y=251 width=21 height=21 xoffset=1 yoffset=9 xadvance=24 page=0 chnl=0 +char id=216 x=108 y=155 width=34 height=33 xoffset=0 yoffset=3 xadvance=34 page=0 chnl=0 +char id=217 x=267 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=218 x=296 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=219 x=325 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=220 x=354 y=0 width=29 height=41 xoffset=1 yoffset=-5 xadvance=32 page=0 chnl=0 +char id=221 x=304 y=44 width=31 height=40 xoffset=-1 yoffset=-5 xadvance=29 page=0 chnl=0 +char id=222 x=306 y=220 width=27 height=31 xoffset=1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=223 x=142 y=155 width=25 height=33 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 +char id=224 x=87 y=84 width=23 height=35 xoffset=0 yoffset=1 xadvance=24 page=0 chnl=0 +char id=225 x=110 y=84 width=23 height=35 xoffset=0 yoffset=1 xadvance=24 page=0 chnl=0 +char id=226 x=133 y=84 width=23 height=35 xoffset=0 yoffset=1 xadvance=24 page=0 chnl=0 +char id=227 x=351 y=84 width=23 height=34 xoffset=0 yoffset=2 xadvance=24 page=0 chnl=0 +char id=228 x=374 y=84 width=23 height=34 xoffset=0 yoffset=2 xadvance=24 page=0 chnl=0 +char id=229 x=483 y=44 width=23 height=38 xoffset=0 yoffset=-2 xadvance=24 page=0 chnl=0 +char id=230 x=452 y=220 width=39 height=26 xoffset=0 yoffset=10 xadvance=39 page=0 chnl=0 +char id=231 x=397 y=84 width=23 height=34 xoffset=0 yoffset=10 xadvance=23 page=0 chnl=0 +char id=232 x=156 y=84 width=25 height=35 xoffset=0 yoffset=1 xadvance=25 page=0 chnl=0 +char id=233 x=181 y=84 width=25 height=35 xoffset=0 yoffset=1 xadvance=25 page=0 chnl=0 +char id=234 x=206 y=84 width=25 height=35 xoffset=0 yoffset=1 xadvance=25 page=0 chnl=0 +char id=235 x=420 y=84 width=25 height=34 xoffset=0 yoffset=2 xadvance=25 page=0 chnl=0 +char id=236 x=167 y=155 width=16 height=33 xoffset=-4 yoffset=2 xadvance=11 page=0 chnl=0 +char id=237 x=183 y=155 width=16 height=33 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0 +char id=238 x=199 y=155 width=19 height=33 xoffset=-3 yoffset=2 xadvance=11 page=0 chnl=0 +char id=239 x=218 y=155 width=21 height=33 xoffset=-3 yoffset=2 xadvance=11 page=0 chnl=0 +char id=240 x=239 y=155 width=26 height=33 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 +char id=241 x=265 y=155 width=24 height=33 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 +char id=242 x=231 y=84 width=27 height=35 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 +char id=243 x=258 y=84 width=27 height=35 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 +char id=244 x=285 y=84 width=27 height=35 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 +char id=245 x=445 y=84 width=27 height=34 xoffset=0 yoffset=2 xadvance=27 page=0 chnl=0 +char id=246 x=472 y=84 width=27 height=34 xoffset=0 yoffset=2 xadvance=27 page=0 chnl=0 +char id=247 x=279 y=251 width=23 height=24 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=248 x=0 y=251 width=27 height=26 xoffset=0 yoffset=10 xadvance=27 page=0 chnl=0 +char id=249 x=0 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 +char id=250 x=24 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 +char id=251 x=48 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 +char id=252 x=72 y=121 width=24 height=34 xoffset=1 yoffset=2 xadvance=26 page=0 chnl=0 +char id=253 x=383 y=0 width=27 height=41 xoffset=-1 yoffset=2 xadvance=25 page=0 chnl=0 +char id=254 x=335 y=44 width=27 height=40 xoffset=1 yoffset=3 xadvance=28 page=0 chnl=0 +char id=255 x=410 y=0 width=27 height=41 xoffset=-1 yoffset=2 xadvance=25 page=0 chnl=0 kernings count=370 kerning first=244 second=119 amount=-1 kerning first=86 second=225 amount=-2 diff --git a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-64.fnt b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-64.fnt index f620a9b8..47d904dd 100644 --- a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-64.fnt +++ b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Bold-64.fnt @@ -3,176 +3,176 @@ common lineHeight=65 base=51 scaleW=512 scaleH=512 pages=2 packed=0 page id=0 file="Metropolis-Bold-641.png" page id=1 file="Metropolis-Bold-642.png" chars count=170 -char id=0 x=0 y=0 width=24 height=66 xoffset=4 yoffset=-1 xadvance=32 page=0 chnl=0 -char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 -char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=18 page=0 chnl=0 -char id=33 x=114 y=386 width=15 height=47 xoffset=2 yoffset=6 xadvance=20 page=0 chnl=0 -char id=34 x=103 y=479 width=29 height=22 xoffset=2 yoffset=6 xadvance=33 page=0 chnl=0 -char id=36 x=394 y=126 width=40 height=57 xoffset=0 yoffset=1 xadvance=41 page=0 chnl=0 -char id=37 x=43 y=338 width=52 height=48 xoffset=1 yoffset=5 xadvance=54 page=0 chnl=0 -char id=38 x=109 y=240 width=43 height=49 xoffset=0 yoffset=5 xadvance=43 page=0 chnl=0 -char id=39 x=132 y=479 width=13 height=22 xoffset=2 yoffset=6 xadvance=18 page=0 chnl=0 -char id=40 x=261 y=126 width=22 height=58 xoffset=2 yoffset=5 xadvance=25 page=0 chnl=0 -char id=41 x=283 y=126 width=22 height=58 xoffset=1 yoffset=5 xadvance=25 page=0 chnl=0 -char id=42 x=30 y=479 width=24 height=26 xoffset=1 yoffset=4 xadvance=25 page=0 chnl=0 -char id=44 x=88 y=479 width=15 height=23 xoffset=2 yoffset=39 xadvance=19 page=0 chnl=0 -char id=45 x=291 y=479 width=21 height=10 xoffset=1 yoffset=28 xadvance=23 page=0 chnl=0 -char id=46 x=190 y=479 width=15 height=14 xoffset=2 yoffset=39 xadvance=19 page=0 chnl=0 -char id=47 x=434 y=126 width=36 height=55 xoffset=-3 yoffset=2 xadvance=30 page=0 chnl=0 -char id=48 x=0 y=338 width=43 height=48 xoffset=1 yoffset=5 xadvance=45 page=0 chnl=0 -char id=50 x=40 y=386 width=37 height=47 xoffset=1 yoffset=5 xadvance=39 page=0 chnl=0 -char id=51 x=319 y=290 width=38 height=48 xoffset=0 yoffset=5 xadvance=39 page=0 chnl=0 -char id=53 x=77 y=386 width=37 height=47 xoffset=1 yoffset=6 xadvance=40 page=0 chnl=0 -char id=54 x=357 y=290 width=39 height=48 xoffset=1 yoffset=5 xadvance=41 page=0 chnl=0 -char id=56 x=396 y=290 width=38 height=48 xoffset=1 yoffset=5 xadvance=40 page=0 chnl=0 -char id=57 x=434 y=290 width=39 height=48 xoffset=1 yoffset=5 xadvance=41 page=0 chnl=0 -char id=58 x=495 y=433 width=15 height=37 xoffset=2 yoffset=16 xadvance=19 page=0 chnl=0 -char id=59 x=489 y=386 width=15 height=46 xoffset=2 yoffset=16 xadvance=19 page=0 chnl=0 -char id=61 x=54 y=479 width=34 height=25 xoffset=2 yoffset=17 xadvance=39 page=0 chnl=0 -char id=63 x=473 y=290 width=32 height=48 xoffset=0 yoffset=5 xadvance=32 page=0 chnl=0 -char id=64 x=34 y=185 width=54 height=53 xoffset=1 yoffset=7 xadvance=56 page=0 chnl=0 -char id=65 x=183 y=386 width=50 height=46 xoffset=-1 yoffset=6 xadvance=48 page=0 chnl=0 -char id=66 x=233 y=386 width=41 height=46 xoffset=3 yoffset=6 xadvance=45 page=0 chnl=0 -char id=67 x=412 y=240 width=44 height=48 xoffset=1 yoffset=5 xadvance=45 page=0 chnl=0 -char id=68 x=274 y=386 width=44 height=46 xoffset=3 yoffset=6 xadvance=49 page=0 chnl=0 -char id=69 x=318 y=386 width=37 height=46 xoffset=3 yoffset=6 xadvance=41 page=0 chnl=0 -char id=70 x=355 y=386 width=37 height=46 xoffset=3 yoffset=6 xadvance=41 page=0 chnl=0 -char id=71 x=456 y=240 width=44 height=48 xoffset=1 yoffset=5 xadvance=48 page=0 chnl=0 -char id=72 x=392 y=386 width=42 height=46 xoffset=3 yoffset=6 xadvance=48 page=0 chnl=0 -char id=73 x=434 y=386 width=12 height=46 xoffset=3 yoffset=6 xadvance=18 page=0 chnl=0 -char id=74 x=305 y=338 width=33 height=47 xoffset=-1 yoffset=6 xadvance=35 page=0 chnl=0 -char id=75 x=446 y=386 width=43 height=46 xoffset=3 yoffset=6 xadvance=45 page=0 chnl=0 -char id=76 x=0 y=433 width=34 height=46 xoffset=3 yoffset=6 xadvance=37 page=0 chnl=0 -char id=77 x=34 y=433 width=49 height=46 xoffset=3 yoffset=6 xadvance=55 page=0 chnl=0 -char id=78 x=83 y=433 width=43 height=46 xoffset=3 yoffset=6 xadvance=50 page=0 chnl=0 -char id=79 x=0 y=290 width=50 height=48 xoffset=1 yoffset=5 xadvance=52 page=0 chnl=0 -char id=80 x=126 y=433 width=39 height=46 xoffset=3 yoffset=6 xadvance=42 page=0 chnl=0 -char id=81 x=50 y=290 width=50 height=48 xoffset=1 yoffset=5 xadvance=52 page=0 chnl=0 -char id=82 x=165 y=433 width=40 height=46 xoffset=3 yoffset=6 xadvance=43 page=0 chnl=0 -char id=83 x=100 y=290 width=40 height=48 xoffset=0 yoffset=5 xadvance=41 page=0 chnl=0 -char id=84 x=205 y=433 width=39 height=46 xoffset=1 yoffset=6 xadvance=41 page=0 chnl=0 -char id=85 x=338 y=338 width=43 height=47 xoffset=3 yoffset=6 xadvance=48 page=0 chnl=0 -char id=86 x=244 y=433 width=50 height=46 xoffset=-1 yoffset=6 xadvance=48 page=0 chnl=0 -char id=87 x=294 y=433 width=69 height=46 xoffset=0 yoffset=6 xadvance=69 page=0 chnl=0 -char id=88 x=363 y=433 width=46 height=46 xoffset=0 yoffset=6 xadvance=46 page=0 chnl=0 -char id=89 x=409 y=433 width=47 height=46 xoffset=-1 yoffset=6 xadvance=44 page=0 chnl=0 -char id=90 x=456 y=433 width=39 height=46 xoffset=2 yoffset=6 xadvance=42 page=0 chnl=0 -char id=91 x=305 y=126 width=20 height=58 xoffset=3 yoffset=4 xadvance=25 page=0 chnl=0 -char id=92 x=470 y=126 width=36 height=55 xoffset=-2 yoffset=2 xadvance=30 page=0 chnl=0 -char id=93 x=325 y=126 width=21 height=58 xoffset=1 yoffset=4 xadvance=25 page=0 chnl=0 -char id=94 x=145 y=479 width=29 height=20 xoffset=1 yoffset=6 xadvance=31 page=0 chnl=0 -char id=95 x=312 y=479 width=41 height=8 xoffset=-2 yoffset=54 xadvance=38 page=0 chnl=0 -char id=96 x=230 y=479 width=18 height=12 xoffset=3 yoffset=3 xadvance=24 page=0 chnl=0 -char id=98 x=140 y=290 width=38 height=48 xoffset=3 yoffset=5 xadvance=42 page=0 chnl=0 -char id=100 x=178 y=290 width=39 height=48 xoffset=1 yoffset=5 xadvance=42 page=0 chnl=0 -char id=102 x=217 y=290 width=25 height=48 xoffset=0 yoffset=4 xadvance=24 page=0 chnl=0 -char id=103 x=381 y=338 width=38 height=47 xoffset=1 yoffset=16 xadvance=42 page=0 chnl=0 -char id=104 x=419 y=338 width=35 height=47 xoffset=2 yoffset=5 xadvance=39 page=0 chnl=0 -char id=105 x=88 y=185 width=13 height=50 xoffset=2 yoffset=2 xadvance=17 page=0 chnl=0 -char id=106 x=74 y=0 width=23 height=62 xoffset=-5 yoffset=2 xadvance=17 page=0 chnl=0 -char id=107 x=454 y=338 width=36 height=47 xoffset=2 yoffset=5 xadvance=37 page=0 chnl=0 -char id=108 x=490 y=338 width=12 height=47 xoffset=3 yoffset=5 xadvance=17 page=0 chnl=0 -char id=112 x=242 y=290 width=38 height=48 xoffset=3 yoffset=16 xadvance=42 page=0 chnl=0 -char id=113 x=280 y=290 width=39 height=48 xoffset=1 yoffset=16 xadvance=42 page=0 chnl=0 -char id=121 x=0 y=386 width=40 height=47 xoffset=-1 yoffset=17 xadvance=38 page=0 chnl=0 -char id=123 x=346 y=126 width=24 height=58 xoffset=1 yoffset=5 xadvance=26 page=0 chnl=0 -char id=124 x=500 y=66 width=9 height=55 xoffset=5 yoffset=2 xadvance=19 page=0 chnl=0 -char id=125 x=370 y=126 width=24 height=58 xoffset=1 yoffset=5 xadvance=26 page=0 chnl=0 -char id=126 x=205 y=479 width=25 height=13 xoffset=2 yoffset=21 xadvance=29 page=0 chnl=0 -char id=161 x=129 y=386 width=14 height=47 xoffset=3 yoffset=16 xadvance=20 page=0 chnl=0 -char id=163 x=143 y=386 width=40 height=47 xoffset=1 yoffset=5 xadvance=42 page=0 chnl=0 -char id=168 x=266 y=479 width=25 height=11 xoffset=3 yoffset=4 xadvance=31 page=0 chnl=0 -char id=175 x=353 y=479 width=25 height=8 xoffset=3 yoffset=7 xadvance=30 page=0 chnl=0 -char id=180 x=248 y=479 width=18 height=12 xoffset=3 yoffset=3 xadvance=24 page=0 chnl=0 -char id=184 x=174 y=479 width=16 height=16 xoffset=3 yoffset=49 xadvance=21 page=0 chnl=0 -char id=191 x=95 y=338 width=33 height=48 xoffset=0 yoffset=16 xadvance=32 page=0 chnl=0 -char id=192 x=423 y=0 width=50 height=60 xoffset=-1 yoffset=-8 xadvance=48 page=0 chnl=0 -char id=193 x=0 y=66 width=50 height=60 xoffset=-1 yoffset=-8 xadvance=48 page=0 chnl=0 -char id=194 x=400 y=66 width=50 height=59 xoffset=-1 yoffset=-7 xadvance=48 page=0 chnl=0 -char id=195 x=450 y=66 width=50 height=59 xoffset=-1 yoffset=-7 xadvance=48 page=0 chnl=0 -char id=196 x=0 y=126 width=50 height=59 xoffset=-1 yoffset=-7 xadvance=48 page=0 chnl=0 -char id=197 x=24 y=0 width=50 height=65 xoffset=-1 yoffset=-13 xadvance=48 page=0 chnl=0 -char id=199 x=50 y=66 width=44 height=60 xoffset=1 yoffset=5 xadvance=45 page=0 chnl=0 -char id=200 x=473 y=0 width=37 height=60 xoffset=3 yoffset=-8 xadvance=41 page=0 chnl=0 -char id=201 x=94 y=66 width=37 height=60 xoffset=3 yoffset=-8 xadvance=41 page=0 chnl=0 -char id=202 x=50 y=126 width=37 height=59 xoffset=3 yoffset=-7 xadvance=41 page=0 chnl=0 -char id=203 x=87 y=126 width=37 height=59 xoffset=3 yoffset=-7 xadvance=41 page=0 chnl=0 -char id=204 x=131 y=66 width=23 height=60 xoffset=-5 yoffset=-8 xadvance=18 page=0 chnl=0 -char id=205 x=154 y=66 width=23 height=60 xoffset=3 yoffset=-8 xadvance=18 page=0 chnl=0 -char id=206 x=124 y=126 width=26 height=59 xoffset=-3 yoffset=-7 xadvance=18 page=0 chnl=0 -char id=207 x=150 y=126 width=30 height=59 xoffset=-4 yoffset=-7 xadvance=18 page=0 chnl=0 -char id=209 x=180 y=126 width=43 height=59 xoffset=3 yoffset=-7 xadvance=50 page=0 chnl=0 -char id=210 x=97 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 -char id=211 x=147 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 -char id=212 x=197 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 -char id=213 x=247 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 -char id=214 x=177 y=66 width=50 height=60 xoffset=1 yoffset=-7 xadvance=52 page=0 chnl=0 -char id=215 x=0 y=479 width=30 height=30 xoffset=3 yoffset=15 xadvance=36 page=0 chnl=0 -char id=216 x=128 y=338 width=50 height=48 xoffset=1 yoffset=5 xadvance=52 page=0 chnl=0 -char id=217 x=297 y=0 width=43 height=61 xoffset=3 yoffset=-8 xadvance=48 page=0 chnl=0 -char id=218 x=340 y=0 width=43 height=61 xoffset=3 yoffset=-8 xadvance=48 page=0 chnl=0 -char id=219 x=227 y=66 width=43 height=60 xoffset=3 yoffset=-7 xadvance=48 page=0 chnl=0 -char id=220 x=270 y=66 width=43 height=60 xoffset=3 yoffset=-7 xadvance=48 page=0 chnl=0 -char id=221 x=313 y=66 width=47 height=60 xoffset=-1 yoffset=-8 xadvance=44 page=0 chnl=0 -char id=223 x=178 y=338 width=36 height=48 xoffset=3 yoffset=4 xadvance=39 page=0 chnl=0 -char id=224 x=101 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 -char id=225 x=135 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 -char id=226 x=169 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 -char id=227 x=203 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 -char id=228 x=152 y=240 width=34 height=49 xoffset=1 yoffset=4 xadvance=37 page=0 chnl=0 -char id=229 x=0 y=185 width=34 height=55 xoffset=1 yoffset=-2 xadvance=37 page=0 chnl=0 -char id=231 x=186 y=240 width=34 height=49 xoffset=1 yoffset=16 xadvance=35 page=0 chnl=0 -char id=232 x=237 y=185 width=36 height=50 xoffset=1 yoffset=3 xadvance=38 page=0 chnl=0 -char id=233 x=273 y=185 width=36 height=50 xoffset=1 yoffset=3 xadvance=38 page=0 chnl=0 -char id=234 x=309 y=185 width=36 height=50 xoffset=1 yoffset=3 xadvance=38 page=0 chnl=0 -char id=235 x=220 y=240 width=36 height=49 xoffset=1 yoffset=4 xadvance=38 page=0 chnl=0 -char id=236 x=256 y=240 width=23 height=49 xoffset=-5 yoffset=3 xadvance=17 page=0 chnl=0 -char id=237 x=279 y=240 width=24 height=49 xoffset=3 yoffset=3 xadvance=17 page=0 chnl=0 -char id=238 x=214 y=338 width=27 height=48 xoffset=-3 yoffset=4 xadvance=17 page=0 chnl=0 -char id=239 x=241 y=338 width=29 height=48 xoffset=-4 yoffset=4 xadvance=17 page=0 chnl=0 -char id=240 x=345 y=185 width=38 height=50 xoffset=1 yoffset=3 xadvance=40 page=0 chnl=0 -char id=241 x=270 y=338 width=35 height=48 xoffset=2 yoffset=4 xadvance=39 page=0 chnl=0 -char id=242 x=383 y=185 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 -char id=243 x=422 y=185 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 -char id=244 x=461 y=185 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 -char id=245 x=0 y=240 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 -char id=246 x=303 y=240 width=39 height=49 xoffset=1 yoffset=4 xadvance=41 page=0 chnl=0 -char id=249 x=39 y=240 width=35 height=50 xoffset=2 yoffset=3 xadvance=39 page=0 chnl=0 -char id=250 x=74 y=240 width=35 height=50 xoffset=2 yoffset=3 xadvance=39 page=0 chnl=0 -char id=251 x=342 y=240 width=35 height=49 xoffset=2 yoffset=4 xadvance=39 page=0 chnl=0 -char id=252 x=377 y=240 width=35 height=49 xoffset=2 yoffset=4 xadvance=39 page=0 chnl=0 -char id=253 x=383 y=0 width=40 height=61 xoffset=-1 yoffset=3 xadvance=38 page=0 chnl=0 -char id=254 x=223 y=126 width=38 height=59 xoffset=3 yoffset=5 xadvance=42 page=0 chnl=0 -char id=255 x=360 y=66 width=40 height=60 xoffset=-1 yoffset=4 xadvance=38 page=0 chnl=0 -char id=35 x=125 y=0 width=43 height=46 xoffset=0 yoffset=6 xadvance=43 page=1 chnl=0 -char id=43 x=70 y=83 width=34 height=34 xoffset=2 yoffset=13 xadvance=39 page=1 chnl=0 -char id=49 x=25 y=0 width=24 height=46 xoffset=-1 yoffset=6 xadvance=27 page=1 chnl=0 -char id=52 x=49 y=0 width=41 height=46 xoffset=0 yoffset=6 xadvance=41 page=1 chnl=0 -char id=55 x=90 y=0 width=35 height=46 xoffset=2 yoffset=6 xadvance=39 page=1 chnl=0 -char id=60 x=349 y=46 width=33 height=36 xoffset=2 yoffset=11 xadvance=38 page=1 chnl=0 -char id=62 x=382 y=46 width=33 height=36 xoffset=3 yoffset=11 xadvance=38 page=1 chnl=0 -char id=97 x=406 y=0 width=34 height=37 xoffset=1 yoffset=16 xadvance=37 page=1 chnl=0 -char id=99 x=440 y=0 width=34 height=37 xoffset=1 yoffset=16 xadvance=35 page=1 chnl=0 -char id=101 x=474 y=0 width=36 height=37 xoffset=1 yoffset=16 xadvance=38 page=1 chnl=0 -char id=109 x=201 y=46 width=55 height=36 xoffset=2 yoffset=16 xadvance=59 page=1 chnl=0 -char id=110 x=256 y=46 width=35 height=36 xoffset=2 yoffset=16 xadvance=39 page=1 chnl=0 -char id=111 x=0 y=46 width=39 height=37 xoffset=1 yoffset=16 xadvance=41 page=1 chnl=0 -char id=114 x=291 y=46 width=23 height=36 xoffset=3 yoffset=16 xadvance=26 page=1 chnl=0 -char id=115 x=39 y=46 width=31 height=37 xoffset=0 yoffset=16 xadvance=32 page=1 chnl=0 -char id=116 x=0 y=0 width=25 height=46 xoffset=0 yoffset=7 xadvance=25 page=1 chnl=0 -char id=117 x=314 y=46 width=35 height=36 xoffset=2 yoffset=17 xadvance=39 page=1 chnl=0 -char id=118 x=415 y=46 width=40 height=35 xoffset=-1 yoffset=17 xadvance=39 page=1 chnl=0 -char id=119 x=455 y=46 width=54 height=35 xoffset=0 yoffset=17 xadvance=54 page=1 chnl=0 -char id=120 x=0 y=83 width=38 height=35 xoffset=-1 yoffset=17 xadvance=36 page=1 chnl=0 -char id=122 x=38 y=83 width=32 height=35 xoffset=1 yoffset=17 xadvance=34 page=1 chnl=0 -char id=162 x=168 y=0 width=34 height=46 xoffset=1 yoffset=12 xadvance=35 page=1 chnl=0 -char id=165 x=202 y=0 width=47 height=46 xoffset=-1 yoffset=6 xadvance=44 page=1 chnl=0 -char id=198 x=249 y=0 width=69 height=46 xoffset=-1 yoffset=6 xadvance=69 page=1 chnl=0 -char id=208 x=318 y=0 width=49 height=46 xoffset=1 yoffset=6 xadvance=51 page=1 chnl=0 -char id=222 x=367 y=0 width=39 height=46 xoffset=3 yoffset=6 xadvance=42 page=1 chnl=0 -char id=230 x=70 y=46 width=58 height=37 xoffset=1 yoffset=16 xadvance=60 page=1 chnl=0 -char id=247 x=128 y=46 width=34 height=37 xoffset=2 yoffset=11 xadvance=39 page=1 chnl=0 -char id=248 x=162 y=46 width=39 height=37 xoffset=1 yoffset=16 xadvance=41 page=1 chnl=0 +char id=0 x=0 y=0 width=24 height=66 xoffset=4 yoffset=-1 xadvance=32 page=0 chnl=0 +char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 +char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=18 page=0 chnl=0 +char id=33 x=114 y=386 width=15 height=47 xoffset=2 yoffset=6 xadvance=20 page=0 chnl=0 +char id=34 x=103 y=479 width=29 height=22 xoffset=2 yoffset=6 xadvance=33 page=0 chnl=0 +char id=36 x=394 y=126 width=40 height=57 xoffset=0 yoffset=1 xadvance=41 page=0 chnl=0 +char id=37 x=43 y=338 width=52 height=48 xoffset=1 yoffset=5 xadvance=54 page=0 chnl=0 +char id=38 x=109 y=240 width=43 height=49 xoffset=0 yoffset=5 xadvance=43 page=0 chnl=0 +char id=39 x=132 y=479 width=13 height=22 xoffset=2 yoffset=6 xadvance=18 page=0 chnl=0 +char id=40 x=261 y=126 width=22 height=58 xoffset=2 yoffset=5 xadvance=25 page=0 chnl=0 +char id=41 x=283 y=126 width=22 height=58 xoffset=1 yoffset=5 xadvance=25 page=0 chnl=0 +char id=42 x=30 y=479 width=24 height=26 xoffset=1 yoffset=4 xadvance=25 page=0 chnl=0 +char id=44 x=88 y=479 width=15 height=23 xoffset=2 yoffset=39 xadvance=19 page=0 chnl=0 +char id=45 x=291 y=479 width=21 height=10 xoffset=1 yoffset=28 xadvance=23 page=0 chnl=0 +char id=46 x=190 y=479 width=15 height=14 xoffset=2 yoffset=39 xadvance=19 page=0 chnl=0 +char id=47 x=434 y=126 width=36 height=55 xoffset=-3 yoffset=2 xadvance=30 page=0 chnl=0 +char id=48 x=0 y=338 width=43 height=48 xoffset=1 yoffset=5 xadvance=45 page=0 chnl=0 +char id=50 x=40 y=386 width=37 height=47 xoffset=1 yoffset=5 xadvance=39 page=0 chnl=0 +char id=51 x=319 y=290 width=38 height=48 xoffset=0 yoffset=5 xadvance=39 page=0 chnl=0 +char id=53 x=77 y=386 width=37 height=47 xoffset=1 yoffset=6 xadvance=40 page=0 chnl=0 +char id=54 x=357 y=290 width=39 height=48 xoffset=1 yoffset=5 xadvance=41 page=0 chnl=0 +char id=56 x=396 y=290 width=38 height=48 xoffset=1 yoffset=5 xadvance=40 page=0 chnl=0 +char id=57 x=434 y=290 width=39 height=48 xoffset=1 yoffset=5 xadvance=41 page=0 chnl=0 +char id=58 x=495 y=433 width=15 height=37 xoffset=2 yoffset=16 xadvance=19 page=0 chnl=0 +char id=59 x=489 y=386 width=15 height=46 xoffset=2 yoffset=16 xadvance=19 page=0 chnl=0 +char id=61 x=54 y=479 width=34 height=25 xoffset=2 yoffset=17 xadvance=39 page=0 chnl=0 +char id=63 x=473 y=290 width=32 height=48 xoffset=0 yoffset=5 xadvance=32 page=0 chnl=0 +char id=64 x=34 y=185 width=54 height=53 xoffset=1 yoffset=7 xadvance=56 page=0 chnl=0 +char id=65 x=183 y=386 width=50 height=46 xoffset=-1 yoffset=6 xadvance=48 page=0 chnl=0 +char id=66 x=233 y=386 width=41 height=46 xoffset=3 yoffset=6 xadvance=45 page=0 chnl=0 +char id=67 x=412 y=240 width=44 height=48 xoffset=1 yoffset=5 xadvance=45 page=0 chnl=0 +char id=68 x=274 y=386 width=44 height=46 xoffset=3 yoffset=6 xadvance=49 page=0 chnl=0 +char id=69 x=318 y=386 width=37 height=46 xoffset=3 yoffset=6 xadvance=41 page=0 chnl=0 +char id=70 x=355 y=386 width=37 height=46 xoffset=3 yoffset=6 xadvance=41 page=0 chnl=0 +char id=71 x=456 y=240 width=44 height=48 xoffset=1 yoffset=5 xadvance=48 page=0 chnl=0 +char id=72 x=392 y=386 width=42 height=46 xoffset=3 yoffset=6 xadvance=48 page=0 chnl=0 +char id=73 x=434 y=386 width=12 height=46 xoffset=3 yoffset=6 xadvance=18 page=0 chnl=0 +char id=74 x=305 y=338 width=33 height=47 xoffset=-1 yoffset=6 xadvance=35 page=0 chnl=0 +char id=75 x=446 y=386 width=43 height=46 xoffset=3 yoffset=6 xadvance=45 page=0 chnl=0 +char id=76 x=0 y=433 width=34 height=46 xoffset=3 yoffset=6 xadvance=37 page=0 chnl=0 +char id=77 x=34 y=433 width=49 height=46 xoffset=3 yoffset=6 xadvance=55 page=0 chnl=0 +char id=78 x=83 y=433 width=43 height=46 xoffset=3 yoffset=6 xadvance=50 page=0 chnl=0 +char id=79 x=0 y=290 width=50 height=48 xoffset=1 yoffset=5 xadvance=52 page=0 chnl=0 +char id=80 x=126 y=433 width=39 height=46 xoffset=3 yoffset=6 xadvance=42 page=0 chnl=0 +char id=81 x=50 y=290 width=50 height=48 xoffset=1 yoffset=5 xadvance=52 page=0 chnl=0 +char id=82 x=165 y=433 width=40 height=46 xoffset=3 yoffset=6 xadvance=43 page=0 chnl=0 +char id=83 x=100 y=290 width=40 height=48 xoffset=0 yoffset=5 xadvance=41 page=0 chnl=0 +char id=84 x=205 y=433 width=39 height=46 xoffset=1 yoffset=6 xadvance=41 page=0 chnl=0 +char id=85 x=338 y=338 width=43 height=47 xoffset=3 yoffset=6 xadvance=48 page=0 chnl=0 +char id=86 x=244 y=433 width=50 height=46 xoffset=-1 yoffset=6 xadvance=48 page=0 chnl=0 +char id=87 x=294 y=433 width=69 height=46 xoffset=0 yoffset=6 xadvance=69 page=0 chnl=0 +char id=88 x=363 y=433 width=46 height=46 xoffset=0 yoffset=6 xadvance=46 page=0 chnl=0 +char id=89 x=409 y=433 width=47 height=46 xoffset=-1 yoffset=6 xadvance=44 page=0 chnl=0 +char id=90 x=456 y=433 width=39 height=46 xoffset=2 yoffset=6 xadvance=42 page=0 chnl=0 +char id=91 x=305 y=126 width=20 height=58 xoffset=3 yoffset=4 xadvance=25 page=0 chnl=0 +char id=92 x=470 y=126 width=36 height=55 xoffset=-2 yoffset=2 xadvance=30 page=0 chnl=0 +char id=93 x=325 y=126 width=21 height=58 xoffset=1 yoffset=4 xadvance=25 page=0 chnl=0 +char id=94 x=145 y=479 width=29 height=20 xoffset=1 yoffset=6 xadvance=31 page=0 chnl=0 +char id=95 x=312 y=479 width=41 height=8 xoffset=-2 yoffset=54 xadvance=38 page=0 chnl=0 +char id=96 x=230 y=479 width=18 height=12 xoffset=3 yoffset=3 xadvance=24 page=0 chnl=0 +char id=98 x=140 y=290 width=38 height=48 xoffset=3 yoffset=5 xadvance=42 page=0 chnl=0 +char id=100 x=178 y=290 width=39 height=48 xoffset=1 yoffset=5 xadvance=42 page=0 chnl=0 +char id=102 x=217 y=290 width=25 height=48 xoffset=0 yoffset=4 xadvance=24 page=0 chnl=0 +char id=103 x=381 y=338 width=38 height=47 xoffset=1 yoffset=16 xadvance=42 page=0 chnl=0 +char id=104 x=419 y=338 width=35 height=47 xoffset=2 yoffset=5 xadvance=39 page=0 chnl=0 +char id=105 x=88 y=185 width=13 height=50 xoffset=2 yoffset=2 xadvance=17 page=0 chnl=0 +char id=106 x=74 y=0 width=23 height=62 xoffset=-5 yoffset=2 xadvance=17 page=0 chnl=0 +char id=107 x=454 y=338 width=36 height=47 xoffset=2 yoffset=5 xadvance=37 page=0 chnl=0 +char id=108 x=490 y=338 width=12 height=47 xoffset=3 yoffset=5 xadvance=17 page=0 chnl=0 +char id=112 x=242 y=290 width=38 height=48 xoffset=3 yoffset=16 xadvance=42 page=0 chnl=0 +char id=113 x=280 y=290 width=39 height=48 xoffset=1 yoffset=16 xadvance=42 page=0 chnl=0 +char id=121 x=0 y=386 width=40 height=47 xoffset=-1 yoffset=17 xadvance=38 page=0 chnl=0 +char id=123 x=346 y=126 width=24 height=58 xoffset=1 yoffset=5 xadvance=26 page=0 chnl=0 +char id=124 x=500 y=66 width=9 height=55 xoffset=5 yoffset=2 xadvance=19 page=0 chnl=0 +char id=125 x=370 y=126 width=24 height=58 xoffset=1 yoffset=5 xadvance=26 page=0 chnl=0 +char id=126 x=205 y=479 width=25 height=13 xoffset=2 yoffset=21 xadvance=29 page=0 chnl=0 +char id=161 x=129 y=386 width=14 height=47 xoffset=3 yoffset=16 xadvance=20 page=0 chnl=0 +char id=163 x=143 y=386 width=40 height=47 xoffset=1 yoffset=5 xadvance=42 page=0 chnl=0 +char id=168 x=266 y=479 width=25 height=11 xoffset=3 yoffset=4 xadvance=31 page=0 chnl=0 +char id=175 x=353 y=479 width=25 height=8 xoffset=3 yoffset=7 xadvance=30 page=0 chnl=0 +char id=180 x=248 y=479 width=18 height=12 xoffset=3 yoffset=3 xadvance=24 page=0 chnl=0 +char id=184 x=174 y=479 width=16 height=16 xoffset=3 yoffset=49 xadvance=21 page=0 chnl=0 +char id=191 x=95 y=338 width=33 height=48 xoffset=0 yoffset=16 xadvance=32 page=0 chnl=0 +char id=192 x=423 y=0 width=50 height=60 xoffset=-1 yoffset=-8 xadvance=48 page=0 chnl=0 +char id=193 x=0 y=66 width=50 height=60 xoffset=-1 yoffset=-8 xadvance=48 page=0 chnl=0 +char id=194 x=400 y=66 width=50 height=59 xoffset=-1 yoffset=-7 xadvance=48 page=0 chnl=0 +char id=195 x=450 y=66 width=50 height=59 xoffset=-1 yoffset=-7 xadvance=48 page=0 chnl=0 +char id=196 x=0 y=126 width=50 height=59 xoffset=-1 yoffset=-7 xadvance=48 page=0 chnl=0 +char id=197 x=24 y=0 width=50 height=65 xoffset=-1 yoffset=-13 xadvance=48 page=0 chnl=0 +char id=199 x=50 y=66 width=44 height=60 xoffset=1 yoffset=5 xadvance=45 page=0 chnl=0 +char id=200 x=473 y=0 width=37 height=60 xoffset=3 yoffset=-8 xadvance=41 page=0 chnl=0 +char id=201 x=94 y=66 width=37 height=60 xoffset=3 yoffset=-8 xadvance=41 page=0 chnl=0 +char id=202 x=50 y=126 width=37 height=59 xoffset=3 yoffset=-7 xadvance=41 page=0 chnl=0 +char id=203 x=87 y=126 width=37 height=59 xoffset=3 yoffset=-7 xadvance=41 page=0 chnl=0 +char id=204 x=131 y=66 width=23 height=60 xoffset=-5 yoffset=-8 xadvance=18 page=0 chnl=0 +char id=205 x=154 y=66 width=23 height=60 xoffset=3 yoffset=-8 xadvance=18 page=0 chnl=0 +char id=206 x=124 y=126 width=26 height=59 xoffset=-3 yoffset=-7 xadvance=18 page=0 chnl=0 +char id=207 x=150 y=126 width=30 height=59 xoffset=-4 yoffset=-7 xadvance=18 page=0 chnl=0 +char id=209 x=180 y=126 width=43 height=59 xoffset=3 yoffset=-7 xadvance=50 page=0 chnl=0 +char id=210 x=97 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 +char id=211 x=147 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 +char id=212 x=197 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 +char id=213 x=247 y=0 width=50 height=61 xoffset=1 yoffset=-8 xadvance=52 page=0 chnl=0 +char id=214 x=177 y=66 width=50 height=60 xoffset=1 yoffset=-7 xadvance=52 page=0 chnl=0 +char id=215 x=0 y=479 width=30 height=30 xoffset=3 yoffset=15 xadvance=36 page=0 chnl=0 +char id=216 x=128 y=338 width=50 height=48 xoffset=1 yoffset=5 xadvance=52 page=0 chnl=0 +char id=217 x=297 y=0 width=43 height=61 xoffset=3 yoffset=-8 xadvance=48 page=0 chnl=0 +char id=218 x=340 y=0 width=43 height=61 xoffset=3 yoffset=-8 xadvance=48 page=0 chnl=0 +char id=219 x=227 y=66 width=43 height=60 xoffset=3 yoffset=-7 xadvance=48 page=0 chnl=0 +char id=220 x=270 y=66 width=43 height=60 xoffset=3 yoffset=-7 xadvance=48 page=0 chnl=0 +char id=221 x=313 y=66 width=47 height=60 xoffset=-1 yoffset=-8 xadvance=44 page=0 chnl=0 +char id=223 x=178 y=338 width=36 height=48 xoffset=3 yoffset=4 xadvance=39 page=0 chnl=0 +char id=224 x=101 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 +char id=225 x=135 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 +char id=226 x=169 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 +char id=227 x=203 y=185 width=34 height=50 xoffset=1 yoffset=3 xadvance=37 page=0 chnl=0 +char id=228 x=152 y=240 width=34 height=49 xoffset=1 yoffset=4 xadvance=37 page=0 chnl=0 +char id=229 x=0 y=185 width=34 height=55 xoffset=1 yoffset=-2 xadvance=37 page=0 chnl=0 +char id=231 x=186 y=240 width=34 height=49 xoffset=1 yoffset=16 xadvance=35 page=0 chnl=0 +char id=232 x=237 y=185 width=36 height=50 xoffset=1 yoffset=3 xadvance=38 page=0 chnl=0 +char id=233 x=273 y=185 width=36 height=50 xoffset=1 yoffset=3 xadvance=38 page=0 chnl=0 +char id=234 x=309 y=185 width=36 height=50 xoffset=1 yoffset=3 xadvance=38 page=0 chnl=0 +char id=235 x=220 y=240 width=36 height=49 xoffset=1 yoffset=4 xadvance=38 page=0 chnl=0 +char id=236 x=256 y=240 width=23 height=49 xoffset=-5 yoffset=3 xadvance=17 page=0 chnl=0 +char id=237 x=279 y=240 width=24 height=49 xoffset=3 yoffset=3 xadvance=17 page=0 chnl=0 +char id=238 x=214 y=338 width=27 height=48 xoffset=-3 yoffset=4 xadvance=17 page=0 chnl=0 +char id=239 x=241 y=338 width=29 height=48 xoffset=-4 yoffset=4 xadvance=17 page=0 chnl=0 +char id=240 x=345 y=185 width=38 height=50 xoffset=1 yoffset=3 xadvance=40 page=0 chnl=0 +char id=241 x=270 y=338 width=35 height=48 xoffset=2 yoffset=4 xadvance=39 page=0 chnl=0 +char id=242 x=383 y=185 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 +char id=243 x=422 y=185 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 +char id=244 x=461 y=185 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 +char id=245 x=0 y=240 width=39 height=50 xoffset=1 yoffset=3 xadvance=41 page=0 chnl=0 +char id=246 x=303 y=240 width=39 height=49 xoffset=1 yoffset=4 xadvance=41 page=0 chnl=0 +char id=249 x=39 y=240 width=35 height=50 xoffset=2 yoffset=3 xadvance=39 page=0 chnl=0 +char id=250 x=74 y=240 width=35 height=50 xoffset=2 yoffset=3 xadvance=39 page=0 chnl=0 +char id=251 x=342 y=240 width=35 height=49 xoffset=2 yoffset=4 xadvance=39 page=0 chnl=0 +char id=252 x=377 y=240 width=35 height=49 xoffset=2 yoffset=4 xadvance=39 page=0 chnl=0 +char id=253 x=383 y=0 width=40 height=61 xoffset=-1 yoffset=3 xadvance=38 page=0 chnl=0 +char id=254 x=223 y=126 width=38 height=59 xoffset=3 yoffset=5 xadvance=42 page=0 chnl=0 +char id=255 x=360 y=66 width=40 height=60 xoffset=-1 yoffset=4 xadvance=38 page=0 chnl=0 +char id=35 x=125 y=0 width=43 height=46 xoffset=0 yoffset=6 xadvance=43 page=1 chnl=0 +char id=43 x=70 y=83 width=34 height=34 xoffset=2 yoffset=13 xadvance=39 page=1 chnl=0 +char id=49 x=25 y=0 width=24 height=46 xoffset=-1 yoffset=6 xadvance=27 page=1 chnl=0 +char id=52 x=49 y=0 width=41 height=46 xoffset=0 yoffset=6 xadvance=41 page=1 chnl=0 +char id=55 x=90 y=0 width=35 height=46 xoffset=2 yoffset=6 xadvance=39 page=1 chnl=0 +char id=60 x=349 y=46 width=33 height=36 xoffset=2 yoffset=11 xadvance=38 page=1 chnl=0 +char id=62 x=382 y=46 width=33 height=36 xoffset=3 yoffset=11 xadvance=38 page=1 chnl=0 +char id=97 x=406 y=0 width=34 height=37 xoffset=1 yoffset=16 xadvance=37 page=1 chnl=0 +char id=99 x=440 y=0 width=34 height=37 xoffset=1 yoffset=16 xadvance=35 page=1 chnl=0 +char id=101 x=474 y=0 width=36 height=37 xoffset=1 yoffset=16 xadvance=38 page=1 chnl=0 +char id=109 x=201 y=46 width=55 height=36 xoffset=2 yoffset=16 xadvance=59 page=1 chnl=0 +char id=110 x=256 y=46 width=35 height=36 xoffset=2 yoffset=16 xadvance=39 page=1 chnl=0 +char id=111 x=0 y=46 width=39 height=37 xoffset=1 yoffset=16 xadvance=41 page=1 chnl=0 +char id=114 x=291 y=46 width=23 height=36 xoffset=3 yoffset=16 xadvance=26 page=1 chnl=0 +char id=115 x=39 y=46 width=31 height=37 xoffset=0 yoffset=16 xadvance=32 page=1 chnl=0 +char id=116 x=0 y=0 width=25 height=46 xoffset=0 yoffset=7 xadvance=25 page=1 chnl=0 +char id=117 x=314 y=46 width=35 height=36 xoffset=2 yoffset=17 xadvance=39 page=1 chnl=0 +char id=118 x=415 y=46 width=40 height=35 xoffset=-1 yoffset=17 xadvance=39 page=1 chnl=0 +char id=119 x=455 y=46 width=54 height=35 xoffset=0 yoffset=17 xadvance=54 page=1 chnl=0 +char id=120 x=0 y=83 width=38 height=35 xoffset=-1 yoffset=17 xadvance=36 page=1 chnl=0 +char id=122 x=38 y=83 width=32 height=35 xoffset=1 yoffset=17 xadvance=34 page=1 chnl=0 +char id=162 x=168 y=0 width=34 height=46 xoffset=1 yoffset=12 xadvance=35 page=1 chnl=0 +char id=165 x=202 y=0 width=47 height=46 xoffset=-1 yoffset=6 xadvance=44 page=1 chnl=0 +char id=198 x=249 y=0 width=69 height=46 xoffset=-1 yoffset=6 xadvance=69 page=1 chnl=0 +char id=208 x=318 y=0 width=49 height=46 xoffset=1 yoffset=6 xadvance=51 page=1 chnl=0 +char id=222 x=367 y=0 width=39 height=46 xoffset=3 yoffset=6 xadvance=42 page=1 chnl=0 +char id=230 x=70 y=46 width=58 height=37 xoffset=1 yoffset=16 xadvance=60 page=1 chnl=0 +char id=247 x=128 y=46 width=34 height=37 xoffset=2 yoffset=11 xadvance=39 page=1 chnl=0 +char id=248 x=162 y=46 width=39 height=37 xoffset=1 yoffset=16 xadvance=41 page=1 chnl=0 kernings count=405 kerning first=244 second=119 amount=-2 kerning first=86 second=225 amount=-2 diff --git a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Regular-32.fnt b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Regular-32.fnt index b8b6f30d..be31bdeb 100644 --- a/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Regular-32.fnt +++ b/Projekte/jme-common/src/main/resources/Interface/Fonts/Metropolis/Metropolis-Regular-32.fnt @@ -2,176 +2,176 @@ info face="Metropolis-Regular" size=32 bold=0 italic=0 charset="" unicode=0 stre common lineHeight=33 base=26 scaleW=512 scaleH=512 pages=1 packed=0 page id=0 file="Metropolis-Regular-32.png" chars count=170 -char id=0 x=0 y=0 width=14 height=35 xoffset=1 yoffset=-1 xadvance=16 page=0 chnl=0 -char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 -char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=0 -char id=33 x=494 y=91 width=7 height=24 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 -char id=34 x=353 y=139 width=11 height=10 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 -char id=35 x=158 y=115 width=22 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 -char id=36 x=212 y=35 width=19 height=29 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=37 x=133 y=115 width=25 height=24 xoffset=0 yoffset=3 xadvance=25 page=0 chnl=0 -char id=38 x=180 y=115 width=22 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 -char id=39 x=364 y=139 width=6 height=10 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0 -char id=40 x=449 y=0 width=11 height=30 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 -char id=41 x=460 y=0 width=11 height=30 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 -char id=42 x=308 y=139 width=13 height=14 xoffset=0 yoffset=2 xadvance=13 page=0 chnl=0 -char id=43 x=259 y=139 width=17 height=18 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 -char id=44 x=370 y=139 width=7 height=10 xoffset=1 yoffset=21 xadvance=8 page=0 chnl=0 -char id=45 x=423 y=139 width=12 height=5 xoffset=0 yoffset=15 xadvance=12 page=0 chnl=0 -char id=46 x=417 y=139 width=6 height=6 xoffset=1 yoffset=21 xadvance=8 page=0 chnl=0 -char id=47 x=178 y=35 width=17 height=29 xoffset=-2 yoffset=1 xadvance=13 page=0 chnl=0 -char id=48 x=94 y=115 width=22 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 -char id=49 x=427 y=91 width=11 height=24 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=0 -char id=50 x=438 y=91 width=18 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 -char id=51 x=456 y=91 width=18 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 -char id=52 x=474 y=91 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=53 x=0 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 -char id=54 x=19 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=55 x=38 y=115 width=18 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 -char id=56 x=56 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 -char id=57 x=75 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=58 x=504 y=115 width=6 height=19 xoffset=1 yoffset=8 xadvance=8 page=0 chnl=0 -char id=59 x=501 y=91 width=7 height=23 xoffset=1 yoffset=8 xadvance=8 page=0 chnl=0 -char id=60 x=173 y=139 width=18 height=19 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 -char id=61 x=321 y=139 width=17 height=12 xoffset=1 yoffset=9 xadvance=19 page=0 chnl=0 -char id=62 x=191 y=139 width=17 height=19 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 -char id=63 x=116 y=115 width=17 height=24 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=0 -char id=64 x=257 y=35 width=28 height=28 xoffset=0 yoffset=3 xadvance=28 page=0 chnl=0 -char id=65 x=312 y=65 width=25 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 -char id=66 x=337 y=65 width=19 height=24 xoffset=2 yoffset=3 xadvance=22 page=0 chnl=0 -char id=67 x=356 y=65 width=22 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 -char id=68 x=378 y=65 width=22 height=24 xoffset=2 yoffset=3 xadvance=24 page=0 chnl=0 -char id=69 x=400 y=65 width=19 height=24 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 -char id=70 x=419 y=65 width=19 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 -char id=71 x=438 y=65 width=23 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 -char id=72 x=461 y=65 width=21 height=24 xoffset=1 yoffset=3 xadvance=23 page=0 chnl=0 -char id=73 x=482 y=65 width=6 height=24 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 -char id=74 x=488 y=65 width=17 height=24 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 -char id=75 x=0 y=91 width=21 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=76 x=21 y=91 width=17 height=24 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=0 -char id=77 x=38 y=91 width=24 height=24 xoffset=2 yoffset=3 xadvance=27 page=0 chnl=0 -char id=78 x=62 y=91 width=21 height=24 xoffset=2 yoffset=3 xadvance=25 page=0 chnl=0 -char id=79 x=83 y=91 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=80 x=109 y=91 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=81 x=129 y=91 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=82 x=155 y=91 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=83 x=17 y=65 width=19 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 -char id=84 x=175 y=91 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=85 x=195 y=91 width=22 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 -char id=86 x=217 y=91 width=25 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 -char id=87 x=242 y=91 width=35 height=24 xoffset=0 yoffset=3 xadvance=35 page=0 chnl=0 -char id=88 x=277 y=91 width=23 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 -char id=89 x=300 y=91 width=23 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=90 x=323 y=91 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=91 x=471 y=0 width=11 height=30 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 -char id=92 x=195 y=35 width=17 height=29 xoffset=-2 yoffset=1 xadvance=13 page=0 chnl=0 -char id=93 x=482 y=0 width=11 height=30 xoffset=0 yoffset=1 xadvance=12 page=0 chnl=0 -char id=94 x=338 y=139 width=15 height=11 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 -char id=95 x=435 y=139 width=22 height=5 xoffset=-2 yoffset=27 xadvance=19 page=0 chnl=0 -char id=96 x=385 y=139 width=9 height=7 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 -char id=97 x=433 y=115 width=17 height=19 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 -char id=98 x=343 y=91 width=19 height=24 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 -char id=99 x=450 y=115 width=18 height=19 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 -char id=100 x=362 y=91 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=101 x=468 y=115 width=19 height=19 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 -char id=102 x=36 y=65 width=12 height=25 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0 -char id=103 x=48 y=65 width=19 height=25 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=104 x=381 y=91 width=17 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 -char id=105 x=302 y=35 width=6 height=26 xoffset=1 yoffset=1 xadvance=7 page=0 chnl=0 -char id=106 x=39 y=0 width=11 height=32 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=0 -char id=107 x=398 y=91 width=17 height=24 xoffset=1 yoffset=3 xadvance=17 page=0 chnl=0 -char id=108 x=505 y=65 width=5 height=24 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0 -char id=109 x=0 y=139 width=27 height=19 xoffset=1 yoffset=8 xadvance=29 page=0 chnl=0 -char id=110 x=487 y=115 width=17 height=19 xoffset=1 yoffset=8 xadvance=19 page=0 chnl=0 -char id=111 x=27 y=139 width=20 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=112 x=67 y=65 width=19 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=0 -char id=113 x=86 y=65 width=19 height=25 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=114 x=47 y=139 width=12 height=19 xoffset=1 yoffset=8 xadvance=12 page=0 chnl=0 -char id=115 x=59 y=139 width=16 height=19 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 -char id=116 x=415 y=91 width=12 height=24 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 -char id=117 x=75 y=139 width=17 height=19 xoffset=1 yoffset=8 xadvance=19 page=0 chnl=0 -char id=118 x=92 y=139 width=20 height=19 xoffset=-1 yoffset=8 xadvance=18 page=0 chnl=0 -char id=119 x=112 y=139 width=27 height=19 xoffset=0 yoffset=8 xadvance=27 page=0 chnl=0 -char id=120 x=139 y=139 width=18 height=19 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 -char id=121 x=105 y=65 width=20 height=25 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 -char id=122 x=157 y=139 width=16 height=19 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 -char id=123 x=493 y=0 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 -char id=124 x=506 y=0 width=5 height=29 xoffset=2 yoffset=1 xadvance=9 page=0 chnl=0 -char id=125 x=0 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 -char id=126 x=394 y=139 width=14 height=7 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=0 -char id=161 x=125 y=65 width=7 height=25 xoffset=1 yoffset=8 xadvance=9 page=0 chnl=0 -char id=162 x=132 y=65 width=18 height=25 xoffset=0 yoffset=5 xadvance=17 page=0 chnl=0 -char id=163 x=202 y=115 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=165 x=222 y=115 width=23 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=168 x=457 y=139 width=12 height=5 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 -char id=175 x=469 y=139 width=12 height=4 xoffset=1 yoffset=4 xadvance=14 page=0 chnl=0 -char id=180 x=408 y=139 width=9 height=7 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 -char id=184 x=377 y=139 width=8 height=9 xoffset=1 yoffset=24 xadvance=10 page=0 chnl=0 -char id=191 x=150 y=65 width=17 height=25 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 -char id=192 x=70 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=193 x=95 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=194 x=120 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=195 x=145 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=196 x=13 y=35 width=25 height=30 xoffset=0 yoffset=-3 xadvance=24 page=0 chnl=0 -char id=197 x=14 y=0 width=25 height=33 xoffset=0 yoffset=-6 xadvance=24 page=0 chnl=0 -char id=198 x=245 y=115 width=32 height=24 xoffset=0 yoffset=3 xadvance=33 page=0 chnl=0 -char id=199 x=38 y=35 width=22 height=30 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 -char id=200 x=170 y=0 width=19 height=31 xoffset=1 yoffset=-4 xadvance=20 page=0 chnl=0 -char id=201 x=189 y=0 width=19 height=31 xoffset=1 yoffset=-4 xadvance=20 page=0 chnl=0 -char id=202 x=208 y=0 width=19 height=31 xoffset=1 yoffset=-4 xadvance=20 page=0 chnl=0 -char id=203 x=60 y=35 width=19 height=30 xoffset=1 yoffset=-3 xadvance=20 page=0 chnl=0 -char id=204 x=227 y=0 width=11 height=31 xoffset=-3 yoffset=-4 xadvance=8 page=0 chnl=0 -char id=205 x=238 y=0 width=11 height=31 xoffset=1 yoffset=-4 xadvance=8 page=0 chnl=0 -char id=206 x=249 y=0 width=12 height=31 xoffset=-2 yoffset=-4 xadvance=8 page=0 chnl=0 -char id=207 x=79 y=35 width=12 height=30 xoffset=-2 yoffset=-3 xadvance=8 page=0 chnl=0 -char id=208 x=277 y=115 width=24 height=24 xoffset=0 yoffset=3 xadvance=25 page=0 chnl=0 -char id=209 x=261 y=0 width=21 height=31 xoffset=2 yoffset=-4 xadvance=25 page=0 chnl=0 -char id=210 x=282 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 -char id=211 x=308 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 -char id=212 x=91 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 -char id=213 x=334 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 -char id=214 x=231 y=35 width=26 height=29 xoffset=0 yoffset=-2 xadvance=26 page=0 chnl=0 -char id=215 x=293 y=139 width=15 height=15 xoffset=1 yoffset=8 xadvance=17 page=0 chnl=0 -char id=216 x=301 y=115 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 -char id=217 x=360 y=0 width=22 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=218 x=382 y=0 width=22 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=219 x=404 y=0 width=22 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 -char id=220 x=117 y=35 width=22 height=30 xoffset=1 yoffset=-3 xadvance=24 page=0 chnl=0 -char id=221 x=426 y=0 width=23 height=31 xoffset=-1 yoffset=-4 xadvance=21 page=0 chnl=0 -char id=222 x=327 y=115 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 -char id=223 x=167 y=65 width=17 height=25 xoffset=1 yoffset=2 xadvance=18 page=0 chnl=0 -char id=224 x=308 y=35 width=17 height=26 xoffset=0 yoffset=1 xadvance=18 page=0 chnl=0 -char id=225 x=325 y=35 width=17 height=26 xoffset=0 yoffset=1 xadvance=18 page=0 chnl=0 -char id=226 x=184 y=65 width=17 height=25 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 -char id=227 x=201 y=65 width=17 height=25 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 -char id=228 x=347 y=115 width=17 height=24 xoffset=0 yoffset=3 xadvance=18 page=0 chnl=0 -char id=229 x=285 y=35 width=17 height=28 xoffset=0 yoffset=-1 xadvance=18 page=0 chnl=0 -char id=230 x=208 y=139 width=31 height=19 xoffset=0 yoffset=8 xadvance=31 page=0 chnl=0 -char id=231 x=218 y=65 width=18 height=25 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 -char id=232 x=342 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 -char id=233 x=361 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 -char id=234 x=236 y=65 width=19 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 -char id=235 x=364 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 -char id=236 x=380 y=35 width=10 height=26 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=0 -char id=237 x=390 y=35 width=12 height=26 xoffset=1 yoffset=1 xadvance=7 page=0 chnl=0 -char id=238 x=402 y=35 width=12 height=26 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=0 -char id=239 x=383 y=115 width=13 height=24 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=0 -char id=240 x=414 y=35 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=241 x=255 y=65 width=17 height=25 xoffset=1 yoffset=2 xadvance=19 page=0 chnl=0 -char id=242 x=434 y=35 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=243 x=454 y=35 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 -char id=244 x=272 y=65 width=20 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 -char id=245 x=292 y=65 width=20 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 -char id=246 x=396 y=115 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 -char id=247 x=276 y=139 width=17 height=16 xoffset=1 yoffset=7 xadvance=19 page=0 chnl=0 -char id=248 x=239 y=139 width=20 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 -char id=249 x=474 y=35 width=17 height=26 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 -char id=250 x=491 y=35 width=17 height=26 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 -char id=251 x=0 y=65 width=17 height=26 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 -char id=252 x=416 y=115 width=17 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 -char id=253 x=50 y=0 width=20 height=32 xoffset=-1 yoffset=1 xadvance=19 page=0 chnl=0 -char id=254 x=139 y=35 width=19 height=30 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 -char id=255 x=158 y=35 width=20 height=30 xoffset=-1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=0 x=0 y=0 width=14 height=35 xoffset=1 yoffset=-1 xadvance=16 page=0 chnl=0 +char id=10 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0 +char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=0 +char id=33 x=494 y=91 width=7 height=24 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 +char id=34 x=353 y=139 width=11 height=10 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 +char id=35 x=158 y=115 width=22 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 +char id=36 x=212 y=35 width=19 height=29 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=37 x=133 y=115 width=25 height=24 xoffset=0 yoffset=3 xadvance=25 page=0 chnl=0 +char id=38 x=180 y=115 width=22 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=39 x=364 y=139 width=6 height=10 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0 +char id=40 x=449 y=0 width=11 height=30 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 +char id=41 x=460 y=0 width=11 height=30 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 +char id=42 x=308 y=139 width=13 height=14 xoffset=0 yoffset=2 xadvance=13 page=0 chnl=0 +char id=43 x=259 y=139 width=17 height=18 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=44 x=370 y=139 width=7 height=10 xoffset=1 yoffset=21 xadvance=8 page=0 chnl=0 +char id=45 x=423 y=139 width=12 height=5 xoffset=0 yoffset=15 xadvance=12 page=0 chnl=0 +char id=46 x=417 y=139 width=6 height=6 xoffset=1 yoffset=21 xadvance=8 page=0 chnl=0 +char id=47 x=178 y=35 width=17 height=29 xoffset=-2 yoffset=1 xadvance=13 page=0 chnl=0 +char id=48 x=94 y=115 width=22 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 +char id=49 x=427 y=91 width=11 height=24 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=0 +char id=50 x=438 y=91 width=18 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 +char id=51 x=456 y=91 width=18 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 +char id=52 x=474 y=91 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=53 x=0 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 +char id=54 x=19 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=55 x=38 y=115 width=18 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 +char id=56 x=56 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 +char id=57 x=75 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=58 x=504 y=115 width=6 height=19 xoffset=1 yoffset=8 xadvance=8 page=0 chnl=0 +char id=59 x=501 y=91 width=7 height=23 xoffset=1 yoffset=8 xadvance=8 page=0 chnl=0 +char id=60 x=173 y=139 width=18 height=19 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 +char id=61 x=321 y=139 width=17 height=12 xoffset=1 yoffset=9 xadvance=19 page=0 chnl=0 +char id=62 x=191 y=139 width=17 height=19 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=63 x=116 y=115 width=17 height=24 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=0 +char id=64 x=257 y=35 width=28 height=28 xoffset=0 yoffset=3 xadvance=28 page=0 chnl=0 +char id=65 x=312 y=65 width=25 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 +char id=66 x=337 y=65 width=19 height=24 xoffset=2 yoffset=3 xadvance=22 page=0 chnl=0 +char id=67 x=356 y=65 width=22 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 +char id=68 x=378 y=65 width=22 height=24 xoffset=2 yoffset=3 xadvance=24 page=0 chnl=0 +char id=69 x=400 y=65 width=19 height=24 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 +char id=70 x=419 y=65 width=19 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=71 x=438 y=65 width=23 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 +char id=72 x=461 y=65 width=21 height=24 xoffset=1 yoffset=3 xadvance=23 page=0 chnl=0 +char id=73 x=482 y=65 width=6 height=24 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 +char id=74 x=488 y=65 width=17 height=24 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 +char id=75 x=0 y=91 width=21 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=76 x=21 y=91 width=17 height=24 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=0 +char id=77 x=38 y=91 width=24 height=24 xoffset=2 yoffset=3 xadvance=27 page=0 chnl=0 +char id=78 x=62 y=91 width=21 height=24 xoffset=2 yoffset=3 xadvance=25 page=0 chnl=0 +char id=79 x=83 y=91 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=80 x=109 y=91 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=81 x=129 y=91 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=82 x=155 y=91 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=83 x=17 y=65 width=19 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=84 x=175 y=91 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=85 x=195 y=91 width=22 height=24 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=86 x=217 y=91 width=25 height=24 xoffset=0 yoffset=3 xadvance=24 page=0 chnl=0 +char id=87 x=242 y=91 width=35 height=24 xoffset=0 yoffset=3 xadvance=35 page=0 chnl=0 +char id=88 x=277 y=91 width=23 height=24 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 +char id=89 x=300 y=91 width=23 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=90 x=323 y=91 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=91 x=471 y=0 width=11 height=30 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 +char id=92 x=195 y=35 width=17 height=29 xoffset=-2 yoffset=1 xadvance=13 page=0 chnl=0 +char id=93 x=482 y=0 width=11 height=30 xoffset=0 yoffset=1 xadvance=12 page=0 chnl=0 +char id=94 x=338 y=139 width=15 height=11 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=95 x=435 y=139 width=22 height=5 xoffset=-2 yoffset=27 xadvance=19 page=0 chnl=0 +char id=96 x=385 y=139 width=9 height=7 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 +char id=97 x=433 y=115 width=17 height=19 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 +char id=98 x=343 y=91 width=19 height=24 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 +char id=99 x=450 y=115 width=18 height=19 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 +char id=100 x=362 y=91 width=19 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=101 x=468 y=115 width=19 height=19 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 +char id=102 x=36 y=65 width=12 height=25 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0 +char id=103 x=48 y=65 width=19 height=25 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=104 x=381 y=91 width=17 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=105 x=302 y=35 width=6 height=26 xoffset=1 yoffset=1 xadvance=7 page=0 chnl=0 +char id=106 x=39 y=0 width=11 height=32 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=0 +char id=107 x=398 y=91 width=17 height=24 xoffset=1 yoffset=3 xadvance=17 page=0 chnl=0 +char id=108 x=505 y=65 width=5 height=24 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0 +char id=109 x=0 y=139 width=27 height=19 xoffset=1 yoffset=8 xadvance=29 page=0 chnl=0 +char id=110 x=487 y=115 width=17 height=19 xoffset=1 yoffset=8 xadvance=19 page=0 chnl=0 +char id=111 x=27 y=139 width=20 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=112 x=67 y=65 width=19 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=0 +char id=113 x=86 y=65 width=19 height=25 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=114 x=47 y=139 width=12 height=19 xoffset=1 yoffset=8 xadvance=12 page=0 chnl=0 +char id=115 x=59 y=139 width=16 height=19 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 +char id=116 x=415 y=91 width=12 height=24 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 +char id=117 x=75 y=139 width=17 height=19 xoffset=1 yoffset=8 xadvance=19 page=0 chnl=0 +char id=118 x=92 y=139 width=20 height=19 xoffset=-1 yoffset=8 xadvance=18 page=0 chnl=0 +char id=119 x=112 y=139 width=27 height=19 xoffset=0 yoffset=8 xadvance=27 page=0 chnl=0 +char id=120 x=139 y=139 width=18 height=19 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 +char id=121 x=105 y=65 width=20 height=25 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 +char id=122 x=157 y=139 width=16 height=19 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 +char id=123 x=493 y=0 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 +char id=124 x=506 y=0 width=5 height=29 xoffset=2 yoffset=1 xadvance=9 page=0 chnl=0 +char id=125 x=0 y=35 width=13 height=30 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 +char id=126 x=394 y=139 width=14 height=7 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=0 +char id=161 x=125 y=65 width=7 height=25 xoffset=1 yoffset=8 xadvance=9 page=0 chnl=0 +char id=162 x=132 y=65 width=18 height=25 xoffset=0 yoffset=5 xadvance=17 page=0 chnl=0 +char id=163 x=202 y=115 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=165 x=222 y=115 width=23 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=168 x=457 y=139 width=12 height=5 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 +char id=175 x=469 y=139 width=12 height=4 xoffset=1 yoffset=4 xadvance=14 page=0 chnl=0 +char id=180 x=408 y=139 width=9 height=7 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 +char id=184 x=377 y=139 width=8 height=9 xoffset=1 yoffset=24 xadvance=10 page=0 chnl=0 +char id=191 x=150 y=65 width=17 height=25 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 +char id=192 x=70 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=193 x=95 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=194 x=120 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=195 x=145 y=0 width=25 height=31 xoffset=0 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=196 x=13 y=35 width=25 height=30 xoffset=0 yoffset=-3 xadvance=24 page=0 chnl=0 +char id=197 x=14 y=0 width=25 height=33 xoffset=0 yoffset=-6 xadvance=24 page=0 chnl=0 +char id=198 x=245 y=115 width=32 height=24 xoffset=0 yoffset=3 xadvance=33 page=0 chnl=0 +char id=199 x=38 y=35 width=22 height=30 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 +char id=200 x=170 y=0 width=19 height=31 xoffset=1 yoffset=-4 xadvance=20 page=0 chnl=0 +char id=201 x=189 y=0 width=19 height=31 xoffset=1 yoffset=-4 xadvance=20 page=0 chnl=0 +char id=202 x=208 y=0 width=19 height=31 xoffset=1 yoffset=-4 xadvance=20 page=0 chnl=0 +char id=203 x=60 y=35 width=19 height=30 xoffset=1 yoffset=-3 xadvance=20 page=0 chnl=0 +char id=204 x=227 y=0 width=11 height=31 xoffset=-3 yoffset=-4 xadvance=8 page=0 chnl=0 +char id=205 x=238 y=0 width=11 height=31 xoffset=1 yoffset=-4 xadvance=8 page=0 chnl=0 +char id=206 x=249 y=0 width=12 height=31 xoffset=-2 yoffset=-4 xadvance=8 page=0 chnl=0 +char id=207 x=79 y=35 width=12 height=30 xoffset=-2 yoffset=-3 xadvance=8 page=0 chnl=0 +char id=208 x=277 y=115 width=24 height=24 xoffset=0 yoffset=3 xadvance=25 page=0 chnl=0 +char id=209 x=261 y=0 width=21 height=31 xoffset=2 yoffset=-4 xadvance=25 page=0 chnl=0 +char id=210 x=282 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 +char id=211 x=308 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 +char id=212 x=91 y=35 width=26 height=30 xoffset=0 yoffset=-3 xadvance=26 page=0 chnl=0 +char id=213 x=334 y=0 width=26 height=31 xoffset=0 yoffset=-4 xadvance=26 page=0 chnl=0 +char id=214 x=231 y=35 width=26 height=29 xoffset=0 yoffset=-2 xadvance=26 page=0 chnl=0 +char id=215 x=293 y=139 width=15 height=15 xoffset=1 yoffset=8 xadvance=17 page=0 chnl=0 +char id=216 x=301 y=115 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=0 +char id=217 x=360 y=0 width=22 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=218 x=382 y=0 width=22 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=219 x=404 y=0 width=22 height=31 xoffset=1 yoffset=-4 xadvance=24 page=0 chnl=0 +char id=220 x=117 y=35 width=22 height=30 xoffset=1 yoffset=-3 xadvance=24 page=0 chnl=0 +char id=221 x=426 y=0 width=23 height=31 xoffset=-1 yoffset=-4 xadvance=21 page=0 chnl=0 +char id=222 x=327 y=115 width=20 height=24 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 +char id=223 x=167 y=65 width=17 height=25 xoffset=1 yoffset=2 xadvance=18 page=0 chnl=0 +char id=224 x=308 y=35 width=17 height=26 xoffset=0 yoffset=1 xadvance=18 page=0 chnl=0 +char id=225 x=325 y=35 width=17 height=26 xoffset=0 yoffset=1 xadvance=18 page=0 chnl=0 +char id=226 x=184 y=65 width=17 height=25 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=227 x=201 y=65 width=17 height=25 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=228 x=347 y=115 width=17 height=24 xoffset=0 yoffset=3 xadvance=18 page=0 chnl=0 +char id=229 x=285 y=35 width=17 height=28 xoffset=0 yoffset=-1 xadvance=18 page=0 chnl=0 +char id=230 x=208 y=139 width=31 height=19 xoffset=0 yoffset=8 xadvance=31 page=0 chnl=0 +char id=231 x=218 y=65 width=18 height=25 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 +char id=232 x=342 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 +char id=233 x=361 y=35 width=19 height=26 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 +char id=234 x=236 y=65 width=19 height=25 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=235 x=364 y=115 width=19 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0 +char id=236 x=380 y=35 width=10 height=26 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=0 +char id=237 x=390 y=35 width=12 height=26 xoffset=1 yoffset=1 xadvance=7 page=0 chnl=0 +char id=238 x=402 y=35 width=12 height=26 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=0 +char id=239 x=383 y=115 width=13 height=24 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=0 +char id=240 x=414 y=35 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=241 x=255 y=65 width=17 height=25 xoffset=1 yoffset=2 xadvance=19 page=0 chnl=0 +char id=242 x=434 y=35 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=243 x=454 y=35 width=20 height=26 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 +char id=244 x=272 y=65 width=20 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=245 x=292 y=65 width=20 height=25 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=246 x=396 y=115 width=20 height=24 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=247 x=276 y=139 width=17 height=16 xoffset=1 yoffset=7 xadvance=19 page=0 chnl=0 +char id=248 x=239 y=139 width=20 height=19 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 +char id=249 x=474 y=35 width=17 height=26 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 +char id=250 x=491 y=35 width=17 height=26 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 +char id=251 x=0 y=65 width=17 height=26 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 +char id=252 x=416 y=115 width=17 height=24 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=253 x=50 y=0 width=20 height=32 xoffset=-1 yoffset=1 xadvance=19 page=0 chnl=0 +char id=254 x=139 y=35 width=19 height=30 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 +char id=255 x=158 y=35 width=20 height=30 xoffset=-1 yoffset=3 xadvance=19 page=0 chnl=0 kernings count=375 kerning first=244 second=119 amount=-1 kerning first=86 second=225 amount=-1 diff --git a/Projekte/jme-common/src/test/java/pp/view/ModelViewSynchronizerTest.java b/Projekte/jme-common/src/test/java/pp/view/ModelViewSynchronizerTest.java index f9f0f919..7b540251 100644 --- a/Projekte/jme-common/src/test/java/pp/view/ModelViewSynchronizerTest.java +++ b/Projekte/jme-common/src/test/java/pp/view/ModelViewSynchronizerTest.java @@ -1,9 +1,4 @@ -//////////////////////////////////////// -// Programming project code -// UniBw M, 2022, 2023, 2024 -// www.unibw.de/inf2 -// (c) Mark Minas (mark.minas@unibw.de) -//////////////////////////////////////// + package pp.view;