23 #include <QLinkedList>
34 Shred(
int shred_x,
int shred_y,
long longi,
long lati);
56 QLinkedList<Active * const>::const_iterator
ShiningBegin()
const;
57 QLinkedList<Active * const>::const_iterator
ShiningEnd()
const;
78 int Lightmap(
int x,
int y,
int z)
const;
79 int FireLight(
int x,
int y,
int z)
const;
80 int SunLight(
int x,
int y,
int z)
const;
91 void SetNewBlock(
int kind,
int sub,
int x,
int y,
int z,
int dir =
UP);
94 static QString
FileName(QString world_name,
long longi,
long lati);
108 static bool InBounds(
int x,
int y,
int z);
112 void Rain(
int kind,
int sub);
113 void Dew (
int kind,
int sub);
130 void RandomDrop(
int num,
int kind,
int sub,
bool on_water =
false);
142 void Hill(
bool dead);
151 void LoadRoom(
int level,
int index = 0);
154 bool Tree(
int x,
int y,
int z,
int height);
158 ushort * l,
float * a)
const;
160 ushort * l,
float * a)
const;
163 void NormalCube(
int x_start,
int y_start,
int z_start,
164 int x_size,
int y_size,
int z_size,
subs);
166 void RainBlock(
int * kind,
int * sub)
const;
static Block * Normal(int sub)
Puts block to coordinates, not activates it.
Shred(int shred_x, int shred_y, long longi, long lati)
QLinkedList< Active *const >::const_iterator ShiningEnd() const
void DropBlock(Block *bloc, bool on_water)
void NormalCube(int x_start, int y_start, int z_start, int x_size, int y_size, int z_size, subs)
static int CoordInShred(const int x)
Get local coordinate.
long GlobalX(int x) const
Make global coordinate from local (in loaded zone).
long Latitude() const
Returns x (column) shred coordinate on world map.
void NormalUnderground(int depth=0, subs sub=SOIL)
void PhysEventsFrequent()
shred_type GetTypeOfShred() const
World provides global physics and shred connection.
QLinkedList< Active *const >::const_iterator ShiningBegin() const
bool SetFireLight(int x, int y, int z, int level)
void CoverWith(int kind, int sub)
void Water(subs sub=WATER)
QLinkedList< Active * > activeListFrequent
void SetBlockNoCheck(Block *, int x, int y, int z)
Puts block to coordinates xyz and activates it.
QLinkedList< Falling * > fallList
void RemoveAllFireLight()
uchar lightMap[SHRED_WIDTH][SHRED_WIDTH][HEIGHT]
static QString FileName(QString world_name, long longi, long lati)
Shred & operator=(Shred &)=delete
void PutBlock(Block *const block, const int x, int y, int z)
void SetBlock(Block *block, int x, int y, int z)
Removes last block at xyz, then SetBlock, then makes block normal.
void LoadRoom(int level, int index=0)
bool SetSunLight(int x, int y, int z, int level)
void RemShining(Active *)
Block * blocks[SHRED_WIDTH][SHRED_WIDTH][HEIGHT]
static bool InBounds(int x, int y, int z)
Lowest nullstone and sky are not in bounds.
void RainBlock(int *kind, int *sub) const
void AddToDelete(Active *)
QLinkedList< Active *const > shiningList
int FlatUndeground(int depth=0)
void SetAllLightMapNull()
void Unregister(Active *)
static QString ShredTypeName(shred_type)
void ShineAll()
Makes all shining blocks of shred shine.
int SunLight(int x, int y, int z) const
int LightLevel(int x, int y, int z) const
Shred * GetShredMemory() const
void SetLightmap(int x, int y, int z, int level)
void RegisterInit(Active *)
void Rain(int kind, int sub)
void ShredLandAmplitudeAndLevel(long longi, long lati, ushort *l, float *a) const
Special land generation.
int FireLight(int x, int y, int z) const
long Longitude() const
Returns y (line) shred coordinate on world map.
void ChaosShred()
For testing purposes.
long GlobalY(int y) const
Block * GetBlock(const int x, const int y, const int z) const
int CountShredTypeAround(int type) const
bool Tree(int x, int y, int z, int height)
Block combinations section (trees, buildings, etc):
static int CoordOfShred(const int x)
Get shred coordinate in loaded zone (from 0 to numShreds).
void AddShining(Active *)
void ShredNominalAmplitudeAndLevel(char shred_type, ushort *l, float *a) const
int Lightmap(int x, int y, int z) const
void RandomDrop(int num, int kind, int sub, bool on_water=false)
Puts num things(kind-sub) in random places on shred surface.
Block without special physics and attributes.
QLinkedList< Active * > activeListAll
Contains all active blocks.
void SetNewBlock(int kind, int sub, int x, int y, int z, int dir=UP)
void Dew(int kind, int sub)