--- a/java/settings.gradle +++ b/java/settings.gradle @@ -1,4 +1 @@ -// A list of which subprojects to load as part of the same larger project. -// You can remove Strings from the list and reload the Gradle project -// if you want to temporarily disable a subproject. -include 'lwjgl3', 'android', 'server', 'core', 'teavm' +include 'core', 'teavm' --- a/java/build.gradle +++ b/java/build.gradle @@ -3,14 +3,11 @@ mavenCentral() maven { url 'https://s01.oss.sonatype.org' } gradlePluginPortal() - mavenLocal() google() maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } } dependencies { - classpath 'com.android.tools.build:gradle:8.13.2' - } } @@ -27,7 +24,7 @@ } } -configure(subprojects - project(':android')) { +configure(subprojects) { apply plugin: 'java-library' sourceCompatibility = 8 @@ -63,7 +60,6 @@ mavenCentral() maven { url 'https://s01.oss.sonatype.org' } // You may want to remove the following line if you have errors downloading dependencies. - mavenLocal() maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } maven { url 'https://jitpack.io' } --- a/java/gradle/wrapper/gradle-wrapper.properties +++ b/java/gradle/wrapper/gradle-wrapper.properties @@ -5,3 +5,4 @@ validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionSha256Sum=20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78 --- a/java/teavm/src/main/java/com/ygames/ysoccer/teavm/TeaVMLauncher.java +++ b/java/teavm/src/main/java/com/ygames/ysoccer/teavm/TeaVMLauncher.java @@ -12,7 +12,10 @@ // 0 means: take the size of the canvas element as it is on the page config.width = 0; config.height = 0; - config.showDownloadLogs = true; + config.showDownloadLogs = false; + // every game of this site runs on the same origin: keep this game's preferences and saved files apart + config.storagePrefix = "ysoccer:"; + config.localStoragePrefix = "fredygames/ysoccer"; new TeaApplication(new YSoccer(), config); } } --- a/java/core/src/main/java/com/ygames/ysoccer/screens/Main.java +++ b/java/core/src/main/java/com/ygames/ysoccer/screens/Main.java @@ -328,12 +328,12 @@ HomePageButton() { setGeometry(game.gui.WIDTH - 172, game.gui.HEIGHT - 20, 172, 20); - setText("YSOCCER.SF.NET", LEFT, font10); + setText("YSOCCER", LEFT, font10); } @Override public void onFire1Down() { - Gdx.net.openURI("http://ysoccer.sf.net"); + // browser edition: no links to other sites (the original opens the project home page here) } } --- a/java/core/src/main/java/com/ygames/ysoccer/framework/SoundManager.java +++ b/java/core/src/main/java/com/ygames/ysoccer/framework/SoundManager.java @@ -101,18 +101,20 @@ static void load() { bounce = newSound("bounce.ogg"); - celebration = newSound("celebration.ogg"); - chant = newSound("chant.ogg"); - crowd = newSound("crowd.ogg"); + // Browser edition: the crowd, chant, whistle and match-intro recordings are not shipped (no provenance), so those + // events make no sound. + celebration = NullSound.INSTANCE; + chant = NullSound.INSTANCE; + crowd = NullSound.INSTANCE; deflect = newSound("deflect.ogg"); - end = newSound("end.ogg"); + end = NullSound.INSTANCE; hold = newSound("hold.ogg"); - homeGoal = newSound("home_goal.ogg"); - intro = newSound("intro.ogg"); + homeGoal = NullSound.INSTANCE; + intro = NullSound.INSTANCE; kick = newSound("kick.ogg"); net = newSound("net.ogg"); post = newSound("post.ogg"); - whistle = newSound("whistle.ogg"); + whistle = NullSound.INSTANCE; } private static Sound newSound(String filename) { --- /dev/null +++ b/java/core/src/main/java/com/ygames/ysoccer/framework/NullSound.java @@ -0,0 +1,86 @@ +package com.ygames.ysoccer.framework; + +import com.badlogic.gdx.audio.Sound; + +/** A sound that does nothing, used where the original plays a recording that this edition does not ship. */ +class NullSound implements Sound { + + static final NullSound INSTANCE = new NullSound(); + + private NullSound() { + } + + @Override + public long play() { + return 0; + } + + @Override + public long play(float volume) { + return 0; + } + + @Override + public long play(float volume, float pitch, float pan) { + return 0; + } + + @Override + public long loop() { + return 0; + } + + @Override + public long loop(float volume) { + return 0; + } + + @Override + public long loop(float volume, float pitch, float pan) { + return 0; + } + + @Override + public void stop() { + } + + @Override + public void pause() { + } + + @Override + public void resume() { + } + + @Override + public void dispose() { + } + + @Override + public void stop(long soundId) { + } + + @Override + public void pause(long soundId) { + } + + @Override + public void resume(long soundId) { + } + + @Override + public void setLooping(long soundId, boolean looping) { + } + + @Override + public void setPitch(long soundId, float pitch) { + } + + @Override + public void setVolume(long soundId, float volume) { + } + + @Override + public void setPan(long soundId, float pan, float volume) { + } +} --- a/java/core/src/main/java/com/ygames/ysoccer/framework/Settings.java +++ b/java/core/src/main/java/com/ygames/ysoccer/framework/Settings.java @@ -108,8 +108,8 @@ // development development = preferences.getBoolean("development", false); - serverHomeTeam = preferences.getString("serverHomeTeam", "1964-65/CLUB_TEAMS/EUROPE/ITALY/team.inter_milan.json"); - serverAwayTeam = preferences.getString("serverAwayTeam", "1964-65/CLUB_TEAMS/EUROPE/ITALY/team.juventus.json"); + serverHomeTeam = preferences.getString("serverHomeTeam", "CUSTOM/team.composers.json"); + serverAwayTeam = preferences.getString("serverAwayTeam", "CUSTOM/team.painters.json"); // (logs) logLevel = preferences.getInteger("logLevel", Application.LOG_INFO); --- a/java/core/src/main/java/com/ygames/ysoccer/screens/DeveloperTools.java +++ b/java/core/src/main/java/com/ygames/ysoccer/screens/DeveloperTools.java @@ -98,12 +98,12 @@ public void onFire1Down() { game.setState(GLGame.State.FRIENDLY, null); - FileHandle homeTeamFile = DataFiles.get("/data/teams/1964-65/CLUB_TEAMS/EUROPE/ITALY/team.inter_milan.json"); + FileHandle homeTeamFile = DataFiles.get("/data/teams/CUSTOM/team.composers.json"); Team homeTeam = Assets.json.fromJson(Team.class, homeTeamFile.readString("UTF-8")); homeTeam.path = Assets.getRelativeTeamPath(homeTeamFile); homeTeam.controlMode = Team.ControlMode.PLAYER; - FileHandle awayTeamFile = DataFiles.get("/data/teams/1964-65/CLUB_TEAMS/EUROPE/ITALY/team.ac_milan.json"); + FileHandle awayTeamFile = DataFiles.get("/data/teams/CUSTOM/team.painters.json"); Team awayTeam = Assets.json.fromJson(Team.class, awayTeamFile.readString("UTF-8")); awayTeam.path = Assets.getRelativeTeamPath(awayTeamFile); awayTeam.controlMode = Team.ControlMode.COMPUTER;