Documentation updates.
authorPerttu Ahola <celeron55@gmail.com>
Fri, 21 Jan 2011 09:11:00 +0000 (11:11 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Fri, 21 Jan 2011 09:11:00 +0000 (11:11 +0200)
doc/README.txt
src/main.cpp

index 5a8ce7203e63886dbb5f255a317bdf1942075374..04a996e2298460807ba471513ab645ef262d0a45 100644 (file)
@@ -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
 -----------------------
index 08a48d6dd2fc0136d30ed01f9f17883a6dfef469..3006e3fd5d60f46cbea670d36fa585f92ffaf9a5 100644 (file)
@@ -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\r
          - Also an 1-dimensional tile map would be nice probably\r
 \r
+Documentation:\r
+--------------\r
+\r
+TODO: Copy build instructions from website to README.txt\r
+\r
+Build system / running:\r
+-----------------------\r
+\r
+NOTE: The following fixme is not apparently valid, and it does work.\r
+FIXME: Graphical mode seems to segfault with Irrlicht 1.7.1 on 64-bit\r
+       systems. (Ubuntu)\r
+       - http://pastebin.no/32bo\r
+          - Might be just a bad build, too\r
+          - Doesn't affect Irrlicht 1.7.2 or 32-bit 1.7.1. (Arch/Debian)\r
+          - A similar error occurs when getTexture is called from a thread\r
+            when the texture has not been already loaded from disk:\r
+                http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=68830\r
+\r
+FIXME: Some network errors on Windows that cause local game to not work\r
+       - See siggjen's emails.\r
+\r
 Networking:\r
+-----------\r
 \r
 TODO: Get rid of GotSplitPacketException\r
 \r
 GUI:\r
+----\r
 \r
 TODO: Add gui option to remove map\r
 \r
 TODO: Startup and configuration menu\r
 \r
 Graphics:\r
-\r
-TODO: \r
+---------\r
 \r
 TODO: Optimize day/night mesh updating somehow\r
       - create copies of all textures for all lighting values and only\r
@@ -142,10 +164,12 @@ TODO: Make fetching sector's blocks more efficient when rendering
          - Is this necessary at all?\r
 \r
 Configuration:\r
+--------------\r
 \r
 TODO: Make the video backend selectable\r
 \r
 Client:\r
+-------\r
 \r
 TODO: Untie client network operations from framerate\r
       - Needs some input queues or something\r
@@ -154,6 +178,7 @@ TODO: Untie client network operations from framerate
 TODO: Make morning and evening shorter\r
 \r
 Server:\r
+-------\r
 \r
 TODO: When player dies, throw items on map\r
 \r
@@ -179,6 +204,7 @@ TODO: Save players with inventories to disk
 TODO: Make water more like in minecraft\r
 \r
 Objects:\r
+--------\r
 \r
 TODO: Better handling of objects and mobs\r
       - Scripting?\r
@@ -207,6 +233,7 @@ Block object server side:
              objects are stepped according to it.\r
 \r
 Map generator:\r
+--------------\r
 \r
 NOTE: There are some lighting-related todos and fixmes in\r
       ServerMap::emergeBlock. And there always will be. 8)\r
@@ -225,8 +252,13 @@ FIXME: The new pre-sunlight-propagation code messes up with initial
 \r
 TODO: Remove HMParams\r
 \r
+TODO: Change AttributeList to split the area into smaller sections so\r
+      that searching won't be as heavy.\r
+TODO: Change AttributeList to be 2D, as it would be too slow to search\r
+      in 3D fields anyway.\r
+\r
 Doing now:\r
-======================================================================\r
+----------\r
 \r
 ======================================================================\r
 \r