Documentation updates.

This commit is contained in:
Perttu Ahola 2011-01-21 11:11:00 +02:00
parent 9998355221
commit 360e305849
2 changed files with 63 additions and 40 deletions

@ -1,25 +1,25 @@
Minetest-c55 Minetest-c55
--------------- ---------------
An InfiniMiner/Minecraft inspired game.
Copyright (c) 2010 Perttu Ahola <celeron55@gmail.com> Copyright (c) 2010 Perttu Ahola <celeron55@gmail.com>
An InfiniMiner/Minecraft inspired game.
NOTE: This file is somewhat outdated most of the time.
This is a development version: This is a development version:
------------------------------
- Don't expect it to work as well as a finished game will. - 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. - Please report any bugs to me. That way I can fix them to the next release.
- debug.txt is useful when the game crashes. - debug.txt is useful when the game crashes.
Public servers: Public servers:
---------------
kray.dy.fi :30000 (friend's server) kray.dy.fi :30000 (friend's server)
celeron.55.lt :30000 (my own server) celeron.55.lt :30000 (my own server)
Controls: Controls:
---------
- See the in-game pause menu - See the in-game pause menu
Map directory: Map directory:
--------------
- Map is stored in a directory, which can be removed to generate a new map. - 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 - There is na command-line option for it: --map-dir
- As default, it is located in: - As default, it is located in:
@ -30,6 +30,7 @@ Map directory:
OS X: ~/Library/Application Support/map OS X: ~/Library/Application Support/map
Configuration file: Configuration file:
-------------------
- An optional configuration file can be used. See minetest.conf.example. - An optional configuration file can be used. See minetest.conf.example.
- Path to file can be passed as a parameter to the executable: - Path to file can be passed as a parameter to the executable:
--config <path-to-file> --config <path-to-file>
@ -43,48 +44,38 @@ Configuration file:
OS X: ~/Library/Application Support/minetest.conf OS X: ~/Library/Application Support/minetest.conf
Command-line options: Command-line options:
---------------------
- Use --help - Use --help
Compiling on GNU/Linux: Compiling on GNU/Linux:
-----------------------
- You need: Install dependencies. Here's an example for Debian/Ubuntu:
* CMake $ apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev
* 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: Download source, extract (this is the URL to the latest of source repository, which might not work at all times):
$ cd whatever/minetest $ wget https://bitbucket.org/celeron55/minetest/get/tip.tar.gz
$ cmake . -LH $ tar xf tip.tar.gz
$ cd minetest
- A system-wide install: Build a version that runs directly from the source directory:
$ cd whatever/minetest $ cmake . -DRUN_IN_PLACE=1
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local
$ make -j2
$ sudo make install
$ 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 $ make -j2
$ ./bin/minetest Run it:
$ cd 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: Compiling on Windows:
- NOTE: Seems that the CMake build system produces executables that don't work - 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 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 - 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. - NOTE: Probably it will not work easily and you will need to fix some stuff.
- Steps: - Steps:
@ -94,8 +85,8 @@ Compiling on Windows:
- Set up some options and paths - Set up some options and paths
- Hit "Configure" - Hit "Configure"
- Hit "Generate" - Hit "Generate"
- VC: Open the generated .sln and build it - MSVC: Open the generated .sln and build it
- MinGW: Browse to the build directory and run 'make' MinGW: Browse to the build directory and run 'make'
License of Minetest-c55 License of Minetest-c55
----------------------- -----------------------

@ -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 different directions and then only those drawn that need to be
- Also an 1-dimensional tile map would be nice probably - 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: Networking:
-----------
TODO: Get rid of GotSplitPacketException TODO: Get rid of GotSplitPacketException
GUI: GUI:
----
TODO: Add gui option to remove map TODO: Add gui option to remove map
TODO: Startup and configuration menu TODO: Startup and configuration menu
Graphics: Graphics:
---------
TODO:
TODO: Optimize day/night mesh updating somehow TODO: Optimize day/night mesh updating somehow
- create copies of all textures for all lighting values and only - 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? - Is this necessary at all?
Configuration: Configuration:
--------------
TODO: Make the video backend selectable TODO: Make the video backend selectable
Client: Client:
-------
TODO: Untie client network operations from framerate TODO: Untie client network operations from framerate
- Needs some input queues or something - Needs some input queues or something
@ -154,6 +178,7 @@ TODO: Untie client network operations from framerate
TODO: Make morning and evening shorter TODO: Make morning and evening shorter
Server: Server:
-------
TODO: When player dies, throw items on map 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 TODO: Make water more like in minecraft
Objects: Objects:
--------
TODO: Better handling of objects and mobs TODO: Better handling of objects and mobs
- Scripting? - Scripting?
@ -207,6 +233,7 @@ Block object server side:
objects are stepped according to it. objects are stepped according to it.
Map generator: Map generator:
--------------
NOTE: There are some lighting-related todos and fixmes in NOTE: There are some lighting-related todos and fixmes in
ServerMap::emergeBlock. And there always will be. 8) 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: 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: Doing now:
====================================================================== ----------
====================================================================== ======================================================================