removed alternative name "pressure" from param2
parent
de3fdba568
commit
d3a6a12bae
23
src/main.cpp
23
src/main.cpp
|
@ -236,7 +236,7 @@ Map:
|
|||
NOTE: There are some lighting-related todos and fixmes in
|
||||
ServerMap::emergeBlock. And there always will be. 8)
|
||||
|
||||
TODO: Map generator version 2
|
||||
FEATURE: Map generator version 2
|
||||
- Create surface areas based on central points; a given point's
|
||||
area type is given by the nearest central point
|
||||
- Separate points for heightmap, caves, plants and minerals?
|
||||
|
@ -247,17 +247,32 @@ TODO: Map generator version 2
|
|||
- Create a system that allows a huge amount of different "map
|
||||
generator modules/filters"
|
||||
|
||||
FEATURE: The map could be generated procedually:
|
||||
- This would need the map to be generated in larger pieces
|
||||
- How large? How do they connect to each other?
|
||||
* Make the stone level with a heightmap
|
||||
* Carve out stuff in the stone
|
||||
* Dump dirt all around, and simulate it falling off steep
|
||||
places
|
||||
* Erosion simulation at map generation time
|
||||
- Simulate water flows, which would carve out dirt fast and
|
||||
then turn stone into gravel and sand and relocate it.
|
||||
- How about relocating minerals, too? Coal and gold in
|
||||
downstream sand and gravel would be kind of cool
|
||||
- This would need a better way of handling minerals, mainly
|
||||
to have mineral content as a separate field
|
||||
- Simulate rock falling from cliffs when water has removed
|
||||
enough solid rock from the bottom
|
||||
|
||||
TODO: Change AttributeList to split the area into smaller sections so
|
||||
that searching won't be as heavy.
|
||||
TODO: Change AttributeList to be 2D, as it would be too slow to search
|
||||
in 3D fields anyway.
|
||||
|
||||
TODO: Remove HMParams
|
||||
|
||||
TODO: Flowing water to actually contain flow direction information
|
||||
|
||||
TODO: Remove duplicate lighting implementation from Map (leave
|
||||
VoxelManipulator)
|
||||
VoxelManipulator, which is faster)
|
||||
|
||||
Doing now:
|
||||
----------
|
||||
|
|
|
@ -1804,7 +1804,7 @@ ServerMap::ServerMap(std::string savedir, HMParams hmp, MapParams mp):
|
|||
float randmax = 0;
|
||||
float randfactor = 0;
|
||||
|
||||
if(myrand()%5 == 0)
|
||||
/*if(myrand()%5 == 0)
|
||||
{
|
||||
baseheight = 100;
|
||||
randmax = 50;
|
||||
|
@ -1833,7 +1833,11 @@ ServerMap::ServerMap(std::string savedir, HMParams hmp, MapParams mp):
|
|||
baseheight = -3;
|
||||
randmax = 20;
|
||||
randfactor = 0.5;
|
||||
}
|
||||
}*/
|
||||
|
||||
baseheight = 0;
|
||||
randmax = 15;
|
||||
randfactor = 0.63;
|
||||
|
||||
list_baseheight->addPoint(p, Attribute(baseheight));
|
||||
list_randmax->addPoint(p, Attribute(randmax));
|
||||
|
|
|
@ -1504,13 +1504,13 @@ void MapBlock::serialize(std::ostream &os, u8 version)
|
|||
|
||||
if(version >= 10)
|
||||
{
|
||||
// Get and compress pressure
|
||||
SharedBuffer<u8> pressuredata(nodecount);
|
||||
// Get and compress param2
|
||||
SharedBuffer<u8> param2data(nodecount);
|
||||
for(u32 i=0; i<nodecount; i++)
|
||||
{
|
||||
pressuredata[i] = data[i].pressure;
|
||||
param2data[i] = data[i].param2;
|
||||
}
|
||||
compress(pressuredata, os, version);
|
||||
compress(param2data, os, version);
|
||||
}
|
||||
}
|
||||
// All other versions (newest)
|
||||
|
@ -1544,10 +1544,10 @@ void MapBlock::serialize(std::ostream &os, u8 version)
|
|||
databuf[i+nodecount] = data[i].param;
|
||||
}
|
||||
|
||||
// Get pressure
|
||||
// Get param2
|
||||
for(u32 i=0; i<nodecount; i++)
|
||||
{
|
||||
databuf[i+nodecount*2] = data[i].pressure;
|
||||
databuf[i+nodecount*2] = data[i].param2;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1621,7 +1621,7 @@ void MapBlock::deSerialize(std::istream &is, u8 version)
|
|||
|
||||
if(version >= 10)
|
||||
{
|
||||
// Uncompress and set pressure data
|
||||
// Uncompress and set param2 data
|
||||
std::ostringstream os(std::ios_base::binary);
|
||||
decompress(is, os, version);
|
||||
std::string s = os.str();
|
||||
|
@ -1630,7 +1630,7 @@ void MapBlock::deSerialize(std::istream &is, u8 version)
|
|||
("MapBlock::deSerialize: invalid format");
|
||||
for(u32 i=0; i<s.size(); i++)
|
||||
{
|
||||
data[i].pressure = s[i];
|
||||
data[i].param2 = s[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1662,10 +1662,10 @@ void MapBlock::deSerialize(std::istream &is, u8 version)
|
|||
{
|
||||
data[i].param = s[i+nodecount];
|
||||
}
|
||||
// Set pressure
|
||||
// Set param2
|
||||
for(u32 i=0; i<nodecount; i++)
|
||||
{
|
||||
data[i].pressure = s[i+nodecount*2];
|
||||
data[i].param2 = s[i+nodecount*2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -375,11 +375,6 @@ struct MapNode
|
|||
{
|
||||
u8 param2;
|
||||
|
||||
/*
|
||||
Pressure for liquids
|
||||
*/
|
||||
u8 pressure;
|
||||
|
||||
/*
|
||||
Direction for torches and other stuff.
|
||||
Format is freeform. e.g. packDir or encode_dirs can be used.
|
||||
|
@ -392,18 +387,18 @@ struct MapNode
|
|||
*this = n;
|
||||
}
|
||||
|
||||
MapNode(u8 data=CONTENT_AIR, u8 a_param=0, u8 a_pressure=0)
|
||||
MapNode(u8 data=CONTENT_AIR, u8 a_param=0, u8 a_param2=0)
|
||||
{
|
||||
d = data;
|
||||
param = a_param;
|
||||
pressure = a_pressure;
|
||||
param2 = a_param2;
|
||||
}
|
||||
|
||||
bool operator==(const MapNode &other)
|
||||
{
|
||||
return (d == other.d
|
||||
&& param == other.param
|
||||
&& pressure == other.pressure);
|
||||
&& param2 == other.param2);
|
||||
}
|
||||
|
||||
bool light_propagates()
|
||||
|
@ -557,7 +552,7 @@ struct MapNode
|
|||
{
|
||||
dest[0] = d;
|
||||
dest[1] = param;
|
||||
dest[2] = pressure;
|
||||
dest[2] = param2;
|
||||
}
|
||||
}
|
||||
void deSerialize(u8 *source, u8 version)
|
||||
|
@ -587,7 +582,7 @@ struct MapNode
|
|||
{
|
||||
d = source[0];
|
||||
param = source[1];
|
||||
pressure = source[2];
|
||||
param2 = source[2];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
39
src/tile.cpp
39
src/tile.cpp
|
@ -23,51 +23,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include "main.h"
|
||||
#include <string>
|
||||
|
||||
// A mapping from tiles to paths of textures
|
||||
|
||||
/*const char * g_tile_texture_filenames[TILES_COUNT] =
|
||||
{
|
||||
NULL,
|
||||
"stone.png",
|
||||
"water.png",
|
||||
"grass.png",
|
||||
"tree.png",
|
||||
"leaves.png",
|
||||
"grass_footsteps.png",
|
||||
"mese.png",
|
||||
"mud.png",
|
||||
"tree_top.png",
|
||||
"mud.png_sidegrass",
|
||||
"cloud.png",
|
||||
"coalstone.png",
|
||||
"wood.png",
|
||||
};*/
|
||||
|
||||
/*
|
||||
These can either be real paths or generated names of preloaded
|
||||
textures (like "mud.png_sidegrass")
|
||||
*/
|
||||
std::string g_tile_texture_paths[TILES_COUNT];
|
||||
|
||||
/*std::string g_tile_texture_path_strings[TILES_COUNT];
|
||||
const char * g_tile_texture_paths[TILES_COUNT] = {0};
|
||||
|
||||
void init_tile_texture_paths()
|
||||
{
|
||||
for(s32 i=0; i<TILES_COUNT; i++)
|
||||
{
|
||||
const char *filename = g_tile_texture_filenames[i];
|
||||
|
||||
if(filename != NULL)
|
||||
{
|
||||
g_tile_texture_path_strings[i] =
|
||||
porting::getDataPath(filename);
|
||||
g_tile_texture_paths[i] =
|
||||
g_tile_texture_path_strings[i].c_str();
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
const char * tile_texture_path_get(u32 i)
|
||||
{
|
||||
assert(i < TILES_COUNT);
|
||||
|
|
|
@ -96,7 +96,7 @@ void VoxelManipulator::print(std::ostream &o, VoxelPrintMode mode)
|
|||
{
|
||||
c = 'X';
|
||||
u8 m = m_data[m_area.index(x,y,z)].d;
|
||||
u8 pr = m_data[m_area.index(x,y,z)].pressure;
|
||||
u8 pr = m_data[m_area.index(x,y,z)].param2;
|
||||
if(mode == VOXELPRINT_MATERIAL)
|
||||
{
|
||||
if(m <= 9)
|
||||
|
|
Loading…
Reference in New Issue