Skip to content

Commit f9e7894

Browse files
committed
Merge branch 'new-slk-parser' of https://github.com/Retera/WarsmashModEngine into abilitybuilder
# Conflicts: # core/src/com/etheller/warsmash/parsers/jass/Jass2.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/War3MapViewer.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/rendersim/ability/AbilityDataUI.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/CUnit.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/item/CAbilityItemHeal.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/item/CAbilityItemManaRegain.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/item/CAbilityItemWandOfManaStealing.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/CAbilitySpellBase.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/human/archmage/CAbilityMassTeleport.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/human/mountainking/CAbilityAvatar.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/human/mountainking/CAbilityThunderClap.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/human/paladin/CAbilityHolyLight.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/neutral/darkranger/CAbilityCharm.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/nightelf/demonhunter/CAbilityManaBurn.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/orc/farseer/CAbilityChainLightning.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/undead/deathknight/CAbilityDeathPact.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/abilities/skills/util/CAbilityAuraBase.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/simulation/data/CUnitData.java # core/src/com/etheller/warsmash/viewer5/handlers/w3x/ui/MeleeUI.java
2 parents 2700ade + 10afa4c commit f9e7894

File tree

194 files changed

+9247
-7819
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+9247
-7819
lines changed

core/src/com/etheller/warsmash/WarsmashGdxMapScreen.java

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@
5555
import com.etheller.warsmash.viewer5.handlers.w3x.camera.CameraRates;
5656
import com.etheller.warsmash.viewer5.handlers.w3x.simulation.players.CPlayerUnitOrderListener;
5757
import com.etheller.warsmash.viewer5.handlers.w3x.ui.MeleeUI;
58+
import com.etheller.warsmash.viewer5.handlers.w3x.ui.WarsmashUI;
59+
import com.etheller.warsmash.viewer5.handlers.w3x.ui.toggle.MeleeToggleUI;
5860

5961
public class WarsmashGdxMapScreen implements InputProcessor, Screen {
6062
public static final boolean ENABLE_AUDIO = true;
@@ -74,7 +76,7 @@ public class WarsmashGdxMapScreen implements InputProcessor, Screen {
7476
private MdxModel timeIndicator;
7577

7678
private Scene uiScene;
77-
private MeleeUI meleeUI;
79+
private WarsmashUI meleeUI;
7880

7981
private Music currentMusic;
8082
private final WarsmashGdxMultiScreenGame screenManager;
@@ -182,8 +184,8 @@ public void show() {
182184
cameraRatesElement.getFieldFloatValue("FOV"), cameraRatesElement.getFieldFloatValue("Rotation"),
183185
cameraRatesElement.getFieldFloatValue("Distance"), cameraRatesElement.getFieldFloatValue("Forward"),
184186
cameraRatesElement.getFieldFloatValue("Strafe"));
185-
this.meleeUI = new MeleeUI(this.viewer.mapMpq, this.uiViewport, this.uiScene, portraitScene, cameraPresets,
186-
cameraRates, this.viewer, new RootFrameListener() {
187+
final MeleeUI baseMeleeUI = new MeleeUI(this.viewer.mapMpq, this.uiViewport, this.uiScene, portraitScene,
188+
cameraPresets, cameraRates, this.viewer, new RootFrameListener() {
187189
@Override
188190
public void onCreate(final GameUI rootFrame) {
189191
WarsmashGdxMapScreen.this.viewer.setGameUI(rootFrame);
@@ -195,12 +197,15 @@ public void run() {
195197
WarsmashGdxMapScreen.this.screenManager.setScreen(WarsmashGdxMapScreen.this.menuScreen);
196198
}
197199
});
200+
final MeleeToggleUI toggleUI = new MeleeToggleUI(baseMeleeUI, Arrays.asList(baseMeleeUI));
201+
this.meleeUI = toggleUI;
198202
this.viewer.getCommandErrorListener().setDelegate(this.meleeUI);
199203
final ModelInstance libgdxContentInstance = new LibGDXContentLayerModel(null, this.viewer, "",
200204
this.viewer.mapPathSolver, "").addInstance();
201205
libgdxContentInstance.setLocation(0f, 0f, -0.5f);
202206
libgdxContentInstance.setScene(this.uiScene);
203207
this.meleeUI.main();
208+
toggleUI.setCurrentUI(0);
204209

205210
updateUIScene();
206211

@@ -314,8 +319,8 @@ private void renderLibGDXContent() {
314319
@Override
315320
public void dispose() {
316321
this.meleeUI.dispose();
317-
batch.dispose();
318-
viewer.getGameUI().dispose();
322+
this.batch.dispose();
323+
this.viewer.getGameUI().dispose();
319324
}
320325

321326
@Override
@@ -325,21 +330,11 @@ public void resize(final int width, final int height) {
325330
this.uiViewport.update(width, height);
326331
this.uiCamera.position.set(this.uiViewport.getMinWorldWidth() / 2, this.uiViewport.getMinWorldHeight() / 2, 0);
327332

328-
this.meleeUI.resize(setupWorldFrameViewport(width, height));
333+
this.meleeUI.resize(width, height);
329334
updateUIScene();
330335

331336
}
332337

333-
private Rectangle setupWorldFrameViewport(final int width, final int height) {
334-
this.tempRect.x = 0;
335-
this.tempRect.width = width;
336-
final float topHeight = 0.02666f * height;
337-
final float bottomHeight = 0.21333f * height;
338-
this.tempRect.y = (int) bottomHeight;
339-
this.tempRect.height = height - (int) (topHeight + bottomHeight);
340-
return this.tempRect;
341-
}
342-
343338
@Override
344339
public boolean keyDown(final int keycode) {
345340
if ((keycode == Input.Keys.B) && Gdx.input.isKeyPressed(Input.Keys.CONTROL_LEFT)) {
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
package com.etheller.warsmash.networking;
2+
3+
import net.warsmash.networking.udp.OrderedUdpClient;
4+
import net.warsmash.uberserver.GamingNetwork;
5+
6+
import java.io.IOException;
7+
import java.net.InetAddress;
8+
9+
public class WarsmashClientTestingUtility implements ServerToClientListener {
10+
private final OrderedUdpClient udpClient;
11+
private final WarsmashClientWriter writer;
12+
private int myTurn = -1;
13+
14+
public WarsmashClientTestingUtility(InetAddress serverHost, int udpSingleGamePort, long sessionToken) throws IOException {
15+
udpClient = new OrderedUdpClient(serverHost, udpSingleGamePort, new WarsmashClientParser(this));
16+
writer = new WarsmashClientWriter(udpClient, sessionToken);
17+
}
18+
19+
public void startThread() {
20+
new Thread(this.udpClient).start();
21+
}
22+
23+
public WarsmashClientWriter getWriter() {
24+
return writer;
25+
}
26+
27+
@Override
28+
public void acceptJoin(int playerIndex) {
29+
System.out.println("WarsmashClientTestingUtility.acceptJoin");
30+
System.out.println("playerIndex = " + playerIndex);
31+
}
32+
33+
@Override
34+
public void issueTargetOrder(int playerIndex, int unitHandleId, int abilityHandleId, int orderId, int targetHandleId, boolean queue) {
35+
System.out.println("WarsmashClientTestingUtility.issueTargetOrder");
36+
System.out.println("playerIndex = " + playerIndex + ", unitHandleId = " + unitHandleId + ", abilityHandleId = " + abilityHandleId + ", orderId = " + orderId + ", targetHandleId = " + targetHandleId + ", queue = " + queue);
37+
}
38+
39+
@Override
40+
public void issuePointOrder(int playerIndex, int unitHandleId, int abilityHandleId, int orderId, float x, float y, boolean queue) {
41+
System.out.println("WarsmashClientTestingUtility.issuePointOrder");
42+
System.out.println("playerIndex = " + playerIndex + ", unitHandleId = " + unitHandleId + ", abilityHandleId = " + abilityHandleId + ", orderId = " + orderId + ", x = " + x + ", y = " + y + ", queue = " + queue);
43+
}
44+
45+
@Override
46+
public void issueDropItemAtPointOrder(int playerIndex, int unitHandleId, int abilityHandleId, int orderId, int targetHandleId, float x, float y, boolean queue) {
47+
System.out.println("WarsmashClientTestingUtility.issueDropItemAtPointOrder");
48+
System.out.println("playerIndex = " + playerIndex + ", unitHandleId = " + unitHandleId + ", abilityHandleId = " + abilityHandleId + ", orderId = " + orderId + ", targetHandleId = " + targetHandleId + ", x = " + x + ", y = " + y + ", queue = " + queue);
49+
}
50+
51+
@Override
52+
public void issueDropItemAtTargetOrder(int playerIndex, int unitHandleId, int abilityHandleId, int orderId, int targetHandleId, int targetHeroHandleId, boolean queue) {
53+
System.out.println("WarsmashClientTestingUtility.issueDropItemAtTargetOrder");
54+
System.out.println("playerIndex = " + playerIndex + ", unitHandleId = " + unitHandleId + ", abilityHandleId = " + abilityHandleId + ", orderId = " + orderId + ", targetHandleId = " + targetHandleId + ", targetHeroHandleId = " + targetHeroHandleId + ", queue = " + queue);
55+
}
56+
57+
@Override
58+
public void issueImmediateOrder(int playerIndex, int unitHandleId, int abilityHandleId, int orderId, boolean queue) {
59+
System.out.println("WarsmashClientTestingUtility.issueImmediateOrder");
60+
System.out.println("playerIndex = " + playerIndex + ", unitHandleId = " + unitHandleId + ", abilityHandleId = " + abilityHandleId + ", orderId = " + orderId + ", queue = " + queue);
61+
}
62+
63+
@Override
64+
public void unitCancelTrainingItem(int playerIndex, int unitHandleId, int cancelIndex) {
65+
System.out.println("WarsmashClientTestingUtility.unitCancelTrainingItem");
66+
System.out.println("playerIndex = " + playerIndex + ", unitHandleId = " + unitHandleId + ", cancelIndex = " + cancelIndex);
67+
}
68+
69+
@Override
70+
public void startGame() {
71+
System.out.println("WarsmashClientTestingUtility.startGame");
72+
System.out.println();
73+
}
74+
75+
@Override
76+
public void finishedTurn(int gameTurnTick) {
77+
System.out.println("WarsmashClientTestingUtility.finishedTurn");
78+
System.out.println("gameTurnTick = " + gameTurnTick);
79+
80+
while(myTurn <= gameTurnTick) {
81+
myTurn++;
82+
if(myTurn % 4 == 3) {
83+
writer.issuePointOrder(999, 1234, 8192, 0, 0, false);
84+
}
85+
writer.finishedTurn(myTurn);
86+
writer.send();
87+
}
88+
}
89+
90+
@Override
91+
public void heartbeat() {
92+
System.out.println("WarsmashClientTestingUtility.heartbeat");
93+
System.out.println();
94+
}
95+
96+
public static void main(String[] args) {
97+
long sessionToken = 1337002L;
98+
try {
99+
InetAddress localHost = InetAddress.getByName("creative.etheller.com");
100+
int udpSingleGamePort = GamingNetwork.UDP_SINGLE_GAME_PORT;
101+
WarsmashClientTestingUtility warsmashClientTestingUtility = new WarsmashClientTestingUtility(localHost, udpSingleGamePort, sessionToken);
102+
warsmashClientTestingUtility.startThread();
103+
WarsmashClientWriter writer = warsmashClientTestingUtility.getWriter();
104+
writer.joinGame();
105+
writer.send();
106+
} catch (IOException e) {
107+
throw new RuntimeException(e);
108+
}
109+
}
110+
}

core/src/com/etheller/warsmash/parsers/fdf/frames/SpriteFrame.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,10 @@ public void setVertexColor(final Color color) {
151151
}
152152
}
153153

154+
public void setModelScale(float scale) {
155+
if (this.instance != null) {
156+
this.instance.setUniformScale(scale);
157+
}
158+
}
159+
154160
}

0 commit comments

Comments
 (0)