nearbyTilesInfo issue has been solved

Former-commit-id: fea5f44cb768a565e3275eb711996758fec5d5d9
Former-commit-id: d24dbd5e87bcd70abf583bcf637d83dfef724e79
This commit is contained in:
Song Minjae
2016-03-06 22:05:05 +09:00
parent 4462fc89a6
commit 217db0a4ea
14 changed files with 23 additions and 13 deletions

View File

@@ -42,6 +42,8 @@ public class GameMap {
private char globalLight;
private WorldTime worldTime;
public static final int TILES_SUPPORTED = MapLayer.RANGE * PairedMapLayer.RANGE;
/**
* @param width
* @param height

View File

@@ -14,7 +14,7 @@ public class MapLayer implements Iterable<Byte> {
public int width;
public int height;
public static final int TILES_SUPPORTED = 256;
public static final int RANGE = 256;
public MapLayer(int width, int height) {
this.width = width;

View File

@@ -64,7 +64,12 @@ public class MapCamera {
, TileNameCode.DIRT
, TileNameCode.GRASS
, TileNameCode.SAND
, TileNameCode.SAND_BEACH
, TileNameCode.SAND_RED
, TileNameCode.SAND_DESERT
, TileNameCode.SAND_BLACK
, TileNameCode.GRAVEL
, TileNameCode.GRAVEL_GREY
, TileNameCode.SNOW
, TileNameCode.ICE_NATURAL
, TileNameCode.WATER
@@ -211,7 +216,7 @@ public class MapCamera {
int thisTileY = thisTile / PairedMapLayer.RANGE;
if (drawModeTilesBlendMul) {
if (isBlendMul((byte) thisTile)) {
if (isBlendMul(thisTile)) {
drawTile(mode, x, y, thisTileX, thisTileY);
}
}
@@ -414,15 +419,15 @@ public class MapCamera {
}
private static boolean isConnectSelf(int b) {
return (Arrays.asList(TILES_CONNECT_SELF).contains((byte) b));
return Arrays.asList(TILES_CONNECT_SELF).contains(b);
}
private static boolean isDarkenAir(int b) {
return (Arrays.asList(TILES_DARKEN_AIR).contains((byte) b));
return Arrays.asList(TILES_DARKEN_AIR).contains(b);
}
private static boolean isBlendMul(int b) {
return (Arrays.asList(TILES_BLEND_MUL).contains((byte) b));
return Arrays.asList(TILES_BLEND_MUL).contains(b);
}
private static void setBlendModeMul() {

View File

@@ -29,7 +29,9 @@ public class TileNameCode {
public static final int SAND_RED = TilePropCodex.indexDamageToArrayAddr(5, 2);
public static final int SAND_DESERT = TilePropCodex.indexDamageToArrayAddr(5, 3);
public static final int SAND_BLACK = TilePropCodex.indexDamageToArrayAddr(5, 4);
public static final int GRAVEL = TilePropCodex.indexDamageToArrayAddr(6, 0);
public static final int GRAVEL_GREY = TilePropCodex.indexDamageToArrayAddr(6, 1);
public static final int ORE_COPPER = TilePropCodex.indexDamageToArrayAddr(7, 0);
public static final int ORE_IRON = TilePropCodex.indexDamageToArrayAddr(7, 1);

View File

@@ -6,7 +6,6 @@ import com.Torvald.Terrarum.GameMap.PairedMapLayer;
import org.apache.commons.csv.CSVRecord;
import java.io.IOException;
import java.util.Hashtable;
import java.util.List;
/**
@@ -17,7 +16,7 @@ public class TilePropCodex {
private static TileProp[] tileProps;
public TilePropCodex() {
tileProps = new TileProp[MapLayer.TILES_SUPPORTED * (PairedMapLayer.RANGE)];
tileProps = new TileProp[MapLayer.RANGE * (PairedMapLayer.RANGE)];
for (int i = 0; i < tileProps.length; i++) {
tileProps[i] = new TileProp();

View File

@@ -15,7 +15,7 @@ import java.util.Arrays;
*/
public class TileStat {
private static short[] tilestat = new short[MapLayer.TILES_SUPPORTED];
private static short[] tilestat = new short[GameMap.TILES_SUPPORTED];
private static final int TSIZE = MapDrawer.TILE_SIZE;
@@ -30,8 +30,6 @@ public class TileStat {
GameMap map = Terrarum.game.map;
Player player = Terrarum.game.getPlayer();
float zoom = Terrarum.game.screenZoom;
int renderWidth = FastMath.ceil(Terrarum.WIDTH);
int renderHeight = FastMath.ceil(Terrarum.HEIGHT);
@@ -82,7 +80,7 @@ public class TileStat {
* @return copy of the stat data
*/
public static short[] getStatCopy() {
return Arrays.copyOf(tilestat, MapLayer.TILES_SUPPORTED);
return Arrays.copyOf(tilestat, MapLayer.RANGE);
}
}

View File

@@ -2,6 +2,7 @@ package com.Torvald.Terrarum.UserInterface;
import com.Torvald.Terrarum.Actors.PlayerDebugger;
import com.Torvald.Terrarum.Actors.Hitbox;
import com.Torvald.Terrarum.GameMap.PairedMapLayer;
import com.Torvald.Terrarum.LangPack.Lang;
import com.Torvald.Terrarum.MapDrawer.LightmapRenderer;
import com.Torvald.Terrarum.MapDrawer.MapDrawer;
@@ -92,10 +93,13 @@ public class BasicDebugInfoWindow implements UICanvas {
String tileNo;
try {
tileNo = String.valueOf(Terrarum.game.map.getTileFromTerrain(mouseTileX, mouseTileY));
int tileNumRaw = Terrarum.game.map.getTileFromTerrain(mouseTileX, mouseTileY);
int tilenum = tileNumRaw / PairedMapLayer.RANGE;
int tiledmg = tileNumRaw % PairedMapLayer.RANGE;
tileNo = tilenum + ":" + tiledmg;
}
catch (ArrayIndexOutOfBoundsException e) {
tileNo = "out of bounds";
tileNo = "-";
}
printLine(g, 9, "tile : " + tileNo + " (" + mtX + ", " + mtY + ")");