Updated to-do list and added the give_initial_stuff setting for testing

This commit is contained in:
Perttu Ahola 2011-04-22 10:48:40 +03:00
parent b36e5c0508
commit bbe47f845b
4 changed files with 35 additions and 36 deletions

@ -54,6 +54,8 @@
#enable_damage = false
#give_initial_stuff = false
# Player and object positions are sent at intervals specified by this
#objectdata_inverval = 0.2

@ -51,11 +51,10 @@ void set_default_settings()
g_settings.setDefault("fast_move", "false");
// Server stuff
g_settings.setDefault("fast_move", "false");
g_settings.setDefault("enable_experimental", "false");
g_settings.setDefault("creative_mode", "false");
g_settings.setDefault("enable_damage", "false"); //TODO: Set to true
g_settings.setDefault("give_initial_stuff", "false");
g_settings.setDefault("objectdata_interval", "0.2");
g_settings.setDefault("active_object_range", "2");

@ -21,27 +21,17 @@ with this program; if not, write to the Free Software Foundation, Inc.,
=============================== NOTES ==============================
NOTE: Things starting with TODO are sometimes only suggestions.
NOTE: VBO cannot be turned on for fast-changing stuff because there
is an apparanet memory leak in irrlicht when using it (not sure)
- It is not a memory leak but some kind of a buffer.
NOTE: iostream.imbue(std::locale("C")) is very slow
NOTE: Global locale is now set at initialization
NOTE: If VBO (EHM_STATIC) is used, remember to explicitly free the
hardware buffer (it is not freed automatically)
Random suggeestions (AKA very old suggestions that haven't been done):
----------------------------------------------------------------------
SUGG: Fix address to be ipv6 compatible
NOTE: When a new sector is generated, it may change the ground level
of it's and it's neighbors border that two blocks that are
above and below each other and that are generated before and
after the sector heightmap generation (order doesn't matter),
can have a small gap between each other at the border.
SUGG: Use same technique for sector heightmaps as what we're
using for UnlimitedHeightmap? (getting all neighbors
when generating)
SUGG: If player is on ground, mainly fetch ground-level blocks
SUGG: Expose Connection's seqnums and ACKs to server and client.
@ -67,11 +57,6 @@ SUGG: Make a PACKET_COMBINED which contains many subpackets. Utilize
sometimes very big by themselves
- This might not give much network performance gain though.
SUGG: Split MapBlockObject serialization to to-client and to-disk
- This will allow saving ages of rats on disk but not sending
them to clients
- Not applicable. MapBlockObjects will be removed in the future.
SUGG: Precalculate lighting translation table at runtime (at startup)
- This is not doable because it is currently hand-made and not
based on some mathematical function.
@ -159,7 +144,7 @@ Graphics:
---------
SUGG: Combine MapBlock's face caches to so big pieces that VBO
gets used
can be used
- That is >500 vertices
- This is not easy; all the MapBlocks close to the player would
still need to be drawn separately and combining the blocks
@ -171,14 +156,11 @@ SUGG: Make fetching sector's blocks more efficient when rendering
TODO: Flowing water animation
SUGG: Combine meshes to bigger ones in ClientMap and set them EHM_STATIC
SUGG: Draw cubes in inventory directly with 3D drawing commands, so that
animating them is easier.
SUGG: Option for enabling proper alpha channel for textures
TODO: Make all water not backside culled
TODO: A setting for enabling bilinear filtering for textures
Configuration:
--------------
@ -224,6 +206,7 @@ TODO: Get rid of MapBlockObjects and use ActiveObjects
SUGG: MovingObject::move and Player::move are basically the same.
combine them.
- NOTE: Player::move is more up-to-date.
- NOTE: There is a simple move implementation now in collision.{h,cpp}
Map:
----
@ -233,6 +216,7 @@ TODO: Mineral and ground material properties
some formula, as well as tool strengths
TODO: Flowing water to actually contain flow direction information
- There is a space for this - it just has to be implemented.
SUGG: Erosion simulation at map generation time
- Simulate water flows, which would carve out dirt fast and

@ -4082,13 +4082,33 @@ Player *Server::emergePlayer(const char *name, const char *password,
{
setCreativeInventory(player);
}
else
else if(g_settings.getBool("give_initial_stuff"))
{
/*{
InventoryItem *item = new ToolItem("WPick", 32000);
{
InventoryItem *item = new ToolItem("SteelPick", 0);
void* r = player->inventory.addItem("main", item);
assert(r == NULL);
}*/
}
{
InventoryItem *item = new MaterialItem(CONTENT_TORCH, 99);
void* r = player->inventory.addItem("main", item);
assert(r == NULL);
}
{
InventoryItem *item = new ToolItem("SteelAxe", 0);
void* r = player->inventory.addItem("main", item);
assert(r == NULL);
}
{
InventoryItem *item = new ToolItem("SteelShovel", 0);
void* r = player->inventory.addItem("main", item);
assert(r == NULL);
}
{
InventoryItem *item = new MaterialItem(CONTENT_COBBLE, 99);
void* r = player->inventory.addItem("main", item);
assert(r == NULL);
}
/*{
InventoryItem *item = new MaterialItem(CONTENT_MESE, 6);
void* r = player->inventory.addItem("main", item);
@ -4119,13 +4139,7 @@ Player *Server::emergePlayer(const char *name, const char *password,
void* r = player->inventory.addItem("main", item);
assert(r == NULL);
}*/
/*// Give some lights
{
InventoryItem *item = new MaterialItem(CONTENT_TORCH, 999);
bool r = player->inventory.addItem("main", item);
assert(r == true);
}
// and some signs
/*// and some signs
for(u16 i=0; i<4; i++)
{
InventoryItem *item = new MapBlockObjectItem("Sign Example text");