Documentation updates.
parent
9998355221
commit
360e305849
|
@ -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
|
||||||
$ make -j2
|
|
||||||
$ sudo make install
|
|
||||||
|
|
||||||
$ minetest
|
Run it:
|
||||||
|
$ cd bin
|
||||||
|
$ ./minetest
|
||||||
|
|
||||||
- Install to home directory:
|
- Use cmake . -LH to see all CMake options and their current state
|
||||||
$ cd whatever/minetest
|
- If you want to install it system-wide (or are making a distribution package), you will want to use -DRUN_IN_PLACE=0
|
||||||
$ cmake . -DCMAKE_INSTALL_PREFIX=~/minetest_install
|
- You can build a bare server or a bare client by specifying -DBUILD_CLIENT=0 or -DBUILD_SERVER=0
|
||||||
$ make -j2
|
- You can select between Release and Debug build by -DCMAKE_BUILD_TYPE=<Debug or Release>
|
||||||
$ make install
|
- Note that the Debug build is considerably slower
|
||||||
|
|
||||||
$ ~/minetest_install/bin/minetest
|
|
||||||
|
|
||||||
- For running in the source directory:
|
|
||||||
$ cd whatever/minetest
|
|
||||||
$ cmake . -DRUN_IN_PLACE
|
|
||||||
$ make -j2
|
|
||||||
|
|
||||||
$ ./bin/minetest
|
|
||||||
|
|
||||||
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
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
38
src/main.cpp
38
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
|
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:
|
||||||
======================================================================
|
----------
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue