Skip to content
Merged
18 changes: 0 additions & 18 deletions client/src/main/java/agolf/SpriteManager.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package agolf;

import agolf.game.GameBackgroundCanvas;
import com.aapeli.client.ImageManager;
import java.awt.Image;

Expand All @@ -26,23 +25,6 @@ protected void loadSprites() {
this.balls = this.parseSpriteSheet("balls", 8, 4, 13, 13);
this.pixelshapeMasks = new int[28][][];
this.specialPixelMasks = new int[28][][];
this.anIntArrayArray968 = new int[GameBackgroundCanvas.trackAdvertSize][];

for (int var1 = 0; var1 < GameBackgroundCanvas.trackAdvertSize; ++var1) {
try {
String var2 = "ad" + var1;
Image var3 = this.imageManager.getImage(var2);
if (var3 != null) {
this.imageManager.unloadImage(var2);
this.anIntArrayArray968[var1] = this.imageManager.getPixels(
var3,
GameBackgroundCanvas.anIntArray78[var1] * 15,
GameBackgroundCanvas.anIntArray79[var1] * 15);
}
} catch (Exception | OutOfMemoryError e) {
this.anIntArrayArray968[var1] = null;
}
}
}

/**
Expand Down
618 changes: 58 additions & 560 deletions client/src/main/java/agolf/game/GameBackgroundCanvas.java

Large diffs are not rendered by default.

1,252 changes: 599 additions & 653 deletions client/src/main/java/agolf/game/GameCanvas.java

Large diffs are not rendered by default.

24 changes: 13 additions & 11 deletions client/src/main/java/agolf/game/GamePanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ public void handlePacket(String[] args) {
}

this.aBoolean363 = false;
this.gameCanvas.createMap(16777216);
this.gameCanvas.initializeGameArea();
this.playerInfoPanel.reset();
this.trackInfoPanel.resetCurrentTrack();
this.setState(1);
Expand Down Expand Up @@ -336,8 +336,8 @@ public void handlePacket(String[] args) {
var15[1][2]= number of ratings: 2
var15[1][3]= number of ratings: 3
*/
String[] trackInformation = this.gameCanvas.generateTrackInformation();
int[][] trackStats = this.gameCanvas.generateTrackStatistics();
String[] trackInformation = this.gameCanvas.trackStats.generateTrackInformation();
int[][] trackStats = this.gameCanvas.trackStats.generateTrackStatistics();

this.trackInfoPanel.parseTrackInfoStats(
trackInformation[0],
Expand All @@ -348,7 +348,7 @@ public void handlePacket(String[] args) {
trackInformation[3],
trackTestMode1,
trackTestMode2,
this.gameCanvas.method134());
this.gameCanvas.hasCoordinates());

int trackScoreMultiplier = this.playerInfoPanel.startNextTrack();
if (trackScoreMultiplier > 1) {
Expand All @@ -360,9 +360,11 @@ public void handlePacket(String[] args) {

if (this.gameContainer.synchronizedTrackTestMode.get()) {
this.chatPanel.printSpecialSettingstoTextArea(
this.gameCanvas.getTrackComment(),
this.gameCanvas.getTrackSettings(),
this.gameCanvas.method120());
// First arg should be comment, but v2 tracks don't
// have comments
this.gameCanvas.track.getAuthor(),
this.gameCanvas.track.getSettings(),
this.gameCanvas.map.getLatestTileSpeciality());
}
}
case "startturn" -> {
Expand Down Expand Up @@ -447,12 +449,12 @@ protected void setBeginStroke(int playerId, int x, int y, int shootingMode) {
}

protected void method336() {
String var1 = this.gameCanvas.method142();
if (var1 != null) {
String coords = this.gameCanvas.encodeCoordinates();
if (coords != null) {
this.playerInfoPanel.strokeStartedOrEnded(0, false);
String var2 = "beginstroke\t" + var1;
String var2 = "beginstroke\t" + coords;
this.gameContainer.connection.writeData("game\t" + var2);
this.gameCanvas.decodeCoords(0, true, var1);
this.gameCanvas.decodeCoords(0, true, coords);
}
}

Expand Down
48 changes: 48 additions & 0 deletions client/src/main/java/agolf/game/GameState.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package agolf.game;

import agolf.Seed;
import agolf.SynchronizedBool;
import java.util.List;

public class GameState {

// Constants
private static final double MAGIC_OFFSET = Math.sqrt(2.0) / 2.0;
private static final int DIAG_OFFSET = (int) (6.0 * MAGIC_OFFSET + 0.5);
private static final int[] FRAME_TIME_HISTORY = new int[] {Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE};

// Game state variables
public int playerCount;
public int onShoreSetting;
public int collisionMode;
public int currentPlayerId;
public int isValidPlayerId;
public int gameState;

public double startPositionX;
public double startPositionY;
public double bounciness;
public double somethingSpeedThing;

public double[] resetPositionX;
public double[] resetPositionY;

public List<double[]>[] teleportStarts;
public List<double[]>[] teleportExits;

public short[][][] magnetMap;

public double[] playerX;
public double[] playerY;
public double[] speedX;
public double[] speedY;

public boolean[] simulatePlayer;
public SynchronizedBool[] onHoleSync;
public boolean isLocalPlayer;
public boolean[] playerActive;

public Seed seed;
public int maxPhysicsIterations;
public boolean strokeInterrupted;
}
Loading