Crossfire JXClient, Trunk
CfMapPatch.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.map;
24 
26 import org.jetbrains.annotations.NotNull;
27 import org.jetbrains.annotations.Nullable;
28 
33 public class CfMapPatch {
34 
38  public static final int SIZE_LOG = 5;
39 
43  public static final int SIZE = 1<<SIZE_LOG;
44 
49  @NotNull
50  private final CfMapSquare @NotNull [] @NotNull [] square = new CfMapSquare[SIZE][SIZE];
51 
60  public CfMapPatch(@NotNull final CfMap map, final int x0, final int y0) {
61  for (int y = 0; y < SIZE; y++) {
62  for (int x = 0; x < SIZE; x++) {
63  square[x][y] = new CfMapSquare(map, x0+x, y0+y);
64  }
65  }
66  }
67 
73  public void dirty(final int x, final int y) {
74  square[x][y].dirty();
75  }
76 
83  public void clearSquare(final int x, final int y) {
84  square[x][y].clear();
85  }
86 
94  public boolean setDarkness(final int x, final int y, final int darkness) {
95  return square[x][y].setDarkness(darkness);
96  }
97 
105  public int getDarkness(final int x, final int y) {
106  return square[x][y].getDarkness();
107  }
108 
118  public int setSmooth(final int x, final int y, final int layer, final int smooth) {
119  return square[x][y].setSmooth(layer, smooth);
120  }
121 
129  public int getSmooth(final int x, final int y, final int layer) {
130  return square[x][y].getSmooth(layer);
131  }
132 
139  public void setColor(final int x, final int y, final int color) {
140  square[x][y].setColor(color);
141  }
142 
149  public int getColor(final int x, final int y) {
150  return square[x][y].getColor();
151  }
152 
160  @Nullable
161  public Face getFace(final int x, final int y, final int layer) {
162  return square[x][y].getFace(layer);
163  }
164 
176  public void setHeadMapSquare(final int x, final int y, final int layer, @Nullable final CfMapSquare mapSquare, final boolean setAlways) {
177  square[x][y].setHeadMapSquare(layer, mapSquare, setAlways);
178  }
179 
188  @Nullable
189  public CfMapSquare getHeadMapSquare(final int x, final int y, final int layer) {
190  return square[x][y].getHeadMapSquare(layer);
191  }
192 
199  public boolean isFogOfWar(final int x, final int y) {
200  return square[x][y].isFogOfWar();
201  }
202 
209  public boolean resetFogOfWar(final int x, final int y) {
210  return square[x][y].resetFogOfWar();
211  }
212 
219  @NotNull
220  public CfMapSquare getSquare(final int x, final int y) {
221  return square[x][y];
222  }
223 
224 }
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.map.CfMapPatch.getFace
Face getFace(final int x, final int y, final int layer)
Definition: CfMapPatch.java:161
com.realtime.crossfire.jxclient.map.CfMapSquare.getSmooth
int getSmooth(final int layer)
Definition: CfMapSquare.java:235
com.realtime.crossfire.jxclient.map.CfMapPatch.getColor
int getColor(final int x, final int y)
Definition: CfMapPatch.java:149
com.realtime.crossfire.jxclient.map.CfMapSquare.dirty
void dirty()
Definition: CfMapSquare.java:153
com.realtime.crossfire.jxclient.map.CfMapSquare.setDarkness
boolean setDarkness(final int darkness)
Definition: CfMapSquare.java:192
com.realtime.crossfire.jxclient.map.CfMap
Definition: CfMap.java:46
com.realtime.crossfire.jxclient.map.CfMapPatch.getSquare
CfMapSquare getSquare(final int x, final int y)
Definition: CfMapPatch.java:220
com.realtime.crossfire.jxclient.map.CfMapPatch.getHeadMapSquare
CfMapSquare getHeadMapSquare(final int x, final int y, final int layer)
Definition: CfMapPatch.java:189
com.realtime.crossfire.jxclient.faces
Definition: AbstractFaceQueue.java:23
com.realtime.crossfire.jxclient.map.CfMapPatch.setDarkness
boolean setDarkness(final int x, final int y, final int darkness)
Definition: CfMapPatch.java:94
com.realtime.crossfire.jxclient.map.CfMapSquare.getDarkness
int getDarkness()
Definition: CfMapSquare.java:207
com.realtime.crossfire.jxclient.map.CfMapPatch.setHeadMapSquare
void setHeadMapSquare(final int x, final int y, final int layer, @Nullable final CfMapSquare mapSquare, final boolean setAlways)
Definition: CfMapPatch.java:176
com.realtime.crossfire.jxclient.map.CfMapPatch.getDarkness
int getDarkness(final int x, final int y)
Definition: CfMapPatch.java:105
com.realtime.crossfire.jxclient.map.CfMapPatch
Definition: CfMapPatch.java:33
com.realtime.crossfire.jxclient.map.CfMapPatch.CfMapPatch
CfMapPatch(@NotNull final CfMap map, final int x0, final int y0)
Definition: CfMapPatch.java:60
com.realtime.crossfire.jxclient.map.CfMapPatch.SIZE
static final int SIZE
Definition: CfMapPatch.java:43
com.realtime.crossfire.jxclient.map.CfMapPatch.isFogOfWar
boolean isFogOfWar(final int x, final int y)
Definition: CfMapPatch.java:199
com.realtime.crossfire.jxclient.map.CfMapPatch.SIZE_LOG
static final int SIZE_LOG
Definition: CfMapPatch.java:38
com.realtime.crossfire.jxclient.map.CfMapSquare.setSmooth
int setSmooth(final int layer, final int smooth)
Definition: CfMapSquare.java:218
com.realtime.crossfire.jxclient.map.CfMapSquare.clear
void clear()
Definition: CfMapSquare.java:161
com.realtime.crossfire.jxclient.map.CfMapSquare.resetFogOfWar
boolean resetFogOfWar()
Definition: CfMapSquare.java:330
com.realtime.crossfire.jxclient.map.CfMapSquare.setHeadMapSquare
void setHeadMapSquare(final int layer, @Nullable final CfMapSquare mapSquare, final boolean setAlways)
Definition: CfMapSquare.java:291
com.realtime.crossfire.jxclient.map.CfMapSquare.getFace
Face getFace(final int layer)
Definition: CfMapSquare.java:278
com.realtime.crossfire.jxclient.map.CfMapPatch.square
final CfMapSquare[][] square
Definition: CfMapPatch.java:50
com.realtime.crossfire.jxclient.map.CfMapSquare.getHeadMapSquare
CfMapSquare getHeadMapSquare(final int layer)
Definition: CfMapSquare.java:307
com.realtime.crossfire.jxclient.map.CfMapPatch.setSmooth
int setSmooth(final int x, final int y, final int layer, final int smooth)
Definition: CfMapPatch.java:118
com.realtime.crossfire
com.realtime
com
com.realtime.crossfire.jxclient.map.CfMapPatch.resetFogOfWar
boolean resetFogOfWar(final int x, final int y)
Definition: CfMapPatch.java:209
com.realtime.crossfire.jxclient.map.CfMapSquare.isFogOfWar
boolean isFogOfWar()
Definition: CfMapSquare.java:322
com.realtime.crossfire.jxclient.map.CfMapSquare.getColor
int getColor()
Definition: CfMapSquare.java:255
com.realtime.crossfire.jxclient.map.CfMapPatch.setColor
void setColor(final int x, final int y, final int color)
Definition: CfMapPatch.java:139
com.realtime.crossfire.jxclient.faces.Face
Definition: Face.java:37
com.realtime.crossfire.jxclient.map.CfMapSquare
Definition: CfMapSquare.java:40
com.realtime.crossfire.jxclient.map.CfMapPatch.getSmooth
int getSmooth(final int x, final int y, final int layer)
Definition: CfMapPatch.java:129
com.realtime.crossfire.jxclient.map.CfMapPatch.dirty
void dirty(final int x, final int y)
Definition: CfMapPatch.java:73
com.realtime.crossfire.jxclient.map.CfMapPatch.clearSquare
void clearSquare(final int x, final int y)
Definition: CfMapPatch.java:83
com.realtime.crossfire.jxclient.map.CfMapSquare.setColor
void setColor(final int color)
Definition: CfMapSquare.java:243