Data tiles now working. Corrected from 16 bit to 14 bit data reading
Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
b1919b54d4
commit
7dfd9bd4e3
BIN
maps/world1.map
BIN
maps/world1.map
Binary file not shown.
@ -230,7 +230,7 @@ public class Map {
|
||||
}
|
||||
|
||||
public void ModifyDataTile(int x,int y,DataTile t) {
|
||||
if (data[y*Map.MAP_WIDTH+x]<32768) {
|
||||
if (data[y*Map.MAP_WIDTH+x]<8192) {
|
||||
DataTile prevTile = DataTile.values()[data[y*Map.MAP_WIDTH+x]];
|
||||
if (prevTile.ordinal()==0) {
|
||||
eventTileCount++;
|
||||
@ -248,10 +248,10 @@ public class Map {
|
||||
|
||||
public void ModifyDataTile(int x, int y, char value) {
|
||||
eventTileCount++;
|
||||
if (value>32767) {
|
||||
value=32767;
|
||||
if (value>8192) {
|
||||
value=8192;
|
||||
}
|
||||
data[y*Map.MAP_WIDTH+x]=(char)(value+32768);
|
||||
data[y*Map.MAP_WIDTH+x]=(char)(value+8192);
|
||||
System.out.println("Tile "+(y*MAP_WIDTH+x)+" is now "+data[y*MAP_WIDTH+x]+".");
|
||||
}
|
||||
|
||||
|
@ -146,7 +146,7 @@ public class EditorRenderer extends LevelRenderer{
|
||||
}
|
||||
if (dataTileView) {
|
||||
drawMapTileForDataTileMode(p,x,y);
|
||||
if (RabiClone.CURRENT_MAP.getDataTileValue(x, y)>=32768) {
|
||||
if (RabiClone.CURRENT_MAP.getDataTileValue(x, y)>=8192) {
|
||||
DrawDataTileValue(p,x*Tile.TILE_WIDTH-this.getX(),y*Tile.TILE_HEIGHT-this.getY(),RabiClone.CURRENT_MAP.getDataTileValue(x, y));
|
||||
} else if (RabiClone.CURRENT_MAP.getDataTile(x, y)!=DataTile.NULL) {
|
||||
DrawDataTile(p,x*Tile.TILE_WIDTH-this.getX(),y*Tile.TILE_HEIGHT-this.getY(),RabiClone.CURRENT_MAP.getDataTile(x, y));
|
||||
@ -240,7 +240,7 @@ public class EditorRenderer extends LevelRenderer{
|
||||
|
||||
protected void DrawTransparentDataTile(byte[] p, double x, double y, char tile,PaletteColor col) {
|
||||
Draw_Rect(p,col,x,y,Tile.TILE_WIDTH,Tile.TILE_HEIGHT);
|
||||
Draw_Text_Ext(x+2,y+2,new String("V:").append(Integer.toString(tile-32768)),Font.PROFONT_12,Alpha.ALPHA0,PaletteColor.WHITE);
|
||||
Draw_Text_Ext(x+2,y+2,new String("V:").append(Integer.toString(tile-8192)),Font.PROFONT_12,Alpha.ALPHA0,PaletteColor.WHITE);
|
||||
}
|
||||
|
||||
protected void DrawDataTile(byte[] p, double x, double y, DataTile tile) {
|
||||
@ -285,7 +285,9 @@ public class EditorRenderer extends LevelRenderer{
|
||||
case _7:
|
||||
case _8:
|
||||
case _9:
|
||||
if (inputDataTileValue) {
|
||||
dataTileValue=dataTileValue.append(a.toString().replace("_",""));
|
||||
}
|
||||
break;
|
||||
case BACKSPACE:{
|
||||
if (dataTileValue.length()>0) {
|
||||
@ -295,6 +297,7 @@ public class EditorRenderer extends LevelRenderer{
|
||||
case ENTER:{
|
||||
inputDataTileValue=false;
|
||||
RabiClone.CURRENT_MAP.ModifyDataTileValue(tileX, tileY, (char)Integer.parseInt(dataTileValue.toString()));
|
||||
inputMessageLogDisplay.clear();
|
||||
dataTileValue.clear();
|
||||
}break;
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ public class LevelRenderer extends Object{
|
||||
if (x<0||x>Map.MAP_WIDTH) {
|
||||
continue;
|
||||
}
|
||||
if (RabiClone.CURRENT_MAP.getDataTileValue(x,y)<32768&&RabiClone.CURRENT_MAP.getDataTile(x,y)!=DataTile.NULL) {
|
||||
if (RabiClone.CURRENT_MAP.getDataTileValue(x,y)<8192&&RabiClone.CURRENT_MAP.getDataTile(x,y)!=DataTile.NULL) {
|
||||
if (!RabiClone.CURRENT_MAP.getDataTile(x,y).perform(x*Tile.TILE_WIDTH,y*Tile.TILE_HEIGHT)) {
|
||||
RabiClone.CURRENT_MAP.ModifyDataTile(x, y, DataTile.NULL);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user