Skip to content

Commit

Permalink
Biome API: Add biome-specific river water
Browse files Browse the repository at this point in the history
  • Loading branch information
paramat committed Apr 19, 2015
1 parent 0c792db commit a615da6
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 19 deletions.
14 changes: 8 additions & 6 deletions src/mg_biome.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ BiomeManager::BiomeManager(IGameDef *gamedef) :
b->m_nodenames.push_back("mapgen_stone");
b->m_nodenames.push_back("mapgen_water_source");
b->m_nodenames.push_back("mapgen_water_source");
b->m_nodenames.push_back("mapgen_river_water_source");
b->m_nodenames.push_back("air");
m_ndef->pendNodeResolve(b, NODE_RESOLVE_DEFERRED);

Expand Down Expand Up @@ -131,11 +132,12 @@ void BiomeManager::clear()

void Biome::resolveNodeNames()
{
getIdFromNrBacklog(&c_top, "mapgen_dirt_with_grass", CONTENT_AIR);
getIdFromNrBacklog(&c_filler, "mapgen_dirt", CONTENT_AIR);
getIdFromNrBacklog(&c_stone, "mapgen_stone", CONTENT_AIR);
getIdFromNrBacklog(&c_water_top, "mapgen_water_source", CONTENT_AIR);
getIdFromNrBacklog(&c_water, "mapgen_water_source", CONTENT_AIR);
getIdFromNrBacklog(&c_dust, "air", CONTENT_IGNORE);
getIdFromNrBacklog(&c_top, "mapgen_dirt_with_grass", CONTENT_AIR);
getIdFromNrBacklog(&c_filler, "mapgen_dirt", CONTENT_AIR);
getIdFromNrBacklog(&c_stone, "mapgen_stone", CONTENT_AIR);
getIdFromNrBacklog(&c_water_top, "mapgen_water_source", CONTENT_AIR);
getIdFromNrBacklog(&c_water, "mapgen_water_source", CONTENT_AIR);
getIdFromNrBacklog(&c_river_water, "mapgen_river_water_source", CONTENT_AIR);
getIdFromNrBacklog(&c_dust, "air", CONTENT_IGNORE);
}

1 change: 1 addition & 0 deletions src/mg_biome.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class Biome : public ObjDef, public NodeResolver {
content_t c_stone;
content_t c_water_top;
content_t c_water;
content_t c_river_water;
content_t c_dust;

s16 depth_top;
Expand Down
27 changes: 14 additions & 13 deletions src/script/lua_api/l_mapgen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -389,22 +389,23 @@ Biome *read_biome_def(lua_State *L, int index, INodeDefManager *ndef)
Biome *b = BiomeManager::create(biometype);

b->name = getstringfield_default(L, index, "name", "");
b->depth_top = getintfield_default(L, index, "depth_top", 1);
b->depth_filler = getintfield_default(L, index, "depth_filler", 2);
b->depth_water_top = getintfield_default(L, index, "depth_water_top", 0);
b->y_min = getintfield_default(L, index, "y_min", -31000);
b->y_max = getintfield_default(L, index, "y_max", 31000);
b->heat_point = getfloatfield_default(L, index, "heat_point", 0.f);
b->humidity_point = getfloatfield_default(L, index, "humidity_point", 0.f);
b->depth_top = getintfield_default(L, index, "depth_top", 1);
b->depth_filler = getintfield_default(L, index, "depth_filler", 2);
b->depth_water_top = getintfield_default(L, index, "depth_water_top", 0);
b->y_min = getintfield_default(L, index, "y_min", -31000);
b->y_max = getintfield_default(L, index, "y_max", 31000);
b->heat_point = getfloatfield_default(L, index, "heat_point", 0.f);
b->humidity_point = getfloatfield_default(L, index, "humidity_point", 0.f);
b->flags = 0; //reserved

std::vector<std::string> &nn = b->m_nodenames;
nn.push_back(getstringfield_default(L, index, "node_top", ""));
nn.push_back(getstringfield_default(L, index, "node_filler", ""));
nn.push_back(getstringfield_default(L, index, "node_stone", ""));
nn.push_back(getstringfield_default(L, index, "node_water_top", ""));
nn.push_back(getstringfield_default(L, index, "node_water", ""));
nn.push_back(getstringfield_default(L, index, "node_dust", ""));
nn.push_back(getstringfield_default(L, index, "node_top", ""));
nn.push_back(getstringfield_default(L, index, "node_filler", ""));
nn.push_back(getstringfield_default(L, index, "node_stone", ""));
nn.push_back(getstringfield_default(L, index, "node_water_top", ""));
nn.push_back(getstringfield_default(L, index, "node_water", ""));
nn.push_back(getstringfield_default(L, index, "node_river_water", ""));
nn.push_back(getstringfield_default(L, index, "node_dust", ""));
ndef->pendNodeResolve(b, NODE_RESOLVE_DEFERRED);

return b;
Expand Down

0 comments on commit a615da6

Please sign in to comment.