jrisk-cvs Mailing List for yura.net
Brought to you by:
yuranet
You can subscribe to this list here.
2005 |
Jan
|
Feb
(72) |
Mar
(9) |
Apr
|
May
(31) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(5) |
Jun
|
Jul
|
Aug
(1) |
Sep
(13) |
Oct
(3) |
Nov
(2) |
Dec
(1) |
2007 |
Jan
(10) |
Feb
(1) |
Mar
(2) |
Apr
(3) |
May
(20) |
Jun
(27) |
Jul
(51) |
Aug
(47) |
Sep
(28) |
Oct
(18) |
Nov
(6) |
Dec
(3) |
2008 |
Jan
(16) |
Feb
(10) |
Mar
(19) |
Apr
(22) |
May
(7) |
Jun
(1) |
Jul
|
Aug
|
Sep
(3) |
Oct
(4) |
Nov
|
Dec
|
2010 |
Jan
(10) |
Feb
(7) |
Mar
(7) |
Apr
(13) |
May
(11) |
Jun
(38) |
Jul
(13) |
Aug
(12) |
Sep
(14) |
Oct
(1) |
Nov
(4) |
Dec
(5) |
2011 |
Jan
(15) |
Feb
(25) |
Mar
(6) |
Apr
(2) |
May
|
Jun
(11) |
Jul
(1) |
Aug
(12) |
Sep
(12) |
Oct
(11) |
Nov
(39) |
Dec
(63) |
2012 |
Jan
(28) |
Feb
(22) |
Mar
(30) |
Apr
(19) |
May
(12) |
Jun
(60) |
Jul
(74) |
Aug
(23) |
Sep
(23) |
Oct
(34) |
Nov
(76) |
Dec
(57) |
2013 |
Jan
(10) |
Feb
(46) |
Mar
(45) |
Apr
(70) |
May
(32) |
Jun
(22) |
Jul
(32) |
Aug
(35) |
Sep
(12) |
Oct
(22) |
Nov
(11) |
Dec
(5) |
2014 |
Jan
(25) |
Feb
(30) |
Mar
(11) |
Apr
|
May
|
Jun
|
Jul
(20) |
Aug
(6) |
Sep
(2) |
Oct
(10) |
Nov
(8) |
Dec
(20) |
2015 |
Jan
(2) |
Feb
(3) |
Mar
(22) |
Apr
(3) |
May
(4) |
Jun
(7) |
Jul
(11) |
Aug
(9) |
Sep
(12) |
Oct
(4) |
Nov
(1) |
Dec
(1) |
2016 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(8) |
May
(6) |
Jun
(1) |
Jul
|
Aug
(7) |
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
(1) |
Jun
(8) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(8) |
2018 |
Jan
(4) |
Feb
(3) |
Mar
(2) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
|
Aug
(8) |
Sep
(15) |
Oct
(4) |
Nov
(3) |
Dec
(12) |
2019 |
Jan
(2) |
Feb
(1) |
Mar
(2) |
Apr
(4) |
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(15) |
Dec
(39) |
2020 |
Jan
|
Feb
(5) |
Mar
(5) |
Apr
(21) |
May
(16) |
Jun
(52) |
Jul
(5) |
Aug
(21) |
Sep
|
Oct
(9) |
Nov
(38) |
Dec
(2) |
2021 |
Jan
(1) |
Feb
(22) |
Mar
(34) |
Apr
(32) |
May
(24) |
Jun
(18) |
Jul
(4) |
Aug
(1) |
Sep
(7) |
Oct
(9) |
Nov
(13) |
Dec
(18) |
2022 |
Jan
(29) |
Feb
(8) |
Mar
(3) |
Apr
(4) |
May
(15) |
Jun
(45) |
Jul
(2) |
Aug
(9) |
Sep
(1) |
Oct
(8) |
Nov
(8) |
Dec
(31) |
2023 |
Jan
(29) |
Feb
(28) |
Mar
(35) |
Apr
(8) |
May
(38) |
Jun
(35) |
Jul
(31) |
Aug
(3) |
Sep
|
Oct
(1) |
Nov
|
Dec
(2) |
2024 |
Jan
(24) |
Feb
(14) |
Mar
(6) |
Apr
(4) |
May
(21) |
Jun
(13) |
Jul
(4) |
Aug
(15) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: <yu...@us...> - 2024-09-15 11:47:22
|
Revision: 2575 http://sourceforge.net/p/domination/code/2575 Author: yuranet Date: 2024-09-15 11:47:19 +0000 (Sun, 15 Sep 2024) Log Message: ----------- more close method Modified Paths: -------------- Domination/swingUI/lib/midletrunner.jar Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java Modified: Domination/swingUI/lib/midletrunner.jar =================================================================== (Binary files differ) Modified: Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java =================================================================== --- Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java 2024-09-15 00:53:15 UTC (rev 2574) +++ Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java 2024-09-15 11:47:19 UTC (rev 2575) @@ -1439,13 +1439,13 @@ public void eventDispatched(AWTEvent event) { if (event instanceof WindowEvent) { WindowEvent we = (WindowEvent)event; - if (we.getID() == WindowEvent.WINDOW_GAINED_FOCUS && !appActive) { + if (we.getID() == WindowEvent.WINDOW_GAINED_FOCUS && !appActive) { // WindowEvent.WINDOW_ACTIVATED if (oldValue) { GameSound.INSTANCE.setMusicEnabled(oldValue); } appActive = true; } - else if (we.getID() == WindowEvent.WINDOW_LOST_FOCUS && we.getOppositeWindow() == null && + else if (we.getID() == WindowEvent.WINDOW_LOST_FOCUS && we.getOppositeWindow() == null && // WindowEvent.WINDOW_DEACTIVATED // this one will always come, but sometimes not in time, so when we check its not there yet :-( (Toolkit.getDefaultToolkit().getSystemEventQueue().peekEvent(WindowEvent.WINDOW_GAINED_FOCUS) == null)) { //if we know the window is closing this is prob not the app losing focus, but this does not always work @@ -1474,7 +1474,8 @@ } } } - }, AWTEvent.WINDOW_FOCUS_EVENT_MASK); + }, AWTEvent.WINDOW_FOCUS_EVENT_MASK); // AWTEvent.WINDOW_EVENT_MASK works with WindowEvent.WINDOW_ACTIVATED and WindowEvent.WINDOW_DEACTIVATED, + // with much the same result. on macOS FileDialog also does not register and seems to stop the music. } /** |
From: <yu...@us...> - 2024-09-15 00:53:17
|
Revision: 2574 http://sourceforge.net/p/domination/code/2574 Author: yuranet Date: 2024-09-15 00:53:15 +0000 (Sun, 15 Sep 2024) Log Message: ----------- pause music in small screen mode when switching app Modified Paths: -------------- Domination/ios/xcode/Domination.xcodeproj/project.pbxproj Domination/swingUI/lib/midletrunner.jar Modified: Domination/ios/xcode/Domination.xcodeproj/project.pbxproj =================================================================== --- Domination/ios/xcode/Domination.xcodeproj/project.pbxproj 2024-09-14 16:56:46 UTC (rev 2573) +++ Domination/ios/xcode/Domination.xcodeproj/project.pbxproj 2024-09-15 00:53:15 UTC (rev 2574) @@ -12,7 +12,6 @@ 583D44871E40B4910048FF77 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 583D44861E40B4910048FF77 /* main.cpp */; }; 583D448A1E40B4B90048FF77 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 583D44881E40B4B90048FF77 /* Assets.xcassets */; }; 583D448B1E40B4B90048FF77 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 583D44891E40B4B90048FF77 /* LaunchScreen.storyboard */; }; - 6E6B9E28FE61156B22FBBB30 /* Pods_Domination.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C0FF0A52B13E0866D81581 /* Pods_Domination.framework */; }; BD473EE73F32A0B01719CDA7 /* Pods_Domination.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40C0FF0A52B13E0866D81581 /* Pods_Domination.framework */; }; DE050F552788EAE30084C691 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DE050F532788EAE30084C691 /* Localizable.strings */; }; DE079D292678C41300CFBB43 /* maps in Resources */ = {isa = PBXBuildFile; fileRef = DE079D282678C41300CFBB43 /* maps */; }; @@ -120,7 +119,6 @@ DEDE4FE229BCF5770041E9A8 /* Charts.framework in Frameworks */, DE7E9AE22774A71400555709 /* MessageUI.framework in Frameworks */, BD473EE73F32A0B01719CDA7 /* Pods_Domination.framework in Frameworks */, - 6E6B9E28FE61156B22FBBB30 /* Pods_Domination.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: Domination/swingUI/lib/midletrunner.jar =================================================================== (Binary files differ) |
From: <yu...@us...> - 2024-09-14 16:56:48
|
Revision: 2573 http://sourceforge.net/p/domination/code/2573 Author: yuranet Date: 2024-09-14 16:56:46 +0000 (Sat, 14 Sep 2024) Log Message: ----------- close music players Modified Paths: -------------- Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java Modified: Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java =================================================================== --- Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java 2024-09-09 11:28:43 UTC (rev 2572) +++ Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java 2024-09-14 16:56:46 UTC (rev 2573) @@ -16,12 +16,13 @@ import javax.microedition.media.Manager; import javax.microedition.media.MediaException; import javax.microedition.media.Player; +import javax.microedition.media.PlayerListener; -public class SimpleAudio implements AudioSystem, ThreadFactory { +public class SimpleAudio implements AudioSystem, ThreadFactory, PlayerListener { private static final Logger LOGGER = Logger.getLogger(SimpleAudio.class.getName()); - Map<String, Player> currentPlayers = new HashMap(); // filename -> player + Map<String, Player> currentMusicPlayers = new HashMap(); // filename -> player private boolean outOfMemoryError; @@ -59,6 +60,16 @@ return player; } + /** + * we add a listener ONLY when this is NOT a looping sound, so we can clean up when it finishes. + */ + @Override + public void playerUpdate(Player player, String s, Object o) { + if (PlayerListener.END_OF_MEDIA.equals(s)) { + player.close(); + } + } + public void play(final String fileName) { if (outOfMemoryError) return; @@ -71,6 +82,7 @@ Player player = null; try { player = getPlayer(fileName); + player.addPlayerListener(SimpleAudio.this); player.start(); // can throw oom } catch (Exception ex) { @@ -105,7 +117,7 @@ try { player = getPlayer(fileName); player.setLoopCount(-1); - currentPlayers.put(fileName, player); + currentMusicPlayers.put(fileName, player); player.start(); // can throw oom } catch (Exception ex) { @@ -126,7 +138,7 @@ private void startError(String fileName, Player player, Throwable ex) { LOGGER.log(Level.WARNING, "unable to play " + fileName, ex); try { - currentPlayers.remove(fileName); + currentMusicPlayers.remove(fileName); if (player != null) { player.close(); } @@ -141,7 +153,7 @@ @Override public void run() { try { - Player player = currentPlayers.remove(audioFile); + Player player = currentMusicPlayers.remove(audioFile); if (player != null) { // this is not needed as we only start and stop from a single thread //if (player.getState() != Player.STARTED) { @@ -149,6 +161,7 @@ // player.addPlayerListener(SimpleAudio.this); //} player.stop(); + player.close(); } else { // this really should never happen |
From: <yu...@us...> - 2024-09-09 11:28:45
|
Revision: 2572 http://sourceforge.net/p/domination/code/2572 Author: yuranet Date: 2024-09-09 11:28:43 +0000 (Mon, 09 Sep 2024) Log Message: ----------- try getBoolean method Modified Paths: -------------- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java 2024-09-07 16:47:14 UTC (rev 2571) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java 2024-09-09 11:28:43 UTC (rev 2572) @@ -306,8 +306,8 @@ recycle.setSelected(DominationMain.getBoolean(RiskSettings.DEFAULT_RECYCLE_CARDS_KEY, recycle.isSelected())); } - ((Spinner) newgame.find("human")).setMinimum(localgame ? ("true".equals(System.getProperty("debug")) ? 0 : 1) - : ("true".equals(System.getProperty("debug")) ? 1 : 2)); + ((Spinner) newgame.find("human")).setMinimum(localgame ? (Boolean.getBoolean("debug") ? 0 : 1) + : (Boolean.getBoolean("debug") ? 1 : 2)); for (int c=0;c<compsNames.length;c++) { |
From: <yu...@us...> - 2024-09-07 16:47:16
|
Revision: 2571 http://sourceforge.net/p/domination/code/2571 Author: yuranet Date: 2024-09-07 16:47:14 +0000 (Sat, 07 Sep 2024) Log Message: ----------- move android build stuff into android subproject Modified Paths: -------------- Domination/android/build.gradle Domination/build.gradle Modified: Domination/android/build.gradle =================================================================== --- Domination/android/build.gradle 2024-08-25 18:53:39 UTC (rev 2570) +++ Domination/android/build.gradle 2024-09-07 16:47:14 UTC (rev 2571) @@ -1,3 +1,15 @@ +buildscript { + repositories { + mavenCentral() + google() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.3.3' + //classpath 'com.google.gms:google-services:4.3.3' // Google Services plugin + } +} + apply plugin: 'com.android.application' //apply plugin: 'com.google.gms.google-services' Modified: Domination/build.gradle =================================================================== --- Domination/build.gradle 2024-08-25 18:53:39 UTC (rev 2570) +++ Domination/build.gradle 2024-09-07 16:47:14 UTC (rev 2571) @@ -6,19 +6,6 @@ } } -buildscript { - repositories { - mavenCentral() - jcenter() - google() - } - - dependencies { - classpath 'com.android.tools.build:gradle:3.3.3' - //classpath 'com.google.gms:google-services:4.3.3' // Google Services plugin - } -} - apply plugin: 'java-library' compileJava { |
From: <yu...@us...> - 2024-08-25 18:53:42
|
Revision: 2570 http://sourceforge.net/p/domination/code/2570 Author: yuranet Date: 2024-08-25 18:53:39 +0000 (Sun, 25 Aug 2024) Log Message: ----------- handle too many sounds playing at once much better Modified Paths: -------------- Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java Modified: Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java =================================================================== --- Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java 2024-08-25 12:37:20 UTC (rev 2569) +++ Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/SimpleAudio.java 2024-08-25 18:53:39 UTC (rev 2570) @@ -1,11 +1,16 @@ package net.yura.domination.audio; import java.io.IOException; +import java.util.ConcurrentModificationException; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; -import java.util.concurrent.Executor; +import java.util.concurrent.BlockingQueue; import java.util.concurrent.Executors; +import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; import javax.microedition.media.Manager; @@ -23,10 +28,19 @@ /** * we need a single thread for starting and stopping music * otherwise if one thread starts it and another thread stops it - * the stop may never happen as it may never find the player + * the stop may never happen as it may never find the player. + * + * We need to create our own instance so we have access to the BlockingQueue */ - private final Executor singleThread = Executors.newSingleThreadExecutor(this); - + //private final Executor singleThread = Executors.newSingleThreadExecutor(this); + private final ThreadPoolExecutor musicThread = new ThreadPoolExecutor(1, 1, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue<Runnable>(), this); + + private final ThreadPoolExecutor soundThread = new ThreadPoolExecutor(1, 1, + 0L,TimeUnit.MILLISECONDS, + new LinkedBlockingQueue<Runnable>(), this); + @Override public Thread newThread(Runnable r) { Thread th = Executors.defaultThreadFactory().newThread(r); @@ -45,28 +59,46 @@ return player; } - public void play(String fileName) { + public void play(final String fileName) { if (outOfMemoryError) return; - - Player player = null; - try { - player = getPlayer(fileName); - player.start(); // can throw oom - } - catch (Exception ex) { - startError(fileName, player, ex); - } - catch (Error oom) { // OutOfMemoryError and NoClassDefFoundError - outOfMemoryError = true; - startError(fileName, player, oom); - } + + purge(soundThread.getQueue(), fileName); + + // on very very old computers even playing a short sound clip is very slow + soundThread.execute(new Runnable() { + @Override + public void run() { + Player player = null; + try { + player = getPlayer(fileName); + player.start(); // can throw oom + } + catch (Exception ex) { + startError(fileName, player, ex); + } + catch (Error oom) { // OutOfMemoryError and NoClassDefFoundError + outOfMemoryError = true; + startError(fileName, player, oom); + } + } + + @Override + public String toString() { + return fileName; + } + }); } + /** + * Only 1 music file with this name can play at a time + */ @Override public void start(final String fileName) { if (outOfMemoryError) return; - - singleThread.execute(new Runnable() { + + purge(musicThread.getQueue(), fileName); + + musicThread.execute(new Runnable() { @Override public void run() { Player player = null; @@ -84,6 +116,10 @@ startError(fileName, player, oom); } } + @Override + public String toString() { + return fileName; + } }); } @@ -101,7 +137,7 @@ @Override public void stop(final String audioFile) { try { - singleThread.execute(new Runnable() { + musicThread.execute(new Runnable() { @Override public void run() { try { @@ -125,6 +161,36 @@ } }); } + // in case the app is run without any libs, and is unable to find the classes needed to play sound catch (Error error) {} } + + private void purge(final BlockingQueue<Runnable> q, String name) { + try { + Iterator<Runnable> it = q.iterator(); + while (it.hasNext()) { + Runnable r = it.next(); + if (name.equals(r.toString())){ + it.remove(); + } + } + } catch (ConcurrentModificationException fallThrough) { + // Take slow path if we encounter interference during traversal. + // Make copy for traversal and call remove for cancelled entries. + // The slow path is more likely to be O(N*N). + for (Object r : q.toArray()) + if (name.equals(r.toString())) { + q.remove(r); + } + } + } + + /** + * @see Executors.FinalizableDelegatedExecutorService#finalize() + */ + @Override + protected void finalize() { + musicThread.shutdown(); + soundThread.shutdown(); + } } |
From: <yu...@us...> - 2024-08-25 12:37:23
|
Revision: 2569 http://sourceforge.net/p/domination/code/2569 Author: yuranet Date: 2024-08-25 12:37:20 +0000 (Sun, 25 Aug 2024) Log Message: ----------- android version bump Modified Paths: -------------- Domination/android/AndroidManifest.xml Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java Domination/src/net/yura/domination/engine/Risk.java Modified: Domination/android/AndroidManifest.xml =================================================================== --- Domination/android/AndroidManifest.xml 2024-08-25 12:30:12 UTC (rev 2568) +++ Domination/android/AndroidManifest.xml 2024-08-25 12:37:20 UTC (rev 2569) @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="net.yura.domination" - android:versionCode="93" - android:versionName="93" + android:versionCode="94" + android:versionName="94" android:installLocation="auto"> <!-- android:targetSdkVersion 11 to hide the legacy menu button on tablets --> Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-25 12:30:12 UTC (rev 2568) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-25 12:37:20 UTC (rev 2569) @@ -234,9 +234,10 @@ Panel mainWindow = new Panel( new BorderLayout() ); scroll = new ScrollPane(pp) { - // a little hack as we set setClip to false private final int ARROW_COLOR = PicturePanel.colorWithAlpha(ColorUtil.WHITE, 200); private Font font; + + // a little hack as we set setClip to false @Override public void repaint() { Window w = getWindow(); @@ -270,7 +271,6 @@ } }; - //sp.setMode( ScrollPane.MODE_FLOATING_SCROLLBARS ); scroll.setClip(false); mainWindow.add( scroll ); @@ -280,7 +280,6 @@ Panel contentPane = new Panel( new BorderLayout() ); contentPane.add( mainWindow ); setContentPane(contentPane); - } ScrollPane scroll; Modified: Domination/src/net/yura/domination/engine/Risk.java =================================================================== --- Domination/src/net/yura/domination/engine/Risk.java 2024-08-25 12:30:12 UTC (rev 2568) +++ Domination/src/net/yura/domination/engine/Risk.java 2024-08-25 12:37:20 UTC (rev 2569) @@ -2402,19 +2402,15 @@ return game.getCurrentPlayer().getCards(); } - - /** * Checks whether a Player has armies in a country - * @param name The index of the country + * @param color The color of the country * @return int Returns the number of armies */ - public int hasArmiesInt(int name) { - return ((Country)game.getCountryInt(name)).getArmies(); + public int hasArmiesInt(int color) { + return game.getCountryInt(color).getArmies(); } - - /** * Checks whether a Player can attack a country * @param a The name of the country attacking |
From: <yu...@us...> - 2024-08-25 12:30:15
|
Revision: 2568 http://sourceforge.net/p/domination/code/2568 Author: yuranet Date: 2024-08-25 12:30:12 +0000 (Sun, 25 Aug 2024) Log Message: ----------- grasshopper update Modified Paths: -------------- Domination/android/libs/GrasshopperAndroid.jar Domination/ios/lib/GrasshopperiOS.jar Domination/swingUI/lib/Grasshopper.jar Modified: Domination/android/libs/GrasshopperAndroid.jar =================================================================== (Binary files differ) Modified: Domination/ios/lib/GrasshopperiOS.jar =================================================================== (Binary files differ) Modified: Domination/swingUI/lib/Grasshopper.jar =================================================================== (Binary files differ) |
From: <yu...@us...> - 2024-08-25 12:27:10
|
Revision: 1052 http://sourceforge.net/p/jrisk/code/1052 Author: yuranet Date: 2024-08-25 12:27:07 +0000 (Sun, 25 Aug 2024) Log Message: ----------- build on old java still Modified Paths: -------------- Grasshopper/build.xml Grasshopper/nbproject/project.properties Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java Modified: Grasshopper/build.xml =================================================================== --- Grasshopper/build.xml 2024-08-25 12:12:02 UTC (rev 1051) +++ Grasshopper/build.xml 2024-08-25 12:27:07 UTC (rev 1052) @@ -12,7 +12,9 @@ <import file="nbproject/build-impl.xml"/> <echo>Java/JVM version: ${ant.java.version}</echo> - <echo>Java/JVM detail version: ${java.version}</echo> + <echo>Java/JVM detail version: ${java.version}</echo> + <echo>Java/JVM javac.source: ${javac.source}</echo> + <echo>Java/JVM javac.target: ${javac.target}</echo> <!-- override build-impl to not put "lib/" for lib jars into manifest --> Modified: Grasshopper/nbproject/project.properties =================================================================== --- Grasshopper/nbproject/project.properties 2024-08-25 12:12:02 UTC (rev 1051) +++ Grasshopper/nbproject/project.properties 2024-08-25 12:27:07 UTC (rev 1052) @@ -91,7 +91,7 @@ debug.test.classpath=${run.test.classpath} javac.external.vm=false javac.target=1.4 -platform.active=default_platform +platform.active=JDK_8 javadoc.html5=false javac.test.processorpath=${javac.test.classpath} meta.inf.dir=${src.dir}/META-INF Modified: Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java =================================================================== --- Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java 2024-08-25 12:12:02 UTC (rev 1051) +++ Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java 2024-08-25 12:27:07 UTC (rev 1052) @@ -98,7 +98,8 @@ File[] roots = File.listRoots(); StringBuffer sb = new StringBuffer(); final int mb = 1024 * 1024; - for (File root : roots) { + for (int c = 0; c < roots.length; c++) { + File root = roots[c]; sb.append(root); sb.append("\nFree Space (MB): "); sb.append(root.getFreeSpace() / mb); Modified: Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java =================================================================== --- Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java 2024-08-25 12:12:02 UTC (rev 1051) +++ Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java 2024-08-25 12:27:07 UTC (rev 1052) @@ -76,16 +76,18 @@ try { // java.lang.ProcessHandle.current().info().commandLine(); Class phClass = Class.forName("java.lang.ProcessHandle"); - Object phInfo = phClass.getMethod("info").invoke(phClass.getMethod("current").invoke(null)); - Optional<String> myCommandLine = (Optional<String>)Class.forName("java.lang.ProcessHandle$Info").getMethod("commandLine").invoke(phInfo); + Class[] noClass = new Class[0]; + Object[] noObject = new Object[0]; + Object phInfo = phClass.getMethod("info", noClass).invoke(phClass.getMethod("current", noClass).invoke(null, noObject), noObject); + Optional myCommandLine = (Optional)Class.forName("java.lang.ProcessHandle$Info").getMethod("commandLine", noClass).invoke(phInfo, noObject); if (!myCommandLine.isPresent()) { throw new Exception("not present"); } - commandLine = myCommandLine.get(); + commandLine = myCommandLine.get().toString(); } catch (Throwable th) { - List<String> args = java.lang.management.ManagementFactory.getRuntimeMXBean().getInputArguments(); + List args = java.lang.management.ManagementFactory.getRuntimeMXBean().getInputArguments(); commandLine = args.toString(); } } |
From: <yu...@us...> - 2024-08-25 12:12:05
|
Revision: 1051 http://sourceforge.net/p/jrisk/code/1051 Author: yuranet Date: 2024-08-25 12:12:02 +0000 (Sun, 25 Aug 2024) Log Message: ----------- move command line info to correct place Modified Paths: -------------- Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java Modified: Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java =================================================================== --- Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java 2024-08-25 11:53:45 UTC (rev 1050) +++ Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java 2024-08-25 12:12:02 UTC (rev 1051) @@ -3,9 +3,7 @@ import java.io.File; import java.util.Date; import java.util.Iterator; -import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.Properties; /** @@ -17,7 +15,7 @@ public static Map addSystemInfo() { - String systemLocale,localhost,systemProperties,environment,lookandfeel,installDate,memoryInfo,commandLine,diskInfo; + String systemLocale,localhost,systemProperties,environment,lookandfeel,installDate,memoryInfo,diskInfo; try { systemLocale = java.util.Locale.getDefault().toString(); @@ -115,27 +113,6 @@ diskInfo = e.toString(); } - try { - try { - // java.lang.ProcessHandle.current().info().commandLine(); - Class phClass = Class.forName("java.lang.ProcessHandle"); - Object phInfo = phClass.getMethod("info").invoke(phClass.getMethod("current").invoke(null)); - Optional<String> myCommandLine = (Optional<String>)Class.forName("java.lang.ProcessHandle$Info").getMethod("commandLine").invoke(phInfo); - - if (!myCommandLine.isPresent()) { - throw new Exception("not present"); - } - commandLine = myCommandLine.get(); - } - catch (Throwable th) { - List<String> args = java.lang.management.ManagementFactory.getRuntimeMXBean().getInputArguments(); - commandLine = args.toString(); - } - } - catch(Throwable th) { - commandLine = th.toString(); - } - Map map = new java.util.Hashtable(); map.put("systemLocale",systemLocale); map.put("localhost",localhost); @@ -144,7 +121,6 @@ map.put("lookandfeel",lookandfeel); map.put("installDate",installDate); map.put("memoryInfo", memoryInfo); - map.put("commandLine", commandLine); map.put("diskInfo", diskInfo); map.put("submitDate",new java.util.Date().toString()); Modified: Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java =================================================================== --- Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java 2024-08-25 11:53:45 UTC (rev 1050) +++ Grasshopper/src_swing/net/yura/grasshopper/BugUIInfo.java 2024-08-25 12:12:02 UTC (rev 1051) @@ -10,6 +10,8 @@ import java.awt.GraphicsDevice; import java.awt.GraphicsConfiguration; import java.io.ByteArrayOutputStream; +import java.util.List; +import java.util.Optional; import java.util.Vector; import javax.imageio.ImageIO; import javax.sound.sampled.AudioSystem; @@ -69,6 +71,29 @@ info += "\ngetMixerInfo Error: " + th; } + String commandLine; + try { + try { + // java.lang.ProcessHandle.current().info().commandLine(); + Class phClass = Class.forName("java.lang.ProcessHandle"); + Object phInfo = phClass.getMethod("info").invoke(phClass.getMethod("current").invoke(null)); + Optional<String> myCommandLine = (Optional<String>)Class.forName("java.lang.ProcessHandle$Info").getMethod("commandLine").invoke(phInfo); + + if (!myCommandLine.isPresent()) { + throw new Exception("not present"); + } + commandLine = myCommandLine.get(); + } + catch (Throwable th) { + List<String> args = java.lang.management.ManagementFactory.getRuntimeMXBean().getInputArguments(); + commandLine = args.toString(); + } + } + catch(Throwable th) { + commandLine = th.toString(); + } + info += "\ncommandLine: " + commandLine; + return info; } |
From: <yu...@us...> - 2024-08-25 11:53:47
|
Revision: 1050 http://sourceforge.net/p/jrisk/code/1050 Author: yuranet Date: 2024-08-25 11:53:45 +0000 (Sun, 25 Aug 2024) Log Message: ----------- disk space info Modified Paths: -------------- Grasshopper/ChangeLog.txt Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java Modified: Grasshopper/ChangeLog.txt =================================================================== --- Grasshopper/ChangeLog.txt 2024-06-02 12:15:31 UTC (rev 1049) +++ Grasshopper/ChangeLog.txt 2024-08-25 11:53:45 UTC (rev 1050) @@ -4,6 +4,7 @@ sound card info memory info command line info + disk space info 2.13 Modified: Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java =================================================================== --- Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java 2024-06-02 12:15:31 UTC (rev 1049) +++ Grasshopper/src/net/yura/grasshopper/BugSystemInfo.java 2024-08-25 11:53:45 UTC (rev 1050) @@ -17,7 +17,7 @@ public static Map addSystemInfo() { - String systemLocale,localhost,systemProperties,environment,lookandfeel,installDate,memoryInfo,commandLine; + String systemLocale,localhost,systemProperties,environment,lookandfeel,installDate,memoryInfo,commandLine,diskInfo; try { systemLocale = java.util.Locale.getDefault().toString(); @@ -97,6 +97,25 @@ } try { + File[] roots = File.listRoots(); + StringBuffer sb = new StringBuffer(); + final int mb = 1024 * 1024; + for (File root : roots) { + sb.append(root); + sb.append("\nFree Space (MB): "); + sb.append(root.getFreeSpace() / mb); + sb.append("\nTotal Space (MB): "); + sb.append(root.getTotalSpace() / mb); + sb.append("\nUsable Space (MB): "); + sb.append(root.getUsableSpace() / mb); + } + diskInfo = sb.toString(); + } + catch (Throwable e) { + diskInfo = e.toString(); + } + + try { try { // java.lang.ProcessHandle.current().info().commandLine(); Class phClass = Class.forName("java.lang.ProcessHandle"); @@ -126,7 +145,7 @@ map.put("installDate",installDate); map.put("memoryInfo", memoryInfo); map.put("commandLine", commandLine); - + map.put("diskInfo", diskInfo); map.put("submitDate",new java.util.Date().toString()); return map; |
From: <yu...@us...> - 2024-08-24 15:48:41
|
Revision: 2567 http://sourceforge.net/p/domination/code/2567 Author: yuranet Date: 2024-08-24 15:48:38 +0000 (Sat, 24 Aug 2024) Log Message: ----------- fix fonts sometimes going bold Modified Paths: -------------- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-24 15:31:08 UTC (rev 2566) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-24 15:48:38 UTC (rev 2567) @@ -52,6 +52,7 @@ import net.yura.mobile.gui.layout.GridBagLayout; import net.yura.mobile.gui.layout.XHTMLLoader; import net.yura.mobile.gui.layout.XULLoader; +import net.yura.mobile.gui.plaf.Style; import net.yura.mobile.io.kdom.Document; import net.yura.mobile.io.kdom.Element; import net.yura.mobile.io.kxml2.KXmlSerializer; @@ -234,7 +235,8 @@ Panel mainWindow = new Panel( new BorderLayout() ); scroll = new ScrollPane(pp) { // a little hack as we set setClip to false - final int ARROW_COLOR = PicturePanel.colorWithAlpha(ColorUtil.WHITE, 200); + private final int ARROW_COLOR = PicturePanel.colorWithAlpha(ColorUtil.WHITE, 200); + private Font font; @Override public void repaint() { Window w = getWindow(); @@ -246,20 +248,26 @@ public void paintComponent(Graphics2D g) { List<Player> players = myrisk.getGame().getPlayers(); Player current = myrisk.getGame().getCurrentPlayer(); - Font f = g.getFont(); - final int x = f.getHeight(); - int y = f.getHeight(); + g.setFont(font); + final int x = font.getHeight(); + int y = font.getHeight(); for (Player p : players) { g.setColor(p.getColor()); String text = (p.getType() == Player.PLAYER_HUMAN ? "\ud83e\uddd1" : "\ud83e\udd16") + " " + p.getName() + " - " + p.getCards().size(); g.drawString(text, x, y); if (p == current) { - int offset = x + f.getWidth(text) + x / 2; + int offset = x + font.getWidth(text) + x / 2; MoveDialog.drawArrow(g, offset + (int)(x * 1.5), offset, y, y + x, ARROW_COLOR); } y = y + x; } } + + @Override + public void updateUI() { + super.updateUI(); + font = theme.getFont(Style.ALL); + } }; |
From: <yu...@us...> - 2024-08-24 15:31:09
|
Revision: 2566 http://sourceforge.net/p/domination/code/2566 Author: yuranet Date: 2024-08-24 15:31:08 +0000 (Sat, 24 Aug 2024) Log Message: ----------- add link to install cocoapods with brew Modified Paths: -------------- website/download.shtml Modified: website/download.shtml =================================================================== --- website/download.shtml 2024-08-24 15:05:44 UTC (rev 2565) +++ website/download.shtml 2024-08-24 15:31:08 UTC (rev 2566) @@ -110,7 +110,7 @@ <p>Please use <a href="https://developer.android.com/studio/archive">Android Studio 3.2.1</a>/<a href="http://developer.android.com/sdk/installing/studio-build.html">Gradle</a> to build the project</p> - <p>iOS setup: you will need to have <a href="https://cocoapods.org/">cocoapods</a> installed and + <p>iOS setup: you will need to have <a href="https://cocoapods.org/" target=”_blank”>cocoapods</a> <a href="https://formulae.brew.sh/formula/cocoapods" target=”_blank”>installed</a> and run "pod install" from 'Domination/ios/xcode' then you will need to revert the 'ChartDataSet.swift' file. </p> |
From: <yu...@us...> - 2024-08-24 15:05:46
|
Revision: 2565 http://sourceforge.net/p/domination/code/2565 Author: yuranet Date: 2024-08-24 15:05:44 +0000 (Sat, 24 Aug 2024) Log Message: ----------- better looking arrow Modified Paths: -------------- Domination/ChangeLog.txt Domination/ios/xcode/Domination.xcodeproj/project.pbxproj Domination/sharedUI/res_mini_game_ui/net/yura/domination/engine/settings.ini Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java Modified: Domination/ChangeLog.txt =================================================================== --- Domination/ChangeLog.txt 2024-08-24 12:12:22 UTC (rev 2564) +++ Domination/ChangeLog.txt 2024-08-24 15:05:44 UTC (rev 2565) @@ -6,7 +6,7 @@ * Network: 14 * Save: 8 - iOS: 15 + iOS: 16 Android: 94 Game GUI: 2 Swing GUI: 2 @@ -30,8 +30,11 @@ MapEditor: smart fill Mnemonic 'F' MapEditor: force user to save map if changed before publish + iOS 16 Sound + Player card info on main screen + Can add custom maps through Files app + Android 94 Sound - Player card info on main screen 1.2.9 (04.08.2023) (svn rev 2470) Modified: Domination/ios/xcode/Domination.xcodeproj/project.pbxproj =================================================================== --- Domination/ios/xcode/Domination.xcodeproj/project.pbxproj 2024-08-24 12:12:22 UTC (rev 2564) +++ Domination/ios/xcode/Domination.xcodeproj/project.pbxproj 2024-08-24 15:05:44 UTC (rev 2565) @@ -313,7 +313,7 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 0820; - ORGANIZATIONNAME = "yura.net"; + ORGANIZATIONNAME = yura.net; }; buildConfigurationList = EE1B76AC2D4C44432A7FA818 /* Build configuration list for PBXProject "Domination" */; compatibilityVersion = "Xcode 3.2"; Modified: Domination/sharedUI/res_mini_game_ui/net/yura/domination/engine/settings.ini =================================================================== --- Domination/sharedUI/res_mini_game_ui/net/yura/domination/engine/settings.ini 2024-08-24 12:12:22 UTC (rev 2564) +++ Domination/sharedUI/res_mini_game_ui/net/yura/domination/engine/settings.ini 2024-08-24 15:05:44 UTC (rev 2565) @@ -4,7 +4,7 @@ # app version comes from the manifest on iOS/Android # this version is displayed on the phone as the "Game Engine version" -version=1.2.7 +version=1.3.1 defaultmap=luca.map defaultcards=risk.cards Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-24 12:12:22 UTC (rev 2564) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-24 15:05:44 UTC (rev 2565) @@ -16,6 +16,7 @@ import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; import net.yura.domination.audio.GameSound; +import net.yura.domination.engine.ColorUtil; import net.yura.domination.engine.JavaCompatUtil; import net.yura.domination.engine.Risk; import net.yura.domination.engine.RiskSettings; @@ -233,6 +234,7 @@ Panel mainWindow = new Panel( new BorderLayout() ); scroll = new ScrollPane(pp) { // a little hack as we set setClip to false + final int ARROW_COLOR = PicturePanel.colorWithAlpha(ColorUtil.WHITE, 200); @Override public void repaint() { Window w = getWindow(); @@ -245,11 +247,16 @@ List<Player> players = myrisk.getGame().getPlayers(); Player current = myrisk.getGame().getCurrentPlayer(); Font f = g.getFont(); - int x = f.getHeight(); + final int x = f.getHeight(); int y = f.getHeight(); for (Player p : players) { g.setColor(p.getColor()); - g.drawString((p.getType() == Player.PLAYER_HUMAN ? "\ud83e\uddd1" : "\ud83e\udd16") + " " + p.getName() + " - " + p.getCards().size() + (p == current ? " \u2b05\ufe0f" : ""), x, y); + String text = (p.getType() == Player.PLAYER_HUMAN ? "\ud83e\uddd1" : "\ud83e\udd16") + " " + p.getName() + " - " + p.getCards().size(); + g.drawString(text, x, y); + if (p == current) { + int offset = x + f.getWidth(text) + x / 2; + MoveDialog.drawArrow(g, offset + (int)(x * 1.5), offset, y, y + x, ARROW_COLOR); + } y = y + x; } } Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java 2024-08-24 12:12:22 UTC (rev 2564) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java 2024-08-24 15:05:44 UTC (rev 2565) @@ -188,11 +188,8 @@ PicturePanel.drawArmy(g, color2, noa2i, xMiddle+distanceFromCenter, yMiddle, size, capital2); int xOffset = XULLoader.adjustSizeToDensity(70); - int yOffset = XULLoader.adjustSizeToDensity(20); - int xCoords[] = {xMiddle-xOffset, xMiddle, xMiddle, xMiddle+xOffset, xMiddle, xMiddle, xMiddle-xOffset}; - int yCoords[] = {yMiddle-yOffset, yMiddle-yOffset, yMiddle-yOffset*2, yMiddle, yMiddle+yOffset*2, yMiddle+yOffset, yMiddle+yOffset}; - DirectGraphics g2 = DirectUtils.getDirectGraphics(g.getGraphics()); - g2.fillPolygon(xCoords, 0, yCoords, 0, xCoords.length, PicturePanel.colorWithAlpha(color1, 150) ); + int yOffset = XULLoader.adjustSizeToDensity(40); + drawArrow(g, xMiddle-xOffset, xMiddle+xOffset, yMiddle-yOffset, yMiddle+yOffset, PicturePanel.colorWithAlpha(color1, 150)); if (move > 0) { g.setColor( ColorUtil.getTextColorFor(color1) ); @@ -206,6 +203,15 @@ g.drawString(name2, xC2-font.getWidth(name2)/2, texty); } + public static void drawArrow(Graphics2D g, int xStart, int xEnd, int yTop, int yBottom, int color) { + int xMiddle = (xEnd + xStart) / 2; + int xCoords[] = {xStart, xMiddle, xMiddle, xEnd, xMiddle, xMiddle, xStart}; + int yOffset = (yBottom - yTop) / 4; + int yCoords[] = {yTop + yOffset, yTop + yOffset, yTop, yTop + yOffset * 2, yBottom, yBottom - yOffset, yBottom - yOffset}; + DirectGraphics g2 = DirectUtils.getDirectGraphics(g.getGraphics()); + g2.fillPolygon(xCoords, 0, yCoords, 0, xCoords.length, color); + } + public static void drawCountry(Graphics2D g, Image img, int x, int y) { if (img==null) return; // out of mem, getCountryImage returned null |
From: <yu...@us...> - 2024-08-24 11:03:32
|
Revision: 2563 http://sourceforge.net/p/domination/code/2563 Author: yuranet Date: 2024-08-24 11:03:29 +0000 (Sat, 24 Aug 2024) Log Message: ----------- sound added to mobile app Modified Paths: -------------- Domination/ios/xcode/Domination.xcodeproj/project.pbxproj Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/GameSound.java Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BattleDialog.java Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/CardsDialog.java Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java Domination/test/net/yura/domination/lobby/server/ServerGameRiskTest.java Modified: Domination/ios/xcode/Domination.xcodeproj/project.pbxproj =================================================================== --- Domination/ios/xcode/Domination.xcodeproj/project.pbxproj 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/ios/xcode/Domination.xcodeproj/project.pbxproj 2024-08-24 11:03:29 UTC (rev 2563) @@ -692,7 +692,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Domination/Domination.entitlements; - CURRENT_PROJECT_VERSION = 15; + CURRENT_PROJECT_VERSION = 16; DEAD_CODE_STRIPPING = NO; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -701,7 +701,7 @@ ); INFOPLIST_FILE = Domination/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 15; + MARKETING_VERSION = 16; MOE_COPY_ANDROID_CACERTS = NO; MOE_FRAMEWORK_PATH = "${MOE_SDK_PATH}/sdk/${PLATFORM_NAME}"; MOE_JAVA_VERSION_OVERRIDE = ""; @@ -732,7 +732,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Domination/Domination.entitlements; - CURRENT_PROJECT_VERSION = 15; + CURRENT_PROJECT_VERSION = 16; DEAD_CODE_STRIPPING = NO; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -741,7 +741,7 @@ ); INFOPLIST_FILE = Domination/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 15; + MARKETING_VERSION = 16; MOE_COPY_ANDROID_CACERTS = NO; MOE_FRAMEWORK_PATH = "${MOE_SDK_PATH}/sdk/${PLATFORM_NAME}"; MOE_JAVA_VERSION_OVERRIDE = ""; Modified: Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/GameSound.java =================================================================== --- Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/GameSound.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/sharedUI/src_mapstore_lobby/net/yura/domination/audio/GameSound.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -1,6 +1,5 @@ package net.yura.domination.audio; -import java.io.File; import java.io.InputStream; import java.util.HashMap; import java.util.Map; Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BattleDialog.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BattleDialog.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BattleDialog.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -5,6 +5,7 @@ import java.util.Random; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.game.Sprite; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.Risk; import net.yura.domination.engine.core.RiskGame; import net.yura.mobile.gui.ActionListener; @@ -88,15 +89,18 @@ @Override public void actionPerformed(String actionCommand) { if ("fight".equals( actionCommand )) { + GameSound.INSTANCE.playSound(GameSound.DICE_ROLL); go("roll "+ (canRetreat?noda:nodd) ); } else if ("kill".equals( actionCommand )) { if (kill.isSelected()) { + GameSound.INSTANCE.playSound(GameSound.DICE_ROLL); go("roll "+ (canRetreat?noda:nodd) ); } } else if ("retreat".equals( actionCommand )) { if (canRetreat) { + GameSound.INSTANCE.playSound(GameSound.BATTLE_RETREAT); go("retreat"); } else { Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/CardsDialog.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/CardsDialog.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/CardsDialog.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -6,10 +6,10 @@ import java.util.logging.Logger; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.ColorUtil; import net.yura.domination.engine.JavaCompatUtil; import net.yura.domination.engine.Risk; -import net.yura.domination.engine.RiskUtil; import net.yura.domination.engine.core.Card; import net.yura.domination.engine.core.Player; import net.yura.domination.engine.core.RiskGame; @@ -168,6 +168,8 @@ } else if ("trade".equals(actionCommand)) { + GameSound.INSTANCE.playSound(GameSound.CARDS_TRADE); + List<CardPanel> cards2 = getSelectedCards(); if (cards2.size()==3) { Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameSetup.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -4,6 +4,7 @@ import java.util.Enumeration; import java.util.HashSet; import java.util.List; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.ColorUtil; import net.yura.domination.engine.OnlineUtil; import net.yura.domination.engine.Risk; @@ -75,6 +76,13 @@ @Override public void actionPerformed(String actionCommand) { + if ("closegame".equals(actionCommand)) { + GameSound.INSTANCE.playSound(GameSound.BACK_BUTTON); + } + else if (!"startgame".equals(actionCommand)) { + GameSound.INSTANCE.playSound(GameSound.BUTTON); + } + if ("closegame".equals(actionCommand)) { // user clicks back in game setup screen if (localgame) { myrisk.parser("closegame"); Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -15,6 +15,7 @@ import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.JavaCompatUtil; import net.yura.domination.engine.Risk; import net.yura.domination.engine.RiskSettings; @@ -457,6 +458,11 @@ } public void actionPerformed(String actionCommand) { + + if (!"go".equals(actionCommand) || gameState != RiskGame.STATE_PLACE_ARMIES) { + GameSound.INSTANCE.playSound(GameSound.BUTTON); + } + if ("go".equals(actionCommand)) { goOn(); } @@ -968,6 +974,7 @@ go("endtrade"); } else if (gameState==RiskGame.STATE_PLACE_ARMIES) { + GameSound.INSTANCE.playSound(GameSound.PLACE_ARMY); go("autoplace"); } else if (gameState==RiskGame.STATE_ATTACKING) { @@ -1038,9 +1045,11 @@ if (gameState == RiskGame.STATE_PLACE_ARMIES) { if (countries.length == 1) { if (rightClick) { + GameSound.INSTANCE.playSound(GameSound.PLACE_ARMIES); go( "placearmies " + countries[0] + " 10" ); } else { + GameSound.INSTANCE.playSound(GameSound.PLACE_ARMY); go( "placearmies " + countries[0] + " 1" ); } } @@ -1054,6 +1063,7 @@ note.setText( resb.getProperty("game.note.selectdefender") ); } else { + GameSound.INSTANCE.playSound(GameSound.ATTACK); go("attack " + countries[0] + " " + countries[1]); note.setText(" "); // HACK: go sets the note to "please wait" so now we want to clear it } Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -3,6 +3,7 @@ import java.util.List; import java.util.Locale; import java.io.File; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.JavaCompatUtil; import net.yura.domination.engine.Risk; import net.yura.domination.engine.RiskUtil; @@ -101,6 +102,9 @@ @Override public void actionPerformed(String actionCommand) { + + GameSound.INSTANCE.playSound("online".equals(actionCommand) ? GameSound.LOBBY_START : GameSound.MENU_BUTTON); + if ("new game".equals(actionCommand)) { myrisk.parser("newgame"); } Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MoveDialog.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -5,6 +5,7 @@ import com.nokia.mid.ui.DirectUtils; import java.util.List; import javax.microedition.lcdui.Image; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.ColorUtil; import net.yura.domination.engine.Risk; import net.yura.domination.engine.core.Player; @@ -242,9 +243,11 @@ else if (actionCommand.equals("all")) { int src = myrisk.hasArmiesInt( c1num ); if (tacmove) { + GameSound.INSTANCE.playSound(GameSound.MOVE_TACTICAL); go("movearmies " +c1num+ " " +c2num+ " " + (src-1) ); } else { + GameSound.INSTANCE.playSound(GameSound.MOVE_ARMIES); go("move " + (src-1) ); } } @@ -251,9 +254,11 @@ else if (actionCommand.equals("move")) { int move = ((Integer)slider.getValue()); if (tacmove) { + GameSound.INSTANCE.playSound(GameSound.MOVE_TACTICAL); go("movearmies " +c1num+ " " +c2num+ " " + move ); } else { + GameSound.INSTANCE.playSound(GameSound.MOVE_ARMIES); go("move " + move); } } Modified: Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java =================================================================== --- Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -13,6 +13,9 @@ import net.yura.lobby.server.ServerGameListener; import static junit.framework.TestCase.assertEquals; +/** + * WARNING! this test is NOT compatible to being run with other tests in the same VM! + */ public class ServerGameTest extends TestCase { ServerGame serverGame; @@ -21,12 +24,18 @@ protected void setUp() throws Exception { super.setUp(); + if ("/".equals(System.getProperty("user.dir"))) { + throw new RuntimeException("current dir set incorrectly! /"); + } + // we must change the current folder for map loading to work System.setProperty("user.dir", System.getProperty("user.dir") + File.separator +"game" ); AIManager.setWait(0); Risk.setShowDice(false); - + + // WARNING!! this will call the ServerGameRisk static initializer!! (that sets RiskUtil.streamOpener) + // WARNING!! if this test is not run forked, it will break tests that come after!! serverGame = new ServerGameRisk() { AIManager fakeHuman = new AIManager(); @Override Modified: Domination/test/net/yura/domination/lobby/server/ServerGameRiskTest.java =================================================================== --- Domination/test/net/yura/domination/lobby/server/ServerGameRiskTest.java 2024-08-19 20:49:33 UTC (rev 2562) +++ Domination/test/net/yura/domination/lobby/server/ServerGameRiskTest.java 2024-08-24 11:03:29 UTC (rev 2563) @@ -2,8 +2,11 @@ import junit.framework.TestCase; +/** + * WARNING! this test is NOT compatible to being run with other tests in the same VM! + */ public class ServerGameRiskTest extends TestCase { - + public ServerGameRiskTest(String testName) { super(testName); } |
From: <yu...@us...> - 2024-08-19 20:49:34
|
Revision: 2562 http://sourceforge.net/p/domination/code/2562 Author: yuranet Date: 2024-08-19 20:49:33 +0000 (Mon, 19 Aug 2024) Log Message: ----------- rearange settings Modified Paths: -------------- Domination/sharedUI/res_mini_game_ui/preferences.xml Modified: Domination/sharedUI/res_mini_game_ui/preferences.xml =================================================================== --- Domination/sharedUI/res_mini_game_ui/preferences.xml 2024-08-19 20:30:51 UTC (rev 2561) +++ Domination/sharedUI/res_mini_game_ui/preferences.xml 2024-08-19 20:49:33 UTC (rev 2562) @@ -2,8 +2,10 @@ <!-- generated by ThinG, the Thinlet GUI editor --> <panel bottom="5" columns="2" gap="5" left="5" right="5" top="5"> <checkbox colspan="2" i18n="true" name="show_toasts" text="game.menu.showtoasts"/> + <checkbox colspan="2" i18n="true" name="color_blind" text="game.menu.colorblind"/> + <checkbox colspan="2" i18n="true" name="audio.sound" selected="true" text="game.menu.sound"/> + <checkbox colspan="2" i18n="true" name="audio.music" selected="true" text="game.menu.music"/> <checkbox colspan="2" i18n="true" name="game.dice.show" selected="true" text="game.menu.showdice"/> - <checkbox colspan="2" i18n="true" name="color_blind" text="game.menu.colorblind"/> <label i18n="true" text="game.menu.aiSpeed"/> <combobox name="ai.wait" selected="0" start="24" text="game.menu.aiSpeed.normal"> <choice i18n="true" name="500" text="game.menu.aiSpeed.normal"/> @@ -11,6 +13,5 @@ <choice i18n="true" name="100" text="game.menu.aiSpeed.lightning"/> <choice i18n="true" name="0" text="game.menu.aiSpeed.instant"/> </combobox> - <checkbox colspan="2" i18n="true" name="audio.sound" selected="true" text="game.menu.sound"/> - <checkbox colspan="2" i18n="true" name="audio.music" selected="true" text="game.menu.music"/> + </panel> |
From: <yu...@us...> - 2024-08-19 20:30:52
|
Revision: 2561 http://sourceforge.net/p/domination/code/2561 Author: yuranet Date: 2024-08-19 20:30:51 +0000 (Mon, 19 Aug 2024) Log Message: ----------- add sound settings Modified Paths: -------------- Domination/sharedUI/res_mini_game_ui/preferences.xml Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GamePreferences.java Modified: Domination/sharedUI/res_mini_game_ui/preferences.xml =================================================================== --- Domination/sharedUI/res_mini_game_ui/preferences.xml 2024-08-11 22:22:13 UTC (rev 2560) +++ Domination/sharedUI/res_mini_game_ui/preferences.xml 2024-08-19 20:30:51 UTC (rev 2561) @@ -11,4 +11,6 @@ <choice i18n="true" name="100" text="game.menu.aiSpeed.lightning"/> <choice i18n="true" name="0" text="game.menu.aiSpeed.instant"/> </combobox> + <checkbox colspan="2" i18n="true" name="audio.sound" selected="true" text="game.menu.sound"/> + <checkbox colspan="2" i18n="true" name="audio.music" selected="true" text="game.menu.music"/> </panel> Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GamePreferences.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GamePreferences.java 2024-08-11 22:22:13 UTC (rev 2560) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GamePreferences.java 2024-08-19 20:30:51 UTC (rev 2561) @@ -1,5 +1,6 @@ package net.yura.domination.mobile.flashgui; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.Risk; import net.yura.domination.engine.ai.AIManager; import net.yura.domination.engine.translation.TranslationBundle; @@ -32,20 +33,16 @@ Map<String, String> results = loader.getFormData(); // TODO do we want to support ability to put the game into fullscreen mode? - //new CheckBox(resb.getString("game.menu.fullscreen")); - //fullscreen.setKey("fullscreen"); - boolean show_toasts = Boolean.parseBoolean(results.get(RiskSettings.SHOW_TOASTS_KEY)); - boolean color_blind = Boolean.parseBoolean(results.get(RiskSettings.COLOR_BLIND_KEY)); - boolean showDice = Boolean.parseBoolean(results.get(RiskSettings.SHOW_DICE_KEY)); - int aiWait = Integer.parseInt(results.get(RiskSettings.AI_WAIT_KEY)); + Risk.setShowDice(Boolean.parseBoolean(results.get(RiskSettings.SHOW_DICE_KEY))); + AIManager.setWait(Integer.parseInt(results.get(RiskSettings.AI_WAIT_KEY))); - Risk.setShowDice(showDice); - AIManager.setWait(aiWait); + DominationMain.appPreferences.putBoolean(RiskSettings.SHOW_TOASTS_KEY, Boolean.parseBoolean(results.get(RiskSettings.SHOW_TOASTS_KEY))); + DominationMain.appPreferences.putBoolean(RiskSettings.COLOR_BLIND_KEY, Boolean.parseBoolean(results.get(RiskSettings.COLOR_BLIND_KEY))); - DominationMain.appPreferences.putBoolean(RiskSettings.SHOW_TOASTS_KEY, show_toasts); - DominationMain.appPreferences.putBoolean(RiskSettings.COLOR_BLIND_KEY, color_blind); - + GameSound.INSTANCE.setSoundEnabled(Boolean.parseBoolean(results.get(RiskSettings.SOUND_KEY))); + GameSound.INSTANCE.setMusicEnabled(Boolean.parseBoolean(results.get(RiskSettings.MUSIC_KEY))); + RiskSettings.saveSettingsToPrefs(DominationMain.appPreferences); } } |
From: <yu...@us...> - 2024-08-11 22:22:25
|
Revision: 2560 http://sourceforge.net/p/domination/code/2560 Author: yuranet Date: 2024-08-11 22:22:13 +0000 (Sun, 11 Aug 2024) Log Message: ----------- uk flag part 2 Modified Paths: -------------- Domination/sharedUI/img_mini_game_ui/drawable-mdpi/logo_white.png Domination/sharedUI/img_mini_game_ui/drawable-xhdpi/logo_white.png Added Paths: ----------- Domination/swingUI/game/Domination/FlashGUIart/drawable-mdpi/logo_white.png Domination/swingUI/game/Domination/FlashGUIart/drawable-xhdpi/logo_white.png Domination/swingUI/game/Domination/FlashGUIart/uk_flag_simple.png Modified: Domination/sharedUI/img_mini_game_ui/drawable-mdpi/logo_white.png =================================================================== (Binary files differ) Modified: Domination/sharedUI/img_mini_game_ui/drawable-xhdpi/logo_white.png =================================================================== (Binary files differ) Added: Domination/swingUI/game/Domination/FlashGUIart/drawable-mdpi/logo_white.png =================================================================== (Binary files differ) Index: Domination/swingUI/game/Domination/FlashGUIart/drawable-mdpi/logo_white.png =================================================================== --- Domination/swingUI/game/Domination/FlashGUIart/drawable-mdpi/logo_white.png 2024-08-11 13:40:49 UTC (rev 2559) +++ Domination/swingUI/game/Domination/FlashGUIart/drawable-mdpi/logo_white.png 2024-08-11 22:22:13 UTC (rev 2560) Property changes on: Domination/swingUI/game/Domination/FlashGUIart/drawable-mdpi/logo_white.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: Domination/swingUI/game/Domination/FlashGUIart/drawable-xhdpi/logo_white.png =================================================================== (Binary files differ) Index: Domination/swingUI/game/Domination/FlashGUIart/drawable-xhdpi/logo_white.png =================================================================== --- Domination/swingUI/game/Domination/FlashGUIart/drawable-xhdpi/logo_white.png 2024-08-11 13:40:49 UTC (rev 2559) +++ Domination/swingUI/game/Domination/FlashGUIart/drawable-xhdpi/logo_white.png 2024-08-11 22:22:13 UTC (rev 2560) Property changes on: Domination/swingUI/game/Domination/FlashGUIart/drawable-xhdpi/logo_white.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: Domination/swingUI/game/Domination/FlashGUIart/uk_flag_simple.png =================================================================== (Binary files differ) Index: Domination/swingUI/game/Domination/FlashGUIart/uk_flag_simple.png =================================================================== --- Domination/swingUI/game/Domination/FlashGUIart/uk_flag_simple.png 2024-08-11 13:40:49 UTC (rev 2559) +++ Domination/swingUI/game/Domination/FlashGUIart/uk_flag_simple.png 2024-08-11 22:22:13 UTC (rev 2560) Property changes on: Domination/swingUI/game/Domination/FlashGUIart/uk_flag_simple.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property |
From: <yu...@us...> - 2024-08-11 13:41:01
|
Revision: 2559 http://sourceforge.net/p/domination/code/2559 Author: yuranet Date: 2024-08-11 13:40:49 +0000 (Sun, 11 Aug 2024) Log Message: ----------- uk flag Modified Paths: -------------- Domination/swingUI/game/Domination/jar/net/yura/domination/ui/flashgui/menu.jpg Added Paths: ----------- Domination/swingUI/game/Domination/FlashGUIart/uk_flag.png Added: Domination/swingUI/game/Domination/FlashGUIart/uk_flag.png =================================================================== (Binary files differ) Index: Domination/swingUI/game/Domination/FlashGUIart/uk_flag.png =================================================================== --- Domination/swingUI/game/Domination/FlashGUIart/uk_flag.png 2024-08-10 13:11:13 UTC (rev 2558) +++ Domination/swingUI/game/Domination/FlashGUIart/uk_flag.png 2024-08-11 13:40:49 UTC (rev 2559) Property changes on: Domination/swingUI/game/Domination/FlashGUIart/uk_flag.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Modified: Domination/swingUI/game/Domination/jar/net/yura/domination/ui/flashgui/menu.jpg =================================================================== (Binary files differ) |
From: <yu...@us...> - 2024-08-10 13:11:33
|
Revision: 2558 http://sourceforge.net/p/domination/code/2558 Author: yuranet Date: 2024-08-10 13:11:13 +0000 (Sat, 10 Aug 2024) Log Message: ----------- end of WSA https://learn.microsoft.com/windows/android/wsa/ Modified Paths: -------------- website/nav.shtml Modified: website/nav.shtml =================================================================== --- website/nav.shtml 2024-07-12 17:45:19 UTC (rev 2557) +++ website/nav.shtml 2024-08-10 13:11:13 UTC (rev 2558) @@ -76,7 +76,7 @@ <a href="https://play.google.com/store/apps/details?id=net.yura.domination"><img src="images/android_app_on_play_logo_small.png" alt="Android App on Google Play" width="129" height="45"></a> </p> - +<!-- <p> <a href="https://support.microsoft.com/en-us/windows/install-mobile-apps-and-the-amazon-appstore-on-windows-f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c" target=”_blank”> <img src="images/windows-subsystem-for-android.png" width="32" height="39" alt="Windows Subsystem For Android" title="Windows Subsystem For Android"/></a> @@ -85,6 +85,7 @@ <img src="https://get.microsoft.com/images/en-GB%20dark.svg"/> </a> </p> +--> <p> <a href="applet/flashDomination.jnlp"><img src="images/webstart.png" alt="Launches Flash GUI Domination" height="23" width="88"></a> |
From: <yu...@us...> - 2024-07-12 17:45:21
|
Revision: 2557 http://sourceforge.net/p/domination/code/2557 Author: yuranet Date: 2024-07-12 17:45:19 +0000 (Fri, 12 Jul 2024) Log Message: ----------- music settings in android/ios Modified Paths: -------------- Domination/android/src/net/yura/domination/android/GamePreferenceActivity.java Domination/src/net/yura/domination/engine/translation/Risk.properties Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java Modified: Domination/android/src/net/yura/domination/android/GamePreferenceActivity.java =================================================================== --- Domination/android/src/net/yura/domination/android/GamePreferenceActivity.java 2024-07-12 17:26:45 UTC (rev 2556) +++ Domination/android/src/net/yura/domination/android/GamePreferenceActivity.java 2024-07-12 17:45:19 UTC (rev 2557) @@ -7,6 +7,7 @@ import java.util.TimerTask; import net.yura.android.AndroidMeActivity; import net.yura.android.AndroidMeApp; +import net.yura.domination.audio.GameSound; import net.yura.domination.engine.Risk; import net.yura.domination.engine.RiskSettings; import net.yura.domination.engine.ai.AIManager; @@ -56,11 +57,55 @@ inlinePrefCat.setTitle( resb.getString("swing.menu.options") ); root.addPreference(inlinePrefCat); + CheckBoxPreference fullscreen = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); + fullscreen.setTitle( resb.getString("game.menu.fullscreen") ); + fullscreen.setKey(RiskSettings.FULL_SCREEN_KEY); + fullscreen.setDefaultValue(GameActivity.getDefaultFullScreen(context)); + inlinePrefCat.addPreference(fullscreen); + fullscreen.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + GameActivity.setGameFullscreen((Boolean)newValue); + return true; + } + }); + CheckBoxPreference show_toasts = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); show_toasts.setTitle( resb.getString("game.menu.showtoasts") ); show_toasts.setKey(RiskSettings.SHOW_TOASTS_KEY); inlinePrefCat.addPreference(show_toasts); + CheckBoxPreference color_blind = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); + color_blind.setTitle( resb.getString("game.menu.colorblind") ); + color_blind.setKey(RiskSettings.COLOR_BLIND_KEY); + inlinePrefCat.addPreference(color_blind); + + CheckBoxPreference sound = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); + sound.setTitle(resb.getString("game.menu.sound")); + sound.setKey(RiskSettings.SOUND_KEY); + sound.setDefaultValue(GameSound.INSTANCE.isSoundEnabled()); + sound.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + GameSound.INSTANCE.setSoundEnabled((Boolean)newValue); + return true; + } + }); + inlinePrefCat.addPreference(sound); + + CheckBoxPreference music = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); + music.setTitle(resb.getString("game.menu.music")); + music.setKey(RiskSettings.MUSIC_KEY); + music.setDefaultValue(GameSound.INSTANCE.isMusicEnabled()); + music.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + GameSound.INSTANCE.setMusicEnabled((Boolean)newValue); + return true; + } + }); + inlinePrefCat.addPreference(music); + CheckBoxPreference showDice = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); showDice.setTitle(resb.getString("game.menu.showdice")); showDice.setKey(RiskSettings.SHOW_DICE_KEY); @@ -74,24 +119,6 @@ }); inlinePrefCat.addPreference(showDice); - CheckBoxPreference color_blind = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); - color_blind.setTitle( resb.getString("game.menu.colorblind") ); - color_blind.setKey(RiskSettings.COLOR_BLIND_KEY); - inlinePrefCat.addPreference(color_blind); - - CheckBoxPreference fullscreen = new CheckBoxPreference(context); // TwoStatePreference = new SwitchPreference(this); - fullscreen.setTitle( resb.getString("game.menu.fullscreen") ); - fullscreen.setKey(RiskSettings.FULL_SCREEN_KEY); - fullscreen.setDefaultValue(GameActivity.getDefaultFullScreen(context)); - inlinePrefCat.addPreference(fullscreen); - fullscreen.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - GameActivity.setGameFullscreen((Boolean)newValue); - return true; - } - }); - final ListPreference ai = new IntListPreference(context); ai.setTitle( resb.getString("game.menu.aiSpeed") ); ai.setKey(RiskSettings.AI_WAIT_KEY); Modified: Domination/src/net/yura/domination/engine/translation/Risk.properties =================================================================== --- Domination/src/net/yura/domination/engine/translation/Risk.properties 2024-07-12 17:26:45 UTC (rev 2556) +++ Domination/src/net/yura/domination/engine/translation/Risk.properties 2024-07-12 17:45:19 UTC (rev 2557) @@ -231,8 +231,10 @@ game.menu.language=Language game.menu.leave=Leave Game game.menu.manual=Manual +game.menu.music=Music Enabled game.menu.save=Save Game game.menu.send=Send +game.menu.sound=Sound Enabled game.menu.showdice=Show dice results game.menu.showtoasts=Show Toasts game.menu.title=Menu Modified: Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java =================================================================== --- Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java 2024-07-12 17:26:45 UTC (rev 2556) +++ Domination/swingUI/src/net/yura/domination/guishared/RiskUIUtil.java 2024-07-12 17:45:19 UTC (rev 2557) @@ -1496,6 +1496,8 @@ public static void openOptions(Component parentComponent, Risk myrisk, boolean myTurn, Preferences preferences) { + ResourceBundle resB = TranslationBundle.getBundle(); + JCheckBox showDice = new JCheckBox("Show dice", Risk.isShowDice()); JSpinner aiwait = new JSpinner(new SpinnerNumberModel(AIManager.getWait(), 0, 10000, 100)); @@ -1504,8 +1506,8 @@ aiWaitPanel.add(aiwait); aiWaitPanel.add(new JLabel("milliseconds")); - JCheckBox soundEnabled = new JCheckBox("Sound Enabled", GameSound.INSTANCE.isSoundEnabled()); - JCheckBox musicEnabled = new JCheckBox("Music Enabled", GameSound.INSTANCE.isMusicEnabled()); + JCheckBox soundEnabled = new JCheckBox(resB.getString("game.menu.sound"), GameSound.INSTANCE.isSoundEnabled()); + JCheckBox musicEnabled = new JCheckBox(resB.getString("game.menu.music"), GameSound.INSTANCE.isMusicEnabled()); JCheckBox autoEndGo = new JCheckBox("Auto End Go", myrisk.getAutoEndGo()); JCheckBox autoDefend = new JCheckBox("Auto Defend", myrisk.getAutoDefend()); |
From: <yu...@us...> - 2024-07-12 17:26:47
|
Revision: 2556 http://sourceforge.net/p/domination/code/2556 Author: yuranet Date: 2024-07-12 17:26:45 +0000 (Fri, 12 Jul 2024) Log Message: ----------- more info on game screen Modified Paths: -------------- Domination/ChangeLog.txt Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java Modified: Domination/ChangeLog.txt =================================================================== --- Domination/ChangeLog.txt 2024-07-11 19:16:48 UTC (rev 2555) +++ Domination/ChangeLog.txt 2024-07-12 17:26:45 UTC (rev 2556) @@ -7,7 +7,7 @@ * Save: 8 iOS: 15 - Android: 93 + Android: 94 Game GUI: 2 Swing GUI: 2 Simple GUI: 2 @@ -30,6 +30,9 @@ MapEditor: smart fill Mnemonic 'F' MapEditor: force user to save map if changed before publish + Android 94 Sound + Player card info on main screen + 1.2.9 (04.08.2023) (svn rev 2470) Hi-resolution support for image assets in main game UI Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-07-11 19:16:48 UTC (rev 2555) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-07-12 17:26:45 UTC (rev 2556) @@ -242,12 +242,13 @@ @Override public void paintComponent(Graphics2D g) { List<Player> players = myrisk.getGame().getPlayers(); + Player current = myrisk.getGame().getCurrentPlayer(); Font f = g.getFont(); int x = f.getHeight(); int y = f.getHeight(); for (Player p : players) { g.setColor(p.getColor()); - g.drawString(p.getName() + " - " + p.getCards().size(), x, y); + g.drawString((p.getType() == Player.PLAYER_HUMAN ? "\ud83e\uddd1" : "\ud83e\udd16") + " " + p.getName() + " - " + p.getCards().size() + (p == current ? " \u2b05\ufe0f" : ""), x, y); y = y + x; } } |
From: <yu...@us...> - 2024-07-11 19:16:50
|
Revision: 2555 http://sourceforge.net/p/domination/code/2555 Author: yuranet Date: 2024-07-11 19:16:48 +0000 (Thu, 11 Jul 2024) Log Message: ----------- added JaCoCo report ant task Modified Paths: -------------- Domination/swingUI/build.xml Domination/swingUI/nbproject/build-impl.xml Added Paths: ----------- Domination/swingUI/lib/jacocoant.jar Modified: Domination/swingUI/build.xml =================================================================== --- Domination/swingUI/build.xml 2024-07-11 18:45:12 UTC (rev 2554) +++ Domination/swingUI/build.xml 2024-07-11 19:16:48 UTC (rev 2555) @@ -703,4 +703,56 @@ </target> + + + + + + + + <!-- + Java Code Coverage (JaCoCo) + taken from https://www.jacoco.org/jacoco/trunk/doc/examples/build/build.xml + --> + + <property name="result.exec.file" location="${dir.build}/jacoco.exec" /> + <property name="result.report.dir" location="${dir.build}/report/jacoco" /> + + <target name="report" depends="classes,test"> + + <!-- convert our ":" seperated string into "," seperated string--> + <loadresource property="src.dir"> + <propertyresource name="dir.sources"/> + <filterchain> + <tokenfilter> + <filetokenizer/> + <replacestring from=":" to=","/> + </tokenfilter> + </filterchain> + </loadresource> + + <jacoco:report xmlns:jacoco="antlib:org.jacoco.ant"> + + <!-- This task needs the collected execution data and ... --> + <executiondata> + <file file="${result.exec.file}" /> + </executiondata> + + <!-- the class files and optional source files ... --> + <structure name="Java Code Coverage (JaCoCo) Domination"> + <classfiles> + <fileset dir="${dir.build.classes}" /> + </classfiles> + <sourcefiles encoding="UTF-8"> + <multirootfileset basedirs="${src.dir}" includes="**/*" /> + </sourcefiles> + </structure> + + <!-- to produce reports in different formats. --> + <html destdir="${result.report.dir}" /> + <csv destfile="${result.report.dir}/report.csv" /> + <xml destfile="${result.report.dir}/report.xml" /> + </jacoco:report> + </target> + </project> Added: Domination/swingUI/lib/jacocoant.jar =================================================================== (Binary files differ) Index: Domination/swingUI/lib/jacocoant.jar =================================================================== --- Domination/swingUI/lib/jacocoant.jar 2024-07-11 18:45:12 UTC (rev 2554) +++ Domination/swingUI/lib/jacocoant.jar 2024-07-11 19:16:48 UTC (rev 2555) Property changes on: Domination/swingUI/lib/jacocoant.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Modified: Domination/swingUI/nbproject/build-impl.xml =================================================================== --- Domination/swingUI/nbproject/build-impl.xml 2024-07-11 18:45:12 UTC (rev 2554) +++ Domination/swingUI/nbproject/build-impl.xml 2024-07-11 19:16:48 UTC (rev 2555) @@ -27,6 +27,10 @@ </not> </condition> </fail> + <!-- YURA added Java Code Coverage (JaCoCo) --> + <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"> + <classpath path="lib/jacocoant.jar"/> + </taskdef> <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/> <!-- ====================== @@ -547,24 +551,27 @@ <element name="customizePrototype" optional="true"/> <sequential> <property name="junit.forkmode" value="perTest"/> - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}"> - <syspropertyset> - <propertyref prefix="test-sys-prop."/> - <mapper from="test-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <classpath> - <path path="${run.test.classpath}"/> - </classpath> - <modulepath> - <path path="${run.test.modulepath}"/> - </modulepath> - <formatter type="brief" usefile="false"/> - <formatter type="xml"/> - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> - <jvmarg value="-ea"/> - <jvmarg line="${run.test.jvmargs}"/> - <customizePrototype/> - </junit> + <!-- YURA added Java Code Coverage (JaCoCo) --> + <jacoco:coverage output="file" destfile="${build.dir}/jacoco.exec" xmlns:jacoco="antlib:org.jacoco.ant" exclclassloader="sun.reflect.DelegatingClassLoader:javassist.Loader"> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}"> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <modulepath> + <path path="${run.test.modulepath}"/> + </modulepath> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="-ea"/> + <jvmarg line="${run.test.jvmargs}"/> + <customizePrototype/> + </junit> + </jacoco:coverage> </sequential> </macrodef> </target> @@ -575,20 +582,23 @@ <element name="customizePrototype" optional="true"/> <sequential> <property name="junit.forkmode" value="perTest"/> - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}"> - <syspropertyset> - <propertyref prefix="test-sys-prop."/> - <mapper from="test-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <classpath> - <path path="${run.test.classpath}"/> - </classpath> - <formatter type="brief" usefile="false"/> - <formatter type="xml"/> - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> - <jvmarg value="-ea"/> - <customizePrototype/> - </junit> + <!-- YURA added Java Code Coverage (JaCoCo) --> + <jacoco:coverage output="file" destfile="${build.dir}/jacoco.exec" xmlns:jacoco="antlib:org.jacoco.ant" exclclassloader="sun.reflect.DelegatingClassLoader:javassist.Loader"> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}"> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="-ea"/> + <customizePrototype/> + </junit> + </jacoco:coverage> </sequential> </macrodef> </target> |
From: <yu...@us...> - 2024-07-11 18:45:14
|
Revision: 2554 http://sourceforge.net/p/domination/code/2554 Author: yuranet Date: 2024-07-11 18:45:12 +0000 (Thu, 11 Jul 2024) Log Message: ----------- test run from ant Modified Paths: -------------- Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java Domination/swingUI/test/junit/net/yura/domination/test/TestUtil.java Domination/test/net/yura/domination/engine/core/PlayGameTest.java Domination/test/net/yura/domination/engine/translation/TranslationBundleTest.java Added Paths: ----------- Domination/test/net/yura/domination/engine/translation/TextLengthChecker.java Removed Paths: ------------- Domination/test/net/yura/domination/engine/translation/TextLengthTest.java Modified: Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java =================================================================== --- Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java 2024-06-26 19:03:05 UTC (rev 2553) +++ Domination/swingUI/test/junit/net/yura/domination/lobby/server/ServerGameTest.java 2024-07-11 18:45:12 UTC (rev 2554) @@ -22,7 +22,7 @@ super.setUp(); // we must change the current folder for map loading to work - System.setProperty("user.dir", System.getProperty("user.dir") + File.separator +".." + File.separator +".." + File.separator +"game" ); + System.setProperty("user.dir", System.getProperty("user.dir") + File.separator +"game" ); AIManager.setWait(0); Risk.setShowDice(false); Modified: Domination/swingUI/test/junit/net/yura/domination/test/TestUtil.java =================================================================== --- Domination/swingUI/test/junit/net/yura/domination/test/TestUtil.java 2024-06-26 19:03:05 UTC (rev 2553) +++ Domination/swingUI/test/junit/net/yura/domination/test/TestUtil.java 2024-07-11 18:45:12 UTC (rev 2554) @@ -11,7 +11,7 @@ public static void setupMapsForTest() throws Exception { // we must set the maps folder for map loading to work - RiskUIUtil.mapsdir = new File("maps").toURI().toURL(); + RiskUIUtil.mapsdir = new File("game/Domination/maps").toURI().toURL(); } public static Risk newRisk() throws Exception { @@ -34,7 +34,7 @@ } public static File getScriptFile(String mode) { - File resFolder = new File("../../../res/test_scripts"); + File resFolder = new File("../res/test_scripts"); return new File(resFolder, mode.replace(' ', '-') + "." + RiskFileFilter.RISK_SCRIPT_FILES); } } Modified: Domination/test/net/yura/domination/engine/core/PlayGameTest.java =================================================================== --- Domination/test/net/yura/domination/engine/core/PlayGameTest.java 2024-06-26 19:03:05 UTC (rev 2553) +++ Domination/test/net/yura/domination/engine/core/PlayGameTest.java 2024-07-11 18:45:12 UTC (rev 2554) @@ -42,7 +42,9 @@ public void playGame(String mode) throws Exception { File file = TestUtil.getScriptFile(mode); - + + assertTrue(file + " NOT FOUND!", file.exists()); + playGame(file); } Copied: Domination/test/net/yura/domination/engine/translation/TextLengthChecker.java (from rev 2553, Domination/test/net/yura/domination/engine/translation/TextLengthTest.java) =================================================================== --- Domination/test/net/yura/domination/engine/translation/TextLengthChecker.java (rev 0) +++ Domination/test/net/yura/domination/engine/translation/TextLengthChecker.java 2024-07-11 18:45:12 UTC (rev 2554) @@ -0,0 +1,59 @@ +package net.yura.domination.engine.translation; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.ResourceBundle; + +/** + * As this is not a junit test, we can not end the class name with 'Test' + */ +public class TextLengthChecker { + + public static void main(String[] args) throws Exception { + + new TranslationBundleTest(null).setUp(); + + Map<String, Locale> longestLocale = new HashMap(); + Map<String, Integer> longestText = new HashMap(); + + Locale[] locales = TranslationBundleTest.getAppLocales(); + for (Locale locale : locales) { + TranslationBundle.setLanguage(locale.toString()); + ResourceBundle resb = TranslationBundle.getBundle(); + + for (String key : resb.keySet()) { + String value = resb.getString(key); + + Integer length = longestText.get(key); + if (length == null || value.length() > length) { + longestText.put(key, value.length()); + longestLocale.put(key, locale); + } + } + } + + Map<Locale, Integer> results = new HashMap(); + for (Locale locale : longestLocale.values()) { + Integer result = results.get(locale); + if (result == null) { + results.put(locale, 1); + } + else { + results.put(locale, result + 1); + } + } + + // print out what locales have the longest text + results.entrySet().stream() + .sorted((entry1, entry2) -> entry1.getValue().compareTo(entry2.getValue())) + .forEachOrdered(entry -> System.out.println(" -> " + entry)); + + // Top 5 + // -> it=34 + // -> nl=34 + // -> ca=44 + // -> el=69 + // -> fr=81 + } +} Deleted: Domination/test/net/yura/domination/engine/translation/TextLengthTest.java =================================================================== --- Domination/test/net/yura/domination/engine/translation/TextLengthTest.java 2024-06-26 19:03:05 UTC (rev 2553) +++ Domination/test/net/yura/domination/engine/translation/TextLengthTest.java 2024-07-11 18:45:12 UTC (rev 2554) @@ -1,56 +0,0 @@ -package net.yura.domination.engine.translation; - -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import java.util.ResourceBundle; - -public class TextLengthTest { - - public static void main(String[] args) throws Exception { - - new TranslationBundleTest(null).setUp(); - - Map<String, Locale> longestLocale = new HashMap(); - Map<String, Integer> longestText = new HashMap(); - - Locale[] locales = TranslationBundleTest.getAppLocales(); - for (Locale locale : locales) { - TranslationBundle.setLanguage(locale.toString()); - ResourceBundle resb = TranslationBundle.getBundle(); - - for (String key : resb.keySet()) { - String value = resb.getString(key); - - Integer length = longestText.get(key); - if (length == null || value.length() > length) { - longestText.put(key, value.length()); - longestLocale.put(key, locale); - } - } - } - - Map<Locale, Integer> results = new HashMap(); - for (Locale locale : longestLocale.values()) { - Integer result = results.get(locale); - if (result == null) { - results.put(locale, 1); - } - else { - results.put(locale, result + 1); - } - } - - // print out what locales have the longest text - results.entrySet().stream() - .sorted((entry1, entry2) -> entry1.getValue().compareTo(entry2.getValue())) - .forEachOrdered(entry -> System.out.println(" -> " + entry)); - - // Top 5 - // -> it=34 - // -> nl=34 - // -> ca=44 - // -> el=69 - // -> fr=81 - } -} Modified: Domination/test/net/yura/domination/engine/translation/TranslationBundleTest.java =================================================================== --- Domination/test/net/yura/domination/engine/translation/TranslationBundleTest.java 2024-06-26 19:03:05 UTC (rev 2553) +++ Domination/test/net/yura/domination/engine/translation/TranslationBundleTest.java 2024-07-11 18:45:12 UTC (rev 2554) @@ -115,7 +115,7 @@ } public static Locale[] getAppLocales() { - File translation = new File("../../../src/net/yura/domination/engine/translation"); + File translation = new File("../src/net/yura/domination/engine/translation"); System.out.println("looking in " + translation.getAbsolutePath()); |
From: <yu...@us...> - 2024-06-26 19:03:07
|
Revision: 2553 http://sourceforge.net/p/domination/code/2553 Author: yuranet Date: 2024-06-26 19:03:05 +0000 (Wed, 26 Jun 2024) Log Message: ----------- show player card info in background Modified Paths: -------------- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java =================================================================== --- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-06-05 21:16:40 UTC (rev 2552) +++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/GameWindow.java 2024-06-26 19:03:05 UTC (rev 2553) @@ -33,6 +33,7 @@ import net.yura.mobile.gui.Icon; import net.yura.mobile.gui.KeyEvent; import net.yura.mobile.gui.Application; +import net.yura.mobile.gui.Font; import net.yura.mobile.gui.components.Button; import net.yura.mobile.gui.components.CheckBox; import net.yura.mobile.gui.components.Component; @@ -238,6 +239,18 @@ w.repaint(); } } + @Override + public void paintComponent(Graphics2D g) { + List<Player> players = myrisk.getGame().getPlayers(); + Font f = g.getFont(); + int x = f.getHeight(); + int y = f.getHeight(); + for (Player p : players) { + g.setColor(p.getColor()); + g.drawString(p.getName() + " - " + p.getCards().size(), x, y); + y = y + x; + } + } }; |