private int width, height;
private double chunkX;
private double chunkY;
private double tileX;
private double tileY;
private double pixelX;
private double pixelY;
private int offsetY;
private int offsetX;
private int screenPix;
private int tilePix;
private Tile currTile;
private double tChunkX;
private double tChunkY;
public static int shift = 0;
public static int fightshift = 0;
public static boolean hover = false;
public Screen(int width, int height, Input input) {
this.width = width;
this.height = height;
}
public void render(){
for(int y = 0; y < height; y++){
offsetY = y + Player.playerY;
chunkY = Math.floor(offsetY / 512);
tChunkY = chunkY * 512;
tileY = Math.floor((offsetY - tChunkY) / 32);
pixelY = offsetY - tChunkY - tileY * 32;
for(int x = 0; x < width; x++){
/* 1. game screen
* 2. loading screen
* 3. login screen
*/
screenPix = x + y * width;
if(Core.loadingDone && Core.logedin){
offsetX = xPlayer.playerX;
+ offsetY = Player.playerX;playerY;
chunkX = (int) Math.floor((x + offsetX) / 512);
tChunkX chunkY = chunkX(int) *Math.floor((y 512;+ offsetY) / 512);
tileX = (int) Math.floor(((x + offsetX) - tChunkX(chunkX * 512)) / 32);
pixelX tileY = offsetX(int) -Math.floor(((y tChunkX+ offsetY) - tileX(chunkY * 32;512)) / 32);
tilePix pixelX = (int) (pixelX(x + pixelY * 32offsetX);
- Math.floor(chunkX * 512) - Math.floor(tileX * try{32));
currTilepixelY = ChunkManager.chunks.get((int) chunkX).get((int)y chunkY+ offsetY) - Math.tile[floor(int)chunkY tileX][(int* 512) tileY];
- Math.floor(tileY * 32));
}catch(NullPointerException e){
currTile = ChunkManager.chunks.get(chunkX).get(chunkY).tile[tileX][tileY];
FileManager.missingChunk = (int) chunkX + "v" + (int) chunkYtilePix += "v?";
pixelX + pixelY * 32;
}
try{
if(Core.loadingDone && Core.loggedin){
Game.pixels[screenPix] = renderGroundSpriteManager.groundSpritesGet(screenPix, currTile, tilePix.getGroundID();).pixels[tilePix];
if(currTile.moveAbility[(int)pixelX][(int)pixelY]moveAbility[pixelX][pixelY] == 1){
//render order: player object event
/*if if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}*/
}
renderObjects(screenPix, currTile, tilePix);
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = ifSpriteManager.objectSpritesGet(CorecurrTile.builderModegetObjectID(){).pixels[tilePix];
if(CoreSpriteManager.builderModePathModeobjectSpritesGet(currTile.getObjectID2()).pixels[tilePix] renderEventWalkPath(screenPix,!= currTile,0xffff00ff) tilePixGame.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2();).pixels[tilePix];
if(CoreSpriteManager.builderModeEventMode) renderEventIDobjectSpritesGet(screenPix, currTile, tilePix.getObjectID3();
).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = }else{SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
renderEventAliasif(screenPix, currTile, tilePixCore.builderMode);{
}
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
continue;
}else{
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
//render order: object event player
}else{
renderObjects(screenPix, currTile, tilePix);
if(CoreSpriteManager.builderModeeventSpritesGet(currTile.getEventAlias(){
).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
if(Core.builderModePathMode) renderEventWalkPath(screenPix, currTile, tilePix);
}
if(Core.builderModeEventMode) renderEventID(screenPix, currTile, tilePix);continue;
}else{
renderEventAlias//render order: object event player
if(screenPix,SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile,.getObjectID()).pixels[tilePix];
tilePix if(SpriteManager.objectSpritesGet(currTile.getObjectID2();).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
if(Core.builderMode){
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}else{
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}
continue;
}
/*if}catch(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 +NullPointerException 16e){//wrong
//TODO render player
//TODO render equip
}*/
FileManager.missingChunk = continue;chunkX+"v"+chunkY+"v?";
}
}else if(Core.loggedinlogedin){
if(Core.loading_screen){
// TODO Render the loading img and load-bar + current state text
Game.pixels[screenPix] = SpriteManager.guiSprites.get(2).pixels[screenPix];
continue;
}
}else{
if(hover){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(1).pixels[screenPix];
}else{
Game.pixels[screenPix] = SpriteManager.guiSprites.get(0).pixels[screenPix];
}
if(y > 574 && y < 600){//two white fields for id and pw input
if(x > 290 && x < 450 || x > 540 && x < 700){
Game.pixels[screenPix] = 0xffffffff;
}
}
continue;
}
}
}
}
private void renderEventAlias(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
private void renderEventID(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}
private void renderEventWalkPath(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
}
private void renderObjects(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
}
private void renderGround(int screenPix, Tile currTile, int tilePix) {
Game.pixels[screenPix] = SpriteManager.groundSpritesGet(currTile.getGroundID()).pixels[tilePix];
}
private int width, height;
private double chunkX;
private double chunkY;
private double tileX;
private double tileY;
private double pixelX;
private double pixelY;
private int offsetY;
private int offsetX;
private int screenPix;
private int tilePix;
private Tile currTile;
private double tChunkX;
private double tChunkY;
public static int shift = 0;
public static int fightshift = 0;
public static boolean hover = false;
public Screen(int width, int height, Input input) {
this.width = width;
this.height = height;
}
public void render(){
for(int y = 0; y < height; y++){
offsetY = y + Player.playerY;
chunkY = Math.floor(offsetY / 512);
tChunkY = chunkY * 512;
tileY = Math.floor((offsetY - tChunkY) / 32);
pixelY = offsetY - tChunkY - tileY * 32;
for(int x = 0; x < width; x++){
screenPix = x + y * width;
offsetX = x + Player.playerX;
chunkX = Math.floor(offsetX / 512);
tChunkX = chunkX * 512;
tileX = Math.floor((offsetX - tChunkX) / 32);
pixelX = offsetX - tChunkX - tileX * 32;
tilePix = (int) (pixelX + pixelY * 32);
try{
currTile = ChunkManager.chunks.get((int) chunkX).get((int) chunkY).tile[(int) tileX][(int) tileY];
}catch(NullPointerException e){
FileManager.missingChunk = (int) chunkX + "v" + (int) chunkY + "v?";
}
if(Core.loadingDone && Core.loggedin){
renderGround(screenPix, currTile, tilePix);
if(currTile.moveAbility[(int)pixelX][(int)pixelY] == 1){
//render order: player object event
/*if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}*/
renderObjects(screenPix, currTile, tilePix);
if(Core.builderMode){
if(Core.builderModePathMode) renderEventWalkPath(screenPix, currTile, tilePix);
if(Core.builderModeEventMode) renderEventID(screenPix, currTile, tilePix);
}else{
renderEventAlias(screenPix, currTile, tilePix);
}
continue;
}else{
//render order: object event player
renderObjects(screenPix, currTile, tilePix);
if(Core.builderMode){
if(Core.builderModePathMode) renderEventWalkPath(screenPix, currTile, tilePix);
if(Core.builderModeEventMode) renderEventID(screenPix, currTile, tilePix);
}else{
renderEventAlias(screenPix, currTile, tilePix);
}
/*if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}*/
continue;
}
}else if(Core.loggedin){
if(Core.loading_screen){
// TODO Render the loading img and load-bar + current state text
Game.pixels[screenPix] = SpriteManager.guiSprites.get(2).pixels[screenPix];
continue;
}
}else{
if(hover){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(1).pixels[screenPix];
}else{
Game.pixels[screenPix] = SpriteManager.guiSprites.get(0).pixels[screenPix];
}
if(y > 574 && y < 600){//two white fields for id and pw input
if(x > 290 && x < 450 || x > 540 && x < 700){
Game.pixels[screenPix] = 0xffffffff;
}
}
continue;
}
}
}
}
private void renderEventAlias(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
private void renderEventID(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}
private void renderEventWalkPath(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
}
private void renderObjects(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
}
private void renderGround(int screenPix, Tile currTile, int tilePix) {
Game.pixels[screenPix] = SpriteManager.groundSpritesGet(currTile.getGroundID()).pixels[tilePix];
}
public void render(){
for(int y = 0; y < height; y++){
for(int x = 0; x < width; x++){
/* 1. game screen
* 2. loading screen
* 3. login screen
*/
screenPix = x + y * width;
if(Core.loadingDone && Core.logedin){
offsetX = Player.playerX;
offsetY = Player.playerY;
chunkX = (int) Math.floor((x + offsetX) / 512);
chunkY = (int) Math.floor((y + offsetY) / 512);
tileX = (int) Math.floor(((x + offsetX) - (chunkX * 512)) / 32);
tileY = (int) Math.floor(((y + offsetY) - (chunkY * 512)) / 32);
pixelX = (int) ((x + offsetX) - Math.floor(chunkX * 512) - Math.floor(tileX * 32));
pixelY = (int) ((y + offsetY) - Math.floor(chunkY * 512) - Math.floor(tileY * 32));
currTile = ChunkManager.chunks.get(chunkX).get(chunkY).tile[tileX][tileY];
tilePix = pixelX + pixelY * 32;
try{
Game.pixels[screenPix] = SpriteManager.groundSpritesGet(currTile.getGroundID()).pixels[tilePix];
if(currTile.moveAbility[pixelX][pixelY] == 1){
//render order: player object event
if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
if(Core.builderMode){
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}else{
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
continue;
}else{
//render order: object event player
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
if(Core.builderMode){
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}else{
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}
continue;
}
}catch(NullPointerException e){
FileManager.missingChunk = chunkX+"v"+chunkY+"v?";
}
}else if(Core.logedin){
if(Core.loading_screen){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(2).pixels[screenPix];
continue;
}
}else{
if(hover){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(1).pixels[screenPix];
}else{
Game.pixels[screenPix] = SpriteManager.guiSprites.get(0).pixels[screenPix];
}
if(y > 574 && y < 600){
if(x > 290 && x < 450 || x > 540 && x < 700){
Game.pixels[screenPix] = 0xffffffff;
}
}
continue;
}
}
}
}
private int width, height;
private double chunkX;
private double chunkY;
private double tileX;
private double tileY;
private double pixelX;
private double pixelY;
private int offsetY;
private int offsetX;
private int screenPix;
private int tilePix;
private Tile currTile;
private double tChunkX;
private double tChunkY;
public static int shift = 0;
public static int fightshift = 0;
public static boolean hover = false;
public Screen(int width, int height, Input input) {
this.width = width;
this.height = height;
}
public void render(){
for(int y = 0; y < height; y++){
offsetY = y + Player.playerY;
chunkY = Math.floor(offsetY / 512);
tChunkY = chunkY * 512;
tileY = Math.floor((offsetY - tChunkY) / 32);
pixelY = offsetY - tChunkY - tileY * 32;
for(int x = 0; x < width; x++){
/* 1. game screen
* 2. loading screen
* 3. login screen
*/
screenPix = x + y * width;
if(Core.loadingDone && Core.logedin){
offsetX = Player.playerX;
offsetYx =+ Player.playerY;playerX;
chunkX = (int) Math.floor((x + offsetX) / 512);
chunkYtChunkX = (int) Math.floor((y + offsetY)chunkX /* 512);512;
tileX = (int) Math.floor(((x + offsetX) - (chunkX * 512)tChunkX) / 32);
tileYpixelX = (int) Math.floor(((yoffsetX +- offsetY)tChunkX - (chunkYtileX * 512)) / 32);32;
pixelXtilePix = (int) ((xpixelX + offsetXpixelY * 32);
- Math.floor(chunkX * 512) - Math.floor(tileX * 32)); try{
pixelYcurrTile = ChunkManager.chunks.get((int) chunkX).get((y + offsetYint) - Math.floor(chunkY * 512) - Math.floortile[(tileY * 32int) tileX][(int); tileY];
}catch(NullPointerException e){
currTile = ChunkManager.chunks.get(chunkX).get(chunkY).tile[tileX][tileY];
FileManager.missingChunk = (int) chunkX + tilePix"v" =+ pixelX(int) chunkY + pixelY"v?";
* 32;
}
try{
if(Core.loadingDone && Core.loggedin){
Game.pixels[screenPix] = SpriteManager.groundSpritesGet(currTile.getGroundID()).pixels[tilePix];
renderGround(screenPix, currTile, tilePix);
if(currTile.moveAbility[pixelX][pixelY]moveAbility[(int)pixelX][(int)pixelY] == 1){
//render order: player object event
if/*if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equipplayer
}
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix]//TODO =render SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];equip
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];}*/
if(SpriteManager.objectSpritesGet(currTile.getObjectID3renderObjects()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] =screenPix, SpriteManager.objectSpritesGet(currTile.getObjectID3(), tilePix).pixels[tilePix];;
if(Core.builderMode){
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGetrenderEventWalkPath(screenPix, currTile.getEventWalkPath(), tilePix).pixels[tilePix];;
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventIDrenderEventID()).pixels[tilePix];
}else{
screenPix, if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] =, SpriteManager.eventSpritesGet(currTile.getEventAlias()tilePix).pixels[tilePix];
}
continue;;
}else{
//render order: object event player
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
if(Core.builderMode){
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}else{
if(SpriteManager.eventSpritesGet(currTile.getEventAliasrenderEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] =screenPix, SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 +, 16tilePix){//wrong
//TODO render player
//TODO render equip
}
continue;;
}
continue;
}catchelse{
//render order: object event player
renderObjects(NullPointerExceptionscreenPix, ecurrTile, tilePix);
if(Core.builderMode){
FileManager if(Core.missingChunkbuilderModePathMode) =renderEventWalkPath(screenPix, chunkX+"v"+chunkY+"v?";currTile, tilePix);
if(Core.builderModeEventMode) renderEventID(screenPix, currTile, tilePix);
}else{
renderEventAlias(screenPix, currTile, tilePix);
}
/*if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}*/
continue;
}
}else if(Core.logedinloggedin){
if(Core.loading_screen){
// TODO Render the loading img and load-bar + current state text
Game.pixels[screenPix] = SpriteManager.guiSprites.get(2).pixels[screenPix];
continue;
}
}else{
if(hover){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(1).pixels[screenPix];
}else{
Game.pixels[screenPix] = SpriteManager.guiSprites.get(0).pixels[screenPix];
}
if(y > 574 && y < 600){//two white fields for id and pw input
if(x > 290 && x < 450 || x > 540 && x < 700){
Game.pixels[screenPix] = 0xffffffff;
}
}
continue;
}
}
}
}
private void renderEventAlias(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
private void renderEventID(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}
private void renderEventWalkPath(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
}
private void renderObjects(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
}
private void renderGround(int screenPix, Tile currTile, int tilePix) {
Game.pixels[screenPix] = SpriteManager.groundSpritesGet(currTile.getGroundID()).pixels[tilePix];
}
public void render(){
for(int y = 0; y < height; y++){
for(int x = 0; x < width; x++){
/* 1. game screen
* 2. loading screen
* 3. login screen
*/
screenPix = x + y * width;
if(Core.loadingDone && Core.logedin){
offsetX = Player.playerX;
offsetY = Player.playerY;
chunkX = (int) Math.floor((x + offsetX) / 512);
chunkY = (int) Math.floor((y + offsetY) / 512);
tileX = (int) Math.floor(((x + offsetX) - (chunkX * 512)) / 32);
tileY = (int) Math.floor(((y + offsetY) - (chunkY * 512)) / 32);
pixelX = (int) ((x + offsetX) - Math.floor(chunkX * 512) - Math.floor(tileX * 32));
pixelY = (int) ((y + offsetY) - Math.floor(chunkY * 512) - Math.floor(tileY * 32));
currTile = ChunkManager.chunks.get(chunkX).get(chunkY).tile[tileX][tileY];
tilePix = pixelX + pixelY * 32;
try{
Game.pixels[screenPix] = SpriteManager.groundSpritesGet(currTile.getGroundID()).pixels[tilePix];
if(currTile.moveAbility[pixelX][pixelY] == 1){
//render order: player object event
if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
if(Core.builderMode){
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}else{
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
continue;
}else{
//render order: object event player
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
if(Core.builderMode){
if(Core.builderModePathMode && SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
if(Core.builderModeEventMode && SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}else{
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}
continue;
}
}catch(NullPointerException e){
FileManager.missingChunk = chunkX+"v"+chunkY+"v?";
}
}else if(Core.logedin){
if(Core.loading_screen){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(2).pixels[screenPix];
continue;
}
}else{
if(hover){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(1).pixels[screenPix];
}else{
Game.pixels[screenPix] = SpriteManager.guiSprites.get(0).pixels[screenPix];
}
if(y > 574 && y < 600){
if(x > 290 && x < 450 || x > 540 && x < 700){
Game.pixels[screenPix] = 0xffffffff;
}
}
continue;
}
}
}
}
private int width, height;
private double chunkX;
private double chunkY;
private double tileX;
private double tileY;
private double pixelX;
private double pixelY;
private int offsetY;
private int offsetX;
private int screenPix;
private int tilePix;
private Tile currTile;
private double tChunkX;
private double tChunkY;
public static int shift = 0;
public static int fightshift = 0;
public static boolean hover = false;
public Screen(int width, int height, Input input) {
this.width = width;
this.height = height;
}
public void render(){
for(int y = 0; y < height; y++){
offsetY = y + Player.playerY;
chunkY = Math.floor(offsetY / 512);
tChunkY = chunkY * 512;
tileY = Math.floor((offsetY - tChunkY) / 32);
pixelY = offsetY - tChunkY - tileY * 32;
for(int x = 0; x < width; x++){
screenPix = x + y * width;
offsetX = x + Player.playerX;
chunkX = Math.floor(offsetX / 512);
tChunkX = chunkX * 512;
tileX = Math.floor((offsetX - tChunkX) / 32);
pixelX = offsetX - tChunkX - tileX * 32;
tilePix = (int) (pixelX + pixelY * 32);
try{
currTile = ChunkManager.chunks.get((int) chunkX).get((int) chunkY).tile[(int) tileX][(int) tileY];
}catch(NullPointerException e){
FileManager.missingChunk = (int) chunkX + "v" + (int) chunkY + "v?";
}
if(Core.loadingDone && Core.loggedin){
renderGround(screenPix, currTile, tilePix);
if(currTile.moveAbility[(int)pixelX][(int)pixelY] == 1){
//render order: player object event
/*if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}*/
renderObjects(screenPix, currTile, tilePix);
if(Core.builderMode){
if(Core.builderModePathMode) renderEventWalkPath(screenPix, currTile, tilePix);
if(Core.builderModeEventMode) renderEventID(screenPix, currTile, tilePix);
}else{
renderEventAlias(screenPix, currTile, tilePix);
}
continue;
}else{
//render order: object event player
renderObjects(screenPix, currTile, tilePix);
if(Core.builderMode){
if(Core.builderModePathMode) renderEventWalkPath(screenPix, currTile, tilePix);
if(Core.builderModeEventMode) renderEventID(screenPix, currTile, tilePix);
}else{
renderEventAlias(screenPix, currTile, tilePix);
}
/*if(x >= Game.WIDTH / 2 - 16 && x <= Game.WIDTH / 2 + 16 && y >= Game.HEIGHT / 2 - 16 && y <= Game.HEIGHT / 2 + 16){//wrong
//TODO render player
//TODO render equip
}*/
continue;
}
}else if(Core.loggedin){
if(Core.loading_screen){
// TODO Render the loading img and load-bar + current state text
Game.pixels[screenPix] = SpriteManager.guiSprites.get(2).pixels[screenPix];
continue;
}
}else{
if(hover){
Game.pixels[screenPix] = SpriteManager.guiSprites.get(1).pixels[screenPix];
}else{
Game.pixels[screenPix] = SpriteManager.guiSprites.get(0).pixels[screenPix];
}
if(y > 574 && y < 600){//two white fields for id and pw input
if(x > 290 && x < 450 || x > 540 && x < 700){
Game.pixels[screenPix] = 0xffffffff;
}
}
continue;
}
}
}
}
private void renderEventAlias(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventAlias()).pixels[tilePix];
}
private void renderEventID(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventID()).pixels[tilePix];
}
private void renderEventWalkPath(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.eventSpritesGet(currTile.getEventWalkPath()).pixels[tilePix];
}
private void renderObjects(int screenPix, Tile currTile, int tilePix) {
if(SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID2()).pixels[tilePix];
if(SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix] != 0xffff00ff) Game.pixels[screenPix] = SpriteManager.objectSpritesGet(currTile.getObjectID3()).pixels[tilePix];
}
private void renderGround(int screenPix, Tile currTile, int tilePix) {
Game.pixels[screenPix] = SpriteManager.groundSpritesGet(currTile.getGroundID()).pixels[tilePix];
}
The code works fine, but the speed stays at a consistent eight frames per second.
Today I fixed some pieces and got four more frames per second.
I figured out that the typecasting (int)
and Math.floor()
consume around 50 fps fps.
Asked by 'Simon Forsberg'Some more context
The code works fine, but the speed stays at a consistent eight frames per second.
Today I fixed some pieces and got four more frames per second.
I figured out that the typecasting (int)
and Math.floor()
consume around 50 fps.
Asked by 'Simon Forsberg'
The code works fine, but the speed stays at a consistent eight frames per second.
Today I fixed some pieces and got four more frames per second.
I figured out that the typecasting (int)
and Math.floor()
consume around 50 fps.
Some more context
- 15.9k
- 4
- 60
- 146