aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-01-21 11:11:00 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-01-21 11:11:00 +0200
commit360e305849d3e1a24a13cda380b2fc91a75010ca (patch)
treee42eac94d2ed627f98454afee8adc52a33023e65
parent9998355221034cab437bb35ad87183696e12748e (diff)
downloadminetest-360e305849d3e1a24a13cda380b2fc91a75010ca.tar.gz
minetest-360e305849d3e1a24a13cda380b2fc91a75010ca.tar.bz2
minetest-360e305849d3e1a24a13cda380b2fc91a75010ca.zip
Documentation updates.
-rw-r--r--doc/README.txt65
-rw-r--r--src/main.cpp38
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:
-======================================================================
+----------
======================================================================