mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Merge branch 'master' into 'master'
[Adventure] Adjust Map & Avatar Size for Portrait Mode See merge request core-developers/forge!6327
This commit is contained in:
@@ -335,17 +335,21 @@ public class GameHUD extends Stage {
|
|||||||
miniMap.setWidth(160);
|
miniMap.setWidth(160);
|
||||||
mapborder.setWidth(160);
|
mapborder.setWidth(160);
|
||||||
miniMapPlayer.setWidth(10);
|
miniMapPlayer.setWidth(10);
|
||||||
|
miniMap.setHeight(70);
|
||||||
|
mapborder.setHeight(70);
|
||||||
|
miniMapPlayer.setHeight(4);
|
||||||
gamehud.setVisible(false);
|
gamehud.setVisible(false);
|
||||||
blank.setScaleX(2);
|
blank.setScaleX(2);
|
||||||
blank.setX(388);
|
blank.setX(388);
|
||||||
blank.setHeight(80);
|
blank.setHeight(70);
|
||||||
blank.setY(miniMap.getY());
|
blank.setY(miniMap.getY());
|
||||||
avatar.setScaleX(2);
|
avatar.setScaleX(2);
|
||||||
avatar.setX(388);
|
avatar.setX(388);
|
||||||
|
avatar.setHeight(36);
|
||||||
avatarborder.setX(388);
|
avatarborder.setX(388);
|
||||||
avatarborder.setY(miniMap.getY());
|
avatarborder.setY(miniMap.getY());
|
||||||
avatarborder.setScaleX(2);
|
avatarborder.setScaleX(2);
|
||||||
avatarborder.setHeight(80);
|
avatarborder.setHeight(70);
|
||||||
money.setX(418);
|
money.setX(418);
|
||||||
lifePoints.setX(418);
|
lifePoints.setX(418);
|
||||||
lifePoints.setY(avatar.getY()-15);
|
lifePoints.setY(avatar.getY()-15);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package forge.adventure.util;
|
|||||||
|
|
||||||
import com.badlogic.gdx.files.FileHandle;
|
import com.badlogic.gdx.files.FileHandle;
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
|
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Group;
|
import com.badlogic.gdx.scenes.scene2d.Group;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
@@ -19,6 +20,7 @@ import com.badlogic.gdx.utils.Array;
|
|||||||
import com.badlogic.gdx.utils.Json;
|
import com.badlogic.gdx.utils.Json;
|
||||||
import com.badlogic.gdx.utils.ObjectMap;
|
import com.badlogic.gdx.utils.ObjectMap;
|
||||||
import com.badlogic.gdx.utils.OrderedMap;
|
import com.badlogic.gdx.utils.OrderedMap;
|
||||||
|
import forge.Forge;
|
||||||
import forge.adventure.data.UIData;
|
import forge.adventure.data.UIData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,12 +38,9 @@ public class UIActor extends Group {
|
|||||||
for (OrderedMap<String, String> element : new Array.ArrayIterator<>(data.elements)) {
|
for (OrderedMap<String, String> element : new Array.ArrayIterator<>(data.elements)) {
|
||||||
String type = element.get("type");
|
String type = element.get("type");
|
||||||
Actor newActor;
|
Actor newActor;
|
||||||
if(type==null)
|
if (type == null) {
|
||||||
{
|
newActor = new Actor();
|
||||||
newActor=new Actor();
|
} else {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "Selector":
|
case "Selector":
|
||||||
newActor = new Selector();
|
newActor = new Selector();
|
||||||
@@ -112,7 +111,7 @@ public class UIActor extends Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void readScrollPaneProperties(ScrollPane newActor, ObjectMap.Entries<String, String> entries) {
|
private void readScrollPaneProperties(ScrollPane newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
newActor.setActor(new Label("",Controls.GetSkin()));
|
newActor.setActor(new Label("", Controls.GetSkin()));
|
||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
case "style":
|
case "style":
|
||||||
@@ -121,6 +120,7 @@ public class UIActor extends Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readWindowProperties(Window newActor, ObjectMap.Entries<String, String> entries) {
|
private void readWindowProperties(Window newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
@@ -196,7 +196,15 @@ public class UIActor extends Group {
|
|||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
case "image":
|
case "image":
|
||||||
newActor.setDrawable(new TextureRegionDrawable(new Texture(Config.instance().getFile(property.value.toString()))));
|
Texture t = new Texture(Config.instance().getFile(property.value.toString()));
|
||||||
|
TextureRegion tr = new TextureRegion(t);
|
||||||
|
if (!Forge.isLandscapeMode() && t.toString().contains("title_bg.png")) {
|
||||||
|
float ar = 1.78f;
|
||||||
|
int w = (int) (tr.getRegionHeight() / ar);
|
||||||
|
int x = (int) ((tr.getRegionWidth() - w) / ar);
|
||||||
|
tr.setRegion(x, 0, w, tr.getRegionHeight());
|
||||||
|
}
|
||||||
|
newActor.setDrawable(new TextureRegionDrawable(tr));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ public class SplashScreen extends FContainer {
|
|||||||
public void setBackground(TextureRegion background0) {
|
public void setBackground(TextureRegion background0) {
|
||||||
background = background0;
|
background = background0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startClassic() {
|
public void startClassic() {
|
||||||
startClassic = true;
|
startClassic = true;
|
||||||
hideBtn = true;
|
hideBtn = true;
|
||||||
@@ -56,7 +57,9 @@ public class SplashScreen extends FContainer {
|
|||||||
|
|
||||||
//prepare for showing dialogs on top of splash screen if needed
|
//prepare for showing dialogs on top of splash screen if needed
|
||||||
public void prepareForDialogs() {
|
public void prepareForDialogs() {
|
||||||
if (preparedForDialogs) { return; }
|
if (preparedForDialogs) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//establish fallback colors for before actual colors are loaded
|
//establish fallback colors for before actual colors are loaded
|
||||||
Color defaultColor = new Color(0, 0, 0, 0);
|
Color defaultColor = new Color(0, 0, 0, 0);
|
||||||
@@ -85,6 +88,7 @@ public class SplashScreen extends FContainer {
|
|||||||
public void setShowModeSelector(boolean value) {
|
public void setShowModeSelector(boolean value) {
|
||||||
showModeSelector = value;
|
showModeSelector = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isShowModeSelector() {
|
public boolean isShowModeSelector() {
|
||||||
return showModeSelector;
|
return showModeSelector;
|
||||||
}
|
}
|
||||||
@@ -94,7 +98,9 @@ public class SplashScreen extends FContainer {
|
|||||||
private float progress = 0;
|
private float progress = 0;
|
||||||
private boolean finished, openAdventure;
|
private boolean finished, openAdventure;
|
||||||
//for transition image only...
|
//for transition image only...
|
||||||
Texture transition_bg = new Texture(GuiBase.isAndroid() ? Gdx.files.internal("fallback_skin").child("title_bg_lq.png") : Gdx.files.classpath("fallback_skin").child("title_bg_lq.png"));
|
TextureRegion transition_bg = new TextureRegion(new Texture(GuiBase.isAndroid()
|
||||||
|
? Gdx.files.internal("fallback_skin").child("title_bg_lq.png")
|
||||||
|
: Gdx.files.classpath("fallback_skin").child("title_bg_lq.png")));
|
||||||
|
|
||||||
public void drawBackground(Graphics g) {
|
public void drawBackground(Graphics g) {
|
||||||
float percentage = progress / DURATION;
|
float percentage = progress / DURATION;
|
||||||
@@ -105,22 +111,22 @@ public class SplashScreen extends FContainer {
|
|||||||
percentage = 1;
|
percentage = 1;
|
||||||
}
|
}
|
||||||
if (startClassic) {
|
if (startClassic) {
|
||||||
showSplash(g, 1-percentage);
|
showSplash(g, 1 - percentage);
|
||||||
} else {
|
} else {
|
||||||
if (animateLogo) {
|
if (animateLogo) {
|
||||||
//bg
|
//bg
|
||||||
drawTransition(g, transition_bg, openAdventure, percentage);
|
drawTransition(g, transition_bg, openAdventure, percentage);
|
||||||
g.setAlphaComposite(1-percentage);
|
g.setAlphaComposite(1 - percentage);
|
||||||
g.drawImage(FSkinTexture.BG_TEXTURE, 0, 0, getWidth(), getHeight());
|
g.drawImage(FSkinTexture.BG_TEXTURE, 0, 0, getWidth(), getHeight());
|
||||||
g.setAlphaComposite(oldAlpha);
|
g.setAlphaComposite(oldAlpha);
|
||||||
//logo
|
//logo
|
||||||
g.setAlphaComposite(oldAlpha-percentage);
|
g.setAlphaComposite(oldAlpha - percentage);
|
||||||
float xmod = Forge.getScreenHeight() > 1000 ? 1.5f : Forge.getScreenHeight() > 800 ? 1.3f : 1f;
|
float xmod = Forge.getScreenHeight() > 1000 ? 1.5f : Forge.getScreenHeight() > 800 ? 1.3f : 1f;
|
||||||
xmod += 10 * percentage;
|
xmod += 10 * percentage;
|
||||||
g.drawImage(FSkin.hdLogo, getWidth()/2 - (FSkin.hdLogo.getWidth()*xmod)/2, getHeight()/2 - (FSkin.hdLogo.getHeight()*xmod)/1.5f, FSkin.hdLogo.getWidth()*xmod, FSkin.hdLogo.getHeight()*xmod);
|
g.drawImage(FSkin.hdLogo, getWidth() / 2 - (FSkin.hdLogo.getWidth() * xmod) / 2, getHeight() / 2 - (FSkin.hdLogo.getHeight() * xmod) / 1.5f, FSkin.hdLogo.getWidth() * xmod, FSkin.hdLogo.getHeight() * xmod);
|
||||||
g.setAlphaComposite(oldAlpha);
|
g.setAlphaComposite(oldAlpha);
|
||||||
} else {
|
} else {
|
||||||
g.setAlphaComposite(hideBG ? 1-percentage : 1);
|
g.setAlphaComposite(hideBG ? 1 - percentage : 1);
|
||||||
if (showModeSelector) {
|
if (showModeSelector) {
|
||||||
showSelector(g, hideBG ? 1 - percentage : 1);
|
showSelector(g, hideBG ? 1 - percentage : 1);
|
||||||
} else {
|
} else {
|
||||||
@@ -128,7 +134,7 @@ public class SplashScreen extends FContainer {
|
|||||||
}
|
}
|
||||||
g.setAlphaComposite(oldAlpha);
|
g.setAlphaComposite(oldAlpha);
|
||||||
if (hideBG) {
|
if (hideBG) {
|
||||||
g.setAlphaComposite(0+percentage);
|
g.setAlphaComposite(0 + percentage);
|
||||||
drawTransition(g, transition_bg, openAdventure, percentage);
|
drawTransition(g, transition_bg, openAdventure, percentage);
|
||||||
g.setAlphaComposite(oldAlpha);
|
g.setAlphaComposite(oldAlpha);
|
||||||
}
|
}
|
||||||
@@ -137,11 +143,11 @@ public class SplashScreen extends FContainer {
|
|||||||
if (hideBtn) {
|
if (hideBtn) {
|
||||||
if (btnAdventure != null) {
|
if (btnAdventure != null) {
|
||||||
float y = btnAdventure.getTop();
|
float y = btnAdventure.getTop();
|
||||||
btnAdventure.setTop(y+(getHeight()/16 * percentage));
|
btnAdventure.setTop(y + (getHeight() / 16 * percentage));
|
||||||
}
|
}
|
||||||
if (btnHome != null) {
|
if (btnHome != null) {
|
||||||
float y = btnHome.getTop();
|
float y = btnHome.getTop();
|
||||||
btnHome.setTop(y+(getHeight()/16 * percentage));
|
btnHome.setTop(y + (getHeight() / 16 * percentage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -154,7 +160,7 @@ public class SplashScreen extends FContainer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onEnd(boolean endingAll) {
|
protected void onEnd(boolean endingAll) {
|
||||||
if (animateLogo||hideBG) {
|
if (animateLogo || hideBG) {
|
||||||
if (openAdventure)
|
if (openAdventure)
|
||||||
Forge.openAdventure();
|
Forge.openAdventure();
|
||||||
else
|
else
|
||||||
@@ -169,20 +175,31 @@ public class SplashScreen extends FContainer {
|
|||||||
bgAnimation.start();
|
bgAnimation.start();
|
||||||
bgAnimation.drawBackground(g);
|
bgAnimation.drawBackground(g);
|
||||||
}
|
}
|
||||||
void drawTransition(Graphics g, Texture bg, boolean openAdventure, float percentage) {
|
|
||||||
|
void drawTransition(Graphics g, TextureRegion bg, boolean openAdventure, float percentage) {
|
||||||
|
TextureRegion tr = new TextureRegion(bg.getTexture());
|
||||||
|
if (!Forge.isLandscapeMode() && tr != null) {
|
||||||
|
float ar = 1.78f;
|
||||||
|
int w = (int) (tr.getRegionHeight() / ar);
|
||||||
|
int x = (int) ((tr.getRegionWidth() - w) / ar);
|
||||||
|
tr.setRegion(x, 0, w, tr.getRegionHeight());
|
||||||
|
}
|
||||||
float oldAlpha = g.getfloatAlphaComposite();
|
float oldAlpha = g.getfloatAlphaComposite();
|
||||||
g.setAlphaComposite(percentage);
|
g.setAlphaComposite(percentage);
|
||||||
if (openAdventure) {
|
if (openAdventure) {
|
||||||
if (bg != null) {
|
if (tr != null) {
|
||||||
g.drawGrayTransitionImage(bg, 0, 0, getWidth(), getHeight(), false, percentage*1);
|
g.drawGrayTransitionImage(tr, 0, 0, getWidth(), getHeight(), false, percentage * 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
g.fillRect(FSkinColor.get(FSkinColor.Colors.CLR_THEME),0, 0, getWidth(), getHeight());
|
g.fillRect(FSkinColor.get(FSkinColor.Colors.CLR_THEME), 0, 0, getWidth(), getHeight());
|
||||||
}
|
}
|
||||||
g.setAlphaComposite(oldAlpha);
|
g.setAlphaComposite(oldAlpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showSelector(Graphics g, float alpha) {
|
private void showSelector(Graphics g, float alpha) {
|
||||||
if (background == null) { return; }
|
if (background == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
g.fillRect(Color.BLACK, 0, 0, Forge.getScreenWidth(), Forge.getScreenHeight());
|
g.fillRect(Color.BLACK, 0, 0, Forge.getScreenWidth(), Forge.getScreenHeight());
|
||||||
g.drawImage(FSkinTexture.BG_TEXTURE, 0, 0, getWidth(), getHeight());
|
g.drawImage(FSkinTexture.BG_TEXTURE, 0, 0, getWidth(), getHeight());
|
||||||
|
|
||||||
@@ -194,8 +211,7 @@ public class SplashScreen extends FContainer {
|
|||||||
w = getWidth();
|
w = getWidth();
|
||||||
h = getWidth() * backgroundRatio;
|
h = getWidth() * backgroundRatio;
|
||||||
y = (getHeight() - h) / 2;
|
y = (getHeight() - h) / 2;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
y = 0;
|
y = 0;
|
||||||
h = getHeight();
|
h = getHeight();
|
||||||
w = getHeight() / backgroundRatio;
|
w = getHeight() / backgroundRatio;
|
||||||
@@ -203,7 +219,7 @@ public class SplashScreen extends FContainer {
|
|||||||
}
|
}
|
||||||
if (FSkin.hdLogo != null) {
|
if (FSkin.hdLogo != null) {
|
||||||
float xmod = Forge.getScreenHeight() > 1000 ? 1.5f : Forge.getScreenHeight() > 800 ? 1.3f : 1f;
|
float xmod = Forge.getScreenHeight() > 1000 ? 1.5f : Forge.getScreenHeight() > 800 ? 1.3f : 1f;
|
||||||
g.drawImage(FSkin.hdLogo, getWidth()/2 - (FSkin.hdLogo.getWidth()*xmod)/2, getHeight()/2 - (FSkin.hdLogo.getHeight()*xmod)/1.5f, FSkin.hdLogo.getWidth()*xmod, FSkin.hdLogo.getHeight()*xmod);
|
g.drawImage(FSkin.hdLogo, getWidth() / 2 - (FSkin.hdLogo.getWidth() * xmod) / 2, getHeight() / 2 - (FSkin.hdLogo.getHeight() * xmod) / 1.5f, FSkin.hdLogo.getWidth() * xmod, FSkin.hdLogo.getHeight() * xmod);
|
||||||
} else {
|
} else {
|
||||||
g.drawImage(background, x, y, w, h);
|
g.drawImage(background, x, y, w, h);
|
||||||
}
|
}
|
||||||
@@ -255,18 +271,22 @@ public class SplashScreen extends FContainer {
|
|||||||
btnAdventure.setFont(FSkinFont.get(22));
|
btnAdventure.setFont(FSkinFont.get(22));
|
||||||
btnHome.setBounds(btn_x, btn_y, btn_w, height);
|
btnHome.setBounds(btn_x, btn_y, btn_w, height);
|
||||||
add(btnHome);
|
add(btnHome);
|
||||||
btnAdventure.setBounds(btn_x, btn_y+height+padding/2, btn_w, height);
|
btnAdventure.setBounds(btn_x, btn_y + height + padding / 2, btn_w, height);
|
||||||
add(btnAdventure);
|
add(btnAdventure);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showSplash(Graphics g, float alpha) {
|
private void showSplash(Graphics g, float alpha) {
|
||||||
float oldAlpha = g.getfloatAlphaComposite();
|
float oldAlpha = g.getfloatAlphaComposite();
|
||||||
g.setAlphaComposite(alpha);
|
g.setAlphaComposite(alpha);
|
||||||
drawDisclaimer(g);
|
drawDisclaimer(g);
|
||||||
g.setAlphaComposite(oldAlpha);
|
g.setAlphaComposite(oldAlpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawDisclaimer(Graphics g) {
|
void drawDisclaimer(Graphics g) {
|
||||||
if (background == null) { return; }
|
if (background == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
g.fillRect(Color.BLACK, 0, 0, Forge.getScreenWidth(), Forge.getScreenHeight());
|
g.fillRect(Color.BLACK, 0, 0, Forge.getScreenWidth(), Forge.getScreenHeight());
|
||||||
g.drawImage(FSkinTexture.BG_TEXTURE, 0, 0, getWidth(), getHeight());
|
g.drawImage(FSkinTexture.BG_TEXTURE, 0, 0, getWidth(), getHeight());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user