summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-04-22 09:54:05 +0300
committerPerttu Ahola <celeron55@gmail.com>2011-04-22 09:54:05 +0300
commitb36e5c05088aca7b500bf5fe355f4b3c205a59a3 (patch)
treea6982d07c47776de55764a330e8accbca579180d /src/main.cpp
parent983bf6677d495184e67bf8c4363467752c9f9c75 (diff)
downloadminetest-b36e5c05088aca7b500bf5fe355f4b3c205a59a3.tar.gz
minetest-b36e5c05088aca7b500bf5fe355f4b3c205a59a3.tar.bz2
minetest-b36e5c05088aca7b500bf5fe355f4b3c205a59a3.zip
Removed IrrlichtWrapper
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp57
1 files changed, 16 insertions, 41 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 436e5babc..6293809be 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -136,6 +136,9 @@ Game content:
- The player would have some of that stuff at the beginning, and
would need new supplies of it when it runs out
+- A bomb
+- A spread-items-on-map routine for the bomb, and for dying players
+
Documentation:
--------------
@@ -175,14 +178,14 @@ SUGG: Draw cubes in inventory directly with 3D drawing commands, so that
SUGG: Option for enabling proper alpha channel for textures
+TODO: Make all water not backside culled
+
Configuration:
--------------
Client:
-------
-TODO: Remove IrrlichtWrapper
-
TODO: Untie client network operations from framerate
- Needs some input queues or something
- This won't give much performance boost because calculating block
@@ -195,6 +198,10 @@ TODO: Don't update all meshes always on single node changes, but
- implement Map::updateNodeMeshes() and the usage of it
- It will give almost always a 4x boost in mesh update performance.
+- A weapon engine
+
+- Tool/weapon visualization
+
Server:
-------
@@ -209,9 +216,6 @@ FIXME: Server sometimes goes into some infinite PeerNotFoundException loop
* Make a small history check to transformLiquids to detect and log
continuous oscillations, in such detail that they can be fixed.
-FIXME: If something is removed from craftresult with a right click,
- it is only possible to get one item from it should give 4
-
Objects:
--------
@@ -241,17 +245,18 @@ SUGG: Erosion simulation at map generation time
- Simulate rock falling from cliffs when water has removed
enough solid rock from the bottom
+SUGG: Try out the notch way of generating maps, that is, make bunches
+ of low-res 3d noise and interpolate linearly.
+
Mapgen v2:
-* only_from_disk might not work anymore - check and fix it.
-* Make the generator to run in background and not blocking block
- placement and transfer
* Possibly add some kind of erosion and other stuff
* Better water generation (spread it to underwater caverns but don't
fill dungeons that don't touch big water masses)
* When generating a chunk and the neighboring chunk doesn't have mud
and stuff yet and the ground is fairly flat, the mud will flow to
the other chunk making nasty straight walls when the other chunk
- is generated. Fix it.
+ is generated. Fix it. Maybe just a special case if the ground is
+ flat?
Misc. stuff:
------------
@@ -321,7 +326,6 @@ Making it more portable:
#include "constants.h"
//#include "strfnd.h"
#include "porting.h"
-#include "irrlichtwrapper.h"
#include "gettime.h"
#include "porting.h"
#include "guiPauseMenu.h"
@@ -337,9 +341,6 @@ Making it more portable:
#include "tile.h"
#include "guiFurnaceMenu.h"
-// TODO: Remove this
-IrrlichtWrapper *g_irrlicht = NULL;
-
// This makes textures
ITextureSource *g_texturesource = NULL;
@@ -495,9 +496,9 @@ u32 getTimeMs()
Use irrlicht because it is more precise than porting.h's
getTimeMs()
*/
- if(g_irrlicht == NULL)
+ if(g_device == NULL)
return 0;
- return g_irrlicht->getTime();
+ return g_device->getTimer()->getRealTime();
}
/*
@@ -2049,7 +2050,6 @@ int main(int argc, char *argv[])
return 1; // could not create selected driver.
g_device = device;
- g_irrlicht = new IrrlichtWrapper(device);
TextureSource *texturesource = new TextureSource(device);
g_texturesource = texturesource;
@@ -2217,9 +2217,6 @@ int main(int argc, char *argv[])
while(g_device->run() && kill == false)
{
- // Run global IrrlichtWrapper's main thread processing stuff
- g_irrlicht->Run();
-
if(menu->getStatus() == true)
break;
@@ -2284,9 +2281,6 @@ int main(int argc, char *argv[])
*/
{
- // This is set to true at the end of the scope
- g_irrlicht->Shutdown(false);
-
/*
Draw "Loading" screen
*/
@@ -2485,11 +2479,6 @@ int main(int argc, char *argv[])
}
/*
- Run global IrrlichtWrapper's main thread processing stuff
- */
- g_irrlicht->Run();
-
- /*
Process TextureSource's queue
*/
texturesource->processQueue();
@@ -3550,22 +3539,8 @@ int main(int argc, char *argv[])
device->setWindowCaption(str.c_str());
lastFPS = fps;
}
-
- /*}
- else
- device->yield();*/
}
- //delete quick_inventory;
-
- /*
- Disable texture fetches and other stuff that is queued
- to be processed by the main loop.
-
- This has to be done before client goes out of scope.
- */
- g_irrlicht->Shutdown(true);
-
} // client and server are deleted at this point
} //try