diff --git a/doc/README.txt b/doc/README.txt index 5a8ce720..04a996e2 100644 --- a/doc/README.txt +++ b/doc/README.txt @@ -1,25 +1,25 @@ Minetest-c55 --------------- - +An InfiniMiner/Minecraft inspired game. Copyright (c) 2010 Perttu Ahola -An InfiniMiner/Minecraft inspired game. - -NOTE: This file is somewhat outdated most of the time. - 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 @@ -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. +Install dependencies. Here's an example for Debian/Ubuntu: +$ apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev -- Check possible options: - $ cd whatever/minetest - $ cmake . -LH +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 -- A system-wide install: - $ cd whatever/minetest - $ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local - $ make -j2 - $ sudo make install +Build a version that runs directly from the source directory: +$ cmake . -DRUN_IN_PLACE=1 +$ make -j2 - $ minetest +Run it: +$ cd bin +$ ./minetest -- Install to home directory: - $ cd whatever/minetest - $ cmake . -DCMAKE_INSTALL_PREFIX=~/minetest_install - $ make -j2 - $ make install - - $ ~/minetest_install/bin/minetest - -- For running in the source directory: - $ cd whatever/minetest - $ cmake . -DRUN_IN_PLACE - $ make -j2 - - $ ./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= + - 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 08a48d6d..3006e3fd 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: -====================================================================== +---------- ======================================================================