1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-11-11 03:45:01 -05:00

commit before messing with water

This commit is contained in:
Perttu Ahola 2011-01-17 11:16:41 +02:00
parent 3891bc43e0
commit bd26be262d
2 changed files with 17 additions and 16 deletions

View File

@ -155,10 +155,6 @@ TODO: - Players to be saved on disk, with inventory
TODO: Players to be saved as text in map/players/<name> TODO: Players to be saved as text in map/players/<name>
TODO: Player inventory to be saved on disk TODO: Player inventory to be saved on disk
TODO: Proper handling of spawning place (try to find something that
is not in the middle of an ocean (some land to stand on at
least) and save it in map config.
TODO: Copy the text of the last picked sign to inventory in creative TODO: Copy the text of the last picked sign to inventory in creative
mode mode
@ -168,24 +164,26 @@ TODO: Check what goes wrong with caching map to disk (Kray)
TODO: When server sees that client is removing an inexistent block or TODO: When server sees that client is removing an inexistent block or
adding a block to an existent position, resend the MapBlock. adding a block to an existent position, resend the MapBlock.
TODO: Generate map from the area the client is looking at TODO: Save players with inventories to disk
TODO: Make water more like in minecraft
Objects: Objects:
TODO: Better handling of objects and mobs TODO: Better handling of objects and mobs
- Scripting? - Scripting?
- There has to be some way to do it with less spaghetti code - There has to be some way to do it with less messy code
- Make separate classes for client and server - Make separate classes for client and server
- Client should not discriminate between blocks, server should - Client should not discriminate between blocks, server should
- Make other players utilize the same framework - Make other players utilize the same framework
- This is also needed for objects that don't get sent to client - This is also needed for objects that don't get sent to client
but are used for triggers etc but are used for triggers etc
TODO: There has to be some better way to handle static objects than to
send them all the time. This affects signs and item objects.
SUGG: Signs could be done in the same way as torches. For this, blocks SUGG: Signs could be done in the same way as torches. For this, blocks
need an additional metadata field for the texts need an additional metadata field for the texts
- This is also needed for item container chests - This is also needed for item container chests
TODO: There has to be some better way to handle static objects than to
send them all the time. This affects signs and item objects.
Block object server side: Block object server side:
- A "near blocks" buffer, in which some nearby blocks are stored. - A "near blocks" buffer, in which some nearby blocks are stored.
@ -200,12 +198,8 @@ Block object server side:
Map generator: Map generator:
TODO: There are some lighting-related todos and fixmes in NOTE: There are some lighting-related todos and fixmes in
ServerMap::emergeBlock ServerMap::emergeBlock. And there always will be. 8)
TODO: When generating a block, check that there is no sunlight
below the block if the bottom of the block doesn't have
sunlight. If it has, add it to the invalid lighting list.
TODO: Map generator version 2 TODO: Map generator version 2
- Create surface areas based on central points; a given point's - Create surface areas based on central points; a given point's

View File

@ -858,7 +858,7 @@ void MapBlock::updateMesh(u32 daynight_ratio)
If there is a block above, continues from it. If there is a block above, continues from it.
If there is no block above, assumes there is sunlight, unless If there is no block above, assumes there is sunlight, unless
is_underground is set. is_underground is set or highest node is water.
At the moment, all sunlighted nodes are added to light_sources. At the moment, all sunlighted nodes are added to light_sources.
- SUGG: This could be optimized - SUGG: This could be optimized
@ -903,7 +903,14 @@ bool MapBlock::propagateSunlight(core::map<v3s16, bool> & light_sources,
{ {
no_sunlight = true; no_sunlight = true;
} }
else
{
MapNode n = getNode(v3s16(x, MAP_BLOCKSIZE-1, z));
if(n.d == CONTENT_WATER || n.d == CONTENT_OCEAN)
{
no_sunlight = true;
}
}
// NOTE: As of now, it just would make everything dark. // NOTE: As of now, it just would make everything dark.
// No sunlight here // No sunlight here
//no_sunlight = true; //no_sunlight = true;