diff options
-rw-r--r-- | doc/README.txt | 65 | ||||
-rw-r--r-- | src/main.cpp | 38 |
2 files changed, 63 insertions, 40 deletions
diff --git a/doc/README.txt b/doc/README.txt index 5a8ce7203..04a996e22 100644 --- a/doc/README.txt +++ b/doc/README.txt @@ -1,25 +1,25 @@ Minetest-c55 --------------- - -Copyright (c) 2010 Perttu Ahola <celeron55@gmail.com> - An InfiniMiner/Minecraft inspired game. - -NOTE: This file is somewhat outdated most of the time. +Copyright (c) 2010 Perttu Ahola <celeron55@gmail.com> This is a development version: +------------------------------ - Don't expect it to work as well as a finished game will. - Please report any bugs to me. That way I can fix them to the next release. - debug.txt is useful when the game crashes. Public servers: +--------------- kray.dy.fi :30000 (friend's server) celeron.55.lt :30000 (my own server) Controls: +--------- - See the in-game pause menu Map directory: +-------------- - Map is stored in a directory, which can be removed to generate a new map. - There is na command-line option for it: --map-dir - As default, it is located in: @@ -30,6 +30,7 @@ Map directory: OS X: ~/Library/Application Support/map Configuration file: +------------------- - An optional configuration file can be used. See minetest.conf.example. - Path to file can be passed as a parameter to the executable: --config <path-to-file> @@ -43,48 +44,38 @@ Configuration file: OS X: ~/Library/Application Support/minetest.conf Command-line options: +--------------------- - Use --help Compiling on GNU/Linux: +----------------------- -- You need: - * CMake - * Irrlicht - * Zlib -- You can probably find these in your distro's package repository. -- Building has been tested to work flawlessly on many systems. - -- Check possible options: - $ cd whatever/minetest - $ cmake . -LH - -- A system-wide install: - $ cd whatever/minetest - $ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local - $ make -j2 - $ sudo make install - - $ minetest +Install dependencies. Here's an example for Debian/Ubuntu: +$ apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev -- Install to home directory: - $ cd whatever/minetest - $ cmake . -DCMAKE_INSTALL_PREFIX=~/minetest_install - $ make -j2 - $ make install +Download source, extract (this is the URL to the latest of source repository, which might not work at all times): +$ wget https://bitbucket.org/celeron55/minetest/get/tip.tar.gz +$ tar xf tip.tar.gz +$ cd minetest - $ ~/minetest_install/bin/minetest +Build a version that runs directly from the source directory: +$ cmake . -DRUN_IN_PLACE=1 +$ make -j2 -- For running in the source directory: - $ cd whatever/minetest - $ cmake . -DRUN_IN_PLACE - $ make -j2 +Run it: +$ cd bin +$ ./minetest - $ ./bin/minetest +- Use cmake . -LH to see all CMake options and their current state +- If you want to install it system-wide (or are making a distribution package), you will want to use -DRUN_IN_PLACE=0 +- You can build a bare server or a bare client by specifying -DBUILD_CLIENT=0 or -DBUILD_SERVER=0 +- You can select between Release and Debug build by -DCMAKE_BUILD_TYPE=<Debug or Release> + - Note that the Debug build is considerably slower Compiling on Windows: - NOTE: Seems that the CMake build system produces executables that don't work for many people. The old build system is still included, but it's not - documented in here. + documented anywhere. - You need CMake, Irrlicht, Zlib and Visual Studio or MinGW - NOTE: Probably it will not work easily and you will need to fix some stuff. - Steps: @@ -94,8 +85,8 @@ Compiling on Windows: - Set up some options and paths - Hit "Configure" - Hit "Generate" - - VC: Open the generated .sln and build it - - MinGW: Browse to the build directory and run 'make' + - MSVC: Open the generated .sln and build it + MinGW: Browse to the build directory and run 'make' License of Minetest-c55 ----------------------- diff --git a/src/main.cpp b/src/main.cpp index 08a48d6dd..3006e3fd5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -104,19 +104,41 @@ SUGG: Meshes of blocks could be split into 6 meshes facing into different directions and then only those drawn that need to be
- Also an 1-dimensional tile map would be nice probably
+Documentation:
+--------------
+
+TODO: Copy build instructions from website to README.txt
+
+Build system / running:
+-----------------------
+
+NOTE: The following fixme is not apparently valid, and it does work.
+FIXME: Graphical mode seems to segfault with Irrlicht 1.7.1 on 64-bit
+ systems. (Ubuntu)
+ - http://pastebin.no/32bo
+ - Might be just a bad build, too
+ - Doesn't affect Irrlicht 1.7.2 or 32-bit 1.7.1. (Arch/Debian)
+ - A similar error occurs when getTexture is called from a thread
+ when the texture has not been already loaded from disk:
+ http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=68830
+
+FIXME: Some network errors on Windows that cause local game to not work
+ - See siggjen's emails.
+
Networking:
+-----------
TODO: Get rid of GotSplitPacketException
GUI:
+----
TODO: Add gui option to remove map
TODO: Startup and configuration menu
Graphics:
-
-TODO:
+---------
TODO: Optimize day/night mesh updating somehow
- create copies of all textures for all lighting values and only
@@ -142,10 +164,12 @@ TODO: Make fetching sector's blocks more efficient when rendering - Is this necessary at all?
Configuration:
+--------------
TODO: Make the video backend selectable
Client:
+-------
TODO: Untie client network operations from framerate
- Needs some input queues or something
@@ -154,6 +178,7 @@ TODO: Untie client network operations from framerate TODO: Make morning and evening shorter
Server:
+-------
TODO: When player dies, throw items on map
@@ -179,6 +204,7 @@ TODO: Save players with inventories to disk TODO: Make water more like in minecraft
Objects:
+--------
TODO: Better handling of objects and mobs
- Scripting?
@@ -207,6 +233,7 @@ Block object server side: objects are stepped according to it.
Map generator:
+--------------
NOTE: There are some lighting-related todos and fixmes in
ServerMap::emergeBlock. And there always will be. 8)
@@ -225,8 +252,13 @@ FIXME: The new pre-sunlight-propagation code messes up with initial TODO: Remove HMParams
+TODO: Change AttributeList to split the area into smaller sections so
+ that searching won't be as heavy.
+TODO: Change AttributeList to be 2D, as it would be too slow to search
+ in 3D fields anyway.
+
Doing now:
-======================================================================
+----------
======================================================================
|