mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-03-13 19:39:14 +07:00
Fixed DT1 viewing in MPQ viewer
Fixed issue where DT1 wouldn't draw until palette selected Created Dt1Info panel Added back scrollbars without fading Increased bottom padding for "center" button to be above scroll bars
This commit is contained in:
parent
9241e3a898
commit
ebf0015528
51
tools/mpq-viewer/src/main/java/com/riiablo/map2/Dt1Info.java
Normal file
51
tools/mpq-viewer/src/main/java/com/riiablo/map2/Dt1Info.java
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
package com.riiablo.map2;
|
||||||
|
|
||||||
|
import com.kotcrab.vis.ui.widget.VisTable;
|
||||||
|
|
||||||
|
import com.riiablo.map.DT1;
|
||||||
|
|
||||||
|
public class Dt1Info extends VisTable {
|
||||||
|
DT1 dt1;
|
||||||
|
VisTable header, tileTable;
|
||||||
|
|
||||||
|
public Dt1Info() {}
|
||||||
|
|
||||||
|
public Dt1Info setDT1(DT1 dt1) {
|
||||||
|
if (this.dt1 == dt1) return this;
|
||||||
|
this.dt1 = dt1;
|
||||||
|
clear();
|
||||||
|
|
||||||
|
header = new VisTable();
|
||||||
|
header.add("Header:").left().colspan(2).row();
|
||||||
|
add(header, "tiles: ", dt1.getNumTiles());
|
||||||
|
|
||||||
|
tileTable = new VisTable();
|
||||||
|
|
||||||
|
VisTable left = new VisTable();
|
||||||
|
left.add(header).row();
|
||||||
|
left.add().growY().row();
|
||||||
|
left.add(tileTable).row();
|
||||||
|
add(left).growY().spaceRight(8);
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static VisTable add(VisTable table, String label, int value) {
|
||||||
|
return add(table, label, String.valueOf(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static VisTable add(VisTable table, String label, String format, Object... args) {
|
||||||
|
table.add(label).right();
|
||||||
|
table.add(String.format(format, args)).left();
|
||||||
|
table.row();
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update(int t) {
|
||||||
|
DT1.Tile tile = dt1.getTile(t);
|
||||||
|
|
||||||
|
tileTable.clear();
|
||||||
|
tileTable.add("Tile:").left().colspan(2).row();
|
||||||
|
add(tileTable, "width,height: ", "%d,%d", tile.width, tile.height);
|
||||||
|
}
|
||||||
|
}
|
@ -86,6 +86,7 @@ import com.riiablo.codec.DccInfo;
|
|||||||
import com.riiablo.codec.Palette;
|
import com.riiablo.codec.Palette;
|
||||||
import com.riiablo.graphics.PaletteIndexedBatch;
|
import com.riiablo.graphics.PaletteIndexedBatch;
|
||||||
import com.riiablo.map.DT1;
|
import com.riiablo.map.DT1;
|
||||||
|
import com.riiablo.map2.Dt1Info;
|
||||||
import com.riiablo.mpq.widget.CollapsibleVisTable;
|
import com.riiablo.mpq.widget.CollapsibleVisTable;
|
||||||
import com.riiablo.mpq.widget.DirectionActor;
|
import com.riiablo.mpq.widget.DirectionActor;
|
||||||
import com.riiablo.mpq.widget.TabbedPane;
|
import com.riiablo.mpq.widget.TabbedPane;
|
||||||
@ -216,6 +217,9 @@ public class MPQViewer {
|
|||||||
CollapsibleVisTable dc6Panel;
|
CollapsibleVisTable dc6Panel;
|
||||||
Dc6Info dc6Info;
|
Dc6Info dc6Info;
|
||||||
|
|
||||||
|
CollapsibleVisTable dt1Panel;
|
||||||
|
Dt1Info dt1Info;
|
||||||
|
|
||||||
PaletteIndexedBatch batch;
|
PaletteIndexedBatch batch;
|
||||||
ShaderProgram shader;
|
ShaderProgram shader;
|
||||||
ShapeRenderer shapes;
|
ShapeRenderer shapes;
|
||||||
@ -383,8 +387,10 @@ public class MPQViewer {
|
|||||||
}};
|
}};
|
||||||
rendererScroller = new VisScrollPane(renderer = new Renderer()) {
|
rendererScroller = new VisScrollPane(renderer = new Renderer()) {
|
||||||
{
|
{
|
||||||
setupFadeScrollBars(0, 0);
|
// copy "list" style into "renderer scroller" style
|
||||||
setFadeScrollBars(true);
|
setStyle(new ScrollPaneStyle(VisUI.getSkin().get("list", ScrollPaneStyle.class)));
|
||||||
|
// setupFadeScrollBars(0, 0);
|
||||||
|
// setFadeScrollBars(true);
|
||||||
setSmoothScrolling(false);
|
setSmoothScrolling(false);
|
||||||
setFlingTime(0);
|
setFlingTime(0);
|
||||||
setOverscroll(false, false);
|
setOverscroll(false, false);
|
||||||
@ -446,6 +452,7 @@ public class MPQViewer {
|
|||||||
VisTable controls = new VisTable();
|
VisTable controls = new VisTable();
|
||||||
controls.align(Align.bottomLeft);
|
controls.align(Align.bottomLeft);
|
||||||
controls.pad(8);
|
controls.pad(8);
|
||||||
|
controls.padBottom(controls.getPadBottom() + 18); // this is just a guess
|
||||||
controls.add(new VisTextButton("[ ]") {{
|
controls.add(new VisTextButton("[ ]") {{
|
||||||
addListener(new ClickListener() {
|
addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -549,6 +556,14 @@ public class MPQViewer {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}}).row();
|
}}).row();
|
||||||
|
add(new VisTextButton("7") {{
|
||||||
|
addListener(new ClickListener() {
|
||||||
|
@Override
|
||||||
|
public void clicked(InputEvent event, float x, float y) {
|
||||||
|
dt1Panel.setCollapsed(!dt1Panel.isCollapsed());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}}).row();
|
||||||
}}).align(Align.top).space(4);
|
}}).align(Align.top).space(4);
|
||||||
optionsPanel.add(imageControlsPanel = new CollapsibleVisTable() {{
|
optionsPanel.add(imageControlsPanel = new CollapsibleVisTable() {{
|
||||||
add(imageControls = new TabbedPane() {{
|
add(imageControls = new TabbedPane() {{
|
||||||
@ -832,6 +847,11 @@ public class MPQViewer {
|
|||||||
add(dc6Info = new Dc6Info()).row();
|
add(dc6Info = new Dc6Info()).row();
|
||||||
add().growY();
|
add().growY();
|
||||||
}}).growY().space(4);
|
}}).growY().space(4);
|
||||||
|
optionsPanel.add(dt1Panel = new CollapsibleVisTable() {{
|
||||||
|
add("DT1:").align(Align.left).row();
|
||||||
|
add(dt1Info = new Dt1Info()).row();
|
||||||
|
add().growY();
|
||||||
|
}}).growY().space(4);
|
||||||
|
|
||||||
optionsSubpanels = new Array<>();
|
optionsSubpanels = new Array<>();
|
||||||
optionsSubpanels.add(imageControlsPanel);
|
optionsSubpanels.add(imageControlsPanel);
|
||||||
@ -840,6 +860,7 @@ public class MPQViewer {
|
|||||||
optionsSubpanels.add(cofPanel);
|
optionsSubpanels.add(cofPanel);
|
||||||
optionsSubpanels.add(dccPanel);
|
optionsSubpanels.add(dccPanel);
|
||||||
optionsSubpanels.add(dc6Panel);
|
optionsSubpanels.add(dc6Panel);
|
||||||
|
optionsSubpanels.add(dt1Panel);
|
||||||
for (CollapsibleVisTable o : optionsSubpanels) {
|
for (CollapsibleVisTable o : optionsSubpanels) {
|
||||||
o.setCollapsed(true);
|
o.setCollapsed(true);
|
||||||
}
|
}
|
||||||
@ -1462,7 +1483,9 @@ public class MPQViewer {
|
|||||||
} else if (extension.equals("dt1")) {
|
} else if (extension.equals("dt1")) {
|
||||||
imageControlsPanel.setCollapsed(false);
|
imageControlsPanel.setCollapsed(false);
|
||||||
palettePanel.setCollapsed(false);
|
palettePanel.setCollapsed(false);
|
||||||
|
dt1Panel.setCollapsed(false);
|
||||||
final DT1 dt1 = DT1.loadFromFile(handle);
|
final DT1 dt1 = DT1.loadFromFile(handle);
|
||||||
|
dt1Info.setDT1(dt1);
|
||||||
dt1.prepareTextures();
|
dt1.prepareTextures();
|
||||||
renderer.setDrawable(new DelegatingDrawable<TextureRegionDrawable>() {
|
renderer.setDrawable(new DelegatingDrawable<TextureRegionDrawable>() {
|
||||||
{
|
{
|
||||||
@ -1478,6 +1501,10 @@ public class MPQViewer {
|
|||||||
TextureRegionDrawable drawable = new TextureRegionDrawable();
|
TextureRegionDrawable drawable = new TextureRegionDrawable();
|
||||||
drawable.setRegion(dt1.getTexture(0));
|
drawable.setRegion(dt1.getTexture(0));
|
||||||
setDelegate(drawable);
|
setDelegate(drawable);
|
||||||
|
|
||||||
|
String palette = paletteList.getSelected();
|
||||||
|
Riiablo.batch.setPalette(palettes.get(palette));
|
||||||
|
Gdx.app.debug(TAG, "palette set to " + palette);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1520,6 +1547,7 @@ public class MPQViewer {
|
|||||||
int id = (int) slFrameIndex.getValue();
|
int id = (int) slFrameIndex.getValue();
|
||||||
delegate.setRegion(dt1.getTexture(id));
|
delegate.setRegion(dt1.getTexture(id));
|
||||||
slFrameIndex.setValue(id);
|
slFrameIndex.setValue(id);
|
||||||
|
updateInfo();
|
||||||
} else if (actor == paletteList) {
|
} else if (actor == paletteList) {
|
||||||
String palette = paletteList.getSelected();
|
String palette = paletteList.getSelected();
|
||||||
Riiablo.batch.setPalette(palettes.get(palette));
|
Riiablo.batch.setPalette(palettes.get(palette));
|
||||||
@ -1527,6 +1555,11 @@ public class MPQViewer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void updateInfo() {
|
||||||
|
int id = (int) slFrameIndex.getValue();
|
||||||
|
dt1Info.update(id);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(Batch batch, float x, float y, float width, float height) {
|
public void draw(Batch batch, float x, float y, float width, float height) {
|
||||||
PaletteIndexedBatch b = Riiablo.batch;
|
PaletteIndexedBatch b = Riiablo.batch;
|
||||||
|
Loading…
Reference in New Issue
Block a user