updated menu a bit, and some other small fixes

This commit is contained in:
Perttu Ahola 2011-04-24 15:37:41 +03:00
parent ba88685fab
commit c9967d6d07
9 changed files with 71 additions and 5 deletions

@ -9,7 +9,7 @@ project(minetest)
set(VERSION_MAJOR 0) set(VERSION_MAJOR 0)
set(VERSION_MINOR 2) set(VERSION_MINOR 2)
set(VERSION_PATCH 20110423_0_test) set(VERSION_PATCH 20110424_0)
set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
# Configuration options # Configuration options

@ -3,8 +3,9 @@ Minetest-c55 changelog
This should contain all the major changes. This should contain all the major changes.
For minor stuff, refer to the commit log of the repository. For minor stuff, refer to the commit log of the repository.
X: 2011-04-24:
- Smooth lighting with simple ambient occlusion - Smooth lighting with simple ambient occlusion
- Updated main menu
2011-04-23_0_test: 2011-04-23_0_test:
- Small bug fixes - Small bug fixes

@ -683,7 +683,7 @@ void Oerkki1CAO::step(float dtime, ClientEnvironment *env)
v2f playerpos_2d(playerpos.X,playerpos.Z); v2f playerpos_2d(playerpos.X,playerpos.Z);
v2f objectpos_2d(m_position.X,m_position.Z); v2f objectpos_2d(m_position.X,m_position.Z);
if(fabs(objectpos_2d.Y - playerpos_2d.Y) < 2.0*BS && if(fabs(m_position.Y - playerpos.Y) < 3.0*BS &&
objectpos_2d.getDistanceFrom(playerpos_2d) < 1.0*BS) objectpos_2d.getDistanceFrom(playerpos_2d) < 1.0*BS)
{ {
if(m_attack_interval.step(dtime, 0.5)) if(m_attack_interval.step(dtime, 0.5))

@ -65,7 +65,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
std::wstring text_port; std::wstring text_port;
bool creative_mode; bool creative_mode;
bool enable_damage; bool enable_damage;
bool fancy_trees;
bool smooth_lighting;
// Client options
{ {
gui::IGUIElement *e = getElementFromId(258); gui::IGUIElement *e = getElementFromId(258);
if(e != NULL) if(e != NULL)
@ -87,6 +90,22 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
else else
text_port = m_data->port; text_port = m_data->port;
} }
{
gui::IGUIElement *e = getElementFromId(263);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
fancy_trees = ((gui::IGUICheckBox*)e)->isChecked();
else
fancy_trees = m_data->fancy_trees;
}
{
gui::IGUIElement *e = getElementFromId(262);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
smooth_lighting = ((gui::IGUICheckBox*)e)->isChecked();
else
smooth_lighting = m_data->smooth_lighting;
}
// Server options
{ {
gui::IGUIElement *e = getElementFromId(259); gui::IGUIElement *e = getElementFromId(259);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX) if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
@ -187,6 +206,18 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
const wchar_t *text = L"Leave address blank to start a local server."; const wchar_t *text = L"Leave address blank to start a local server.";
Environment->addStaticText(text, rect, false, true, this, -1); Environment->addStaticText(text, rect, false, true, this, -1);
} }
{
core::rect<s32> rect(0, 0, 250, 30);
rect += topleft_client + v2s32(40, 150);
Environment->addCheckBox(fancy_trees, rect, this, 263,
L"Fancy trees");
}
{
core::rect<s32> rect(0, 0, 250, 30);
rect += topleft_client + v2s32(40, 150+30);
Environment->addCheckBox(smooth_lighting, rect, this, 262,
L"Smooth Lighting");
}
// Start game button // Start game button
{ {
core::rect<s32> rect(0, 0, 180, 30); core::rect<s32> rect(0, 0, 180, 30);
@ -285,6 +316,16 @@ void GUIMainMenu::acceptInput()
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX) if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
m_data->enable_damage = ((gui::IGUICheckBox*)e)->isChecked(); m_data->enable_damage = ((gui::IGUICheckBox*)e)->isChecked();
} }
{
gui::IGUIElement *e = getElementFromId(262);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
m_data->smooth_lighting = ((gui::IGUICheckBox*)e)->isChecked();
}
{
gui::IGUIElement *e = getElementFromId(263);
if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
m_data->fancy_trees = ((gui::IGUICheckBox*)e)->isChecked();
}
m_accepted = true; m_accepted = true;
} }

@ -30,14 +30,25 @@ with this program; if not, write to the Free Software Foundation, Inc.,
struct MainMenuData struct MainMenuData
{ {
MainMenuData(): MainMenuData():
// Client opts
fancy_trees(false),
smooth_lighting(false),
// Server opts
creative_mode(false), creative_mode(false),
enable_damage(false), enable_damage(false),
// Actions
delete_map(false) delete_map(false)
{} {}
// These are in the native format of the gui elements // These are in the native format of the gui elements
// Client options
std::wstring address; std::wstring address;
std::wstring port; std::wstring port;
std::wstring name; std::wstring name;
bool fancy_trees;
bool smooth_lighting;
// Server options
bool creative_mode; bool creative_mode;
bool enable_damage; bool enable_damage;
// If map deletion is requested, this is set to true // If map deletion is requested, this is set to true

@ -1352,6 +1352,8 @@ int main(int argc, char *argv[])
menudata.address = narrow_to_wide(address); menudata.address = narrow_to_wide(address);
menudata.name = narrow_to_wide(playername); menudata.name = narrow_to_wide(playername);
menudata.port = narrow_to_wide(itos(port)); menudata.port = narrow_to_wide(itos(port));
menudata.fancy_trees = g_settings.getBool("new_style_leaves");
menudata.smooth_lighting = g_settings.getBool("smooth_lighting");
menudata.creative_mode = g_settings.getBool("creative_mode"); menudata.creative_mode = g_settings.getBool("creative_mode");
menudata.enable_damage = g_settings.getBool("enable_damage"); menudata.enable_damage = g_settings.getBool("enable_damage");
@ -1413,6 +1415,8 @@ int main(int argc, char *argv[])
int newport = stoi(wide_to_narrow(menudata.port)); int newport = stoi(wide_to_narrow(menudata.port));
if(newport != 0) if(newport != 0)
port = newport; port = newport;
g_settings.set("new_style_leaves", itos(menudata.fancy_trees));
g_settings.set("smooth_lighting", itos(menudata.smooth_lighting));
g_settings.set("creative_mode", itos(menudata.creative_mode)); g_settings.set("creative_mode", itos(menudata.creative_mode));
g_settings.set("enable_damage", itos(menudata.enable_damage)); g_settings.set("enable_damage", itos(menudata.enable_damage));
@ -1439,6 +1443,9 @@ int main(int argc, char *argv[])
if(device->run() == false) if(device->run() == false)
break; break;
// Initialize mapnode again to enable changed graphics settings
init_mapnode();
/* /*
Run game Run game
*/ */

@ -1794,6 +1794,7 @@ ServerMap::ServerMap(std::string savedir):
Map(dout_server), Map(dout_server),
m_seed(0) m_seed(0)
{ {
dstream<<__FUNCTION_NAME<<std::endl;
//m_chunksize = 64; //m_chunksize = 64;
//m_chunksize = 16; // Too slow //m_chunksize = 16; // Too slow
@ -1891,6 +1892,8 @@ ServerMap::ServerMap(std::string savedir):
ServerMap::~ServerMap() ServerMap::~ServerMap()
{ {
dstream<<__FUNCTION_NAME<<std::endl;
try try
{ {
if(m_map_saving_enabled) if(m_map_saving_enabled)

@ -128,6 +128,9 @@ void init_mapnode()
for(u16 i=0; i<256; i++) for(u16 i=0; i<256; i++)
{ {
ContentFeatures *f = &g_content_features[i]; ContentFeatures *f = &g_content_features[i];
// Re-initialize
*f = ContentFeatures();
for(u16 j=0; j<6; j++) for(u16 j=0; j<6; j++)
f->tiles[j].material_type = initial_material_type; f->tiles[j].material_type = initial_material_type;
} }

@ -507,7 +507,7 @@ void Oerkki1SAO::step(float dtime, Queue<ActiveObjectMessage> &messages,
*/ */
m_age += dtime; m_age += dtime;
if(m_age > 60) if(m_age > 120)
{ {
// Die // Die
m_removed = true; m_removed = true;