Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--COPYING6
-rw-r--r--configure.in17
-rw-r--r--doc/GAMEPLAY15
-rw-r--r--doc/ROADMAP46
-rw-r--r--doc/STORYLINE20
-rw-r--r--doc/TODO113
-rw-r--r--doc/index.html3
-rw-r--r--doc/installation.html38
-rw-r--r--doc/manual.html4
-rw-r--r--doc/models.html5
-rw-r--r--doc/style.css15
-rw-r--r--doc/world.html199
-rw-r--r--osirion.kdevelop2
13 files changed, 275 insertions, 208 deletions
diff --git a/COPYING b/COPYING
index 6b06156..f9519a5 100644
--- a/COPYING
+++ b/COPYING
@@ -32,9 +32,9 @@ Exceptions
These files are distributed under the terms and conditions of the
CREATIVE COMMONS SAMPLING PLUS 1.0 LICENSE:
- base/sounds/engines/loop00
- base/sounds/engines/loop01
- base/sounds/engines/loop02
+ base/sounds/engines/loop00.wav
+ base/sounds/engines/loop01.wav
+ base/sounds/engines/loop02.wav
More information
diff --git a/configure.in b/configure.in
index de8e2dd..e008db6 100644
--- a/configure.in
+++ b/configure.in
@@ -144,13 +144,22 @@ if test "x${with_ncurses}" != "xno"; then
CPPFLAGS="$CPPFLAGS $CURSES_CFLAGS"
AC_CHECK_HEADER(ncurses.h,
- HAVE_CURSES=yes
- AC_DEFINE(HAVE_CURSES, 1, [Define this if you have ncurses])
+ HAVE_CURSES=ncurses
+ AC_DEFINE(HAVE_CURSES, 1, [Define this if you have the curses library])
CURSES_LIBS="$NCURSES_LIBS -lncurses",
HAVE_CURSES=no
)
- CPPFLAGS="$save_CPPFLAGS"
+ if test "x${HAVE_CURSES}" = "xno"; then
+ AC_CHECK_HEADER(curses.h,
+ HAVE_CURSES=pdcurses
+ AC_DEFINE(HAVE_CURSES, 1, [Define this if you have the curses library])
+ CURSES_LIBS="$NCURSES_LIBS -lpdcurses",
+ HAVE_CURSES=no
+ )
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
fi
AC_SUBST(CURSES_CFLAGS)
AC_SUBST(CURSES_LIBS)
@@ -302,7 +311,7 @@ Configuration summary:
platform ........... $host
flags .............. $CXXFLAGS
libraries .......... $HOST_LIBS $LIBJPG_LIBS $LIBPNG_LIBS
- ncurses ............ $HAVE_CURSES
+ curses ............. $HAVE_CURSES
build client ....... $BUILD_CLIENT
opengl ............. $GL_LIBS
openal ............. $AL_LIBS
diff --git a/doc/GAMEPLAY b/doc/GAMEPLAY
index 38ed95d..15400aa 100644
--- a/doc/GAMEPLAY
+++ b/doc/GAMEPLAY
@@ -1,9 +1,13 @@
+
+ ------------------------------------------------------------------
+
The Osirion Project - GAMEPLAY
+
------------------------------------------------------------------
This document describes what the gameplay of Project::OSiRiON should
eventually become. This document is a work in progress and is subject
- to change.
+ to change.
Overview
@@ -134,7 +138,7 @@ Traveling
to gravity wells like a star, they do not like to share their space.
Note that is theoreticly possible to fold normal space deep enough into hyperspace to
- create a jump holes across galactic scales. It would probably take a generator the size of a
+ create jumps holes on intergalactic scales. It would probably take a generator the size of a
large moon to achieve it.
Fleets
@@ -154,8 +158,7 @@ Fleets
Once the flagship is destroyed, the convoy is lost.
The player respawns at base with the flagships and any ships
- docked on it while it was destroyed. Other cargo and other ships it
- the convoy are lost.
+ docked on it while it was destroyed. Other cargo and other convoy ships are lost.
Planet and Stations
@@ -195,4 +198,8 @@ Missions
I'd do anything for money, except working.
+ - Search and Destroy
+ - Transport / Delivery
+ - Courier missions
+
diff --git a/doc/ROADMAP b/doc/ROADMAP
index 31f5ed4..f0399d9 100644
--- a/doc/ROADMAP
+++ b/doc/ROADMAP
@@ -1,9 +1,11 @@
+ ------------------------------------------------------------------
+
The Osirion Project - ROADMAP
------------------------------------------------------------------
-* version 0.1 - The Universe
+* version 0.1.0 - The Universe
Description:
@@ -19,6 +21,9 @@ Description:
fly around and see each other. They can use chat to communicate,
they can use private chat or global chat.
+ Players can dock at a space station or planets. Docking
+ a jumpgate enables hyperspace travel.
+
Requires:
client console
entities
@@ -29,31 +34,28 @@ Requires:
keyboard bindings
zones
basic travelling: impulse drive, jump engine
+ basic docking
+ basic docking gui
------------------------------------------------------------------
-* version 0.2 - Interaction
+* version 0.2.0 - Interaction
Description:
- Players can dock at a space station, planets or large ships. Docking
- a jumpgate enables hyperspace travel for smaller ships.
-
- Players can shoot at each other. They can crash into the star
- or the planet. Player ships explode on destruction.
+ Players can shoot at each other. They can crash into a star
+ or a planet. Player ships explode on destruction.
Requires:
- basic docking
- basic docking gui
targetting
- events: explosions, weapons fire, sounds
- weapon support
+ explosions, weapons fire and related sounds
+ cannons and turrets
turret and cannon models
particle systems
clip brushes and collision detection
------------------------------------------------------------------
-* version 0.3 - Commodities
+* version 0.3.0 - Commodities
Description:
Players can buy and sell cargo at dockable entities.
@@ -68,7 +70,7 @@ Requires:
------------------------------------------------------------------
-* version 0.4 - Equipment
+* version 0.4.0 - Equipment
Description:
Players can buy and sell ship and equipment.
@@ -79,12 +81,26 @@ Requires:
------------------------------------------------------------------
-* version 0.5 - Public alpha
+
+* version 0.5.0 - public alpha
+
+Goals:
+ All the general large features of the engine are implemented.
+ Create a somewhat polished release with a limited universe
+ to create a platform for bug-fixes.
+
+Requires:
+ general polishing
+
+
+ ------------------------------------------------------------------
+
+* version 0.8.0 - public beta
------------------------------------------------------------------
-* Release 1.0
+* version 1.0.0 - public release
Requires:
stable network protocol
diff --git a/doc/STORYLINE b/doc/STORYLINE
index 4824e80..06de127 100644
--- a/doc/STORYLINE
+++ b/doc/STORYLINE
@@ -1,4 +1,6 @@
+ ------------------------------------------------------------------
+
The Osirion Project - STORYLINE
------------------------------------------------------------------
@@ -11,7 +13,8 @@
FACTIONS
Borderworlds
- Colonial Militia
+ - Colonial Militia
+ - Drifters
Great Houses
- House Lindblade
@@ -20,6 +23,8 @@
Tsu-Khan Empire
+ Pirates
+
------------------------------------------------------------------
PLACES
@@ -31,14 +36,14 @@
Battleship custodian
planet Seymour
- Regula mining operation
-
- asteroid field
+ Regula station
- Brogha system
planet Brogha
Cantor observatory
+ - Whendune system
+
HOUSE LINDBLADE
@@ -49,14 +54,15 @@
planet Burton
Trent outpost
+ - Dover system
LANCE COUNCIL CAPITAL
INDEPENDENT WORLDS
- - Lantanian system
- planet Lantania
+ - East End
+ Ensor station
BORDERWORLDS
@@ -90,7 +96,7 @@
------------------------------------------------------------------
HISTORY
- "History is poetry by those who lie, those who are mistaken,
+ "History is poetry by those who lie for those who are mistaken
and those who do not know" - Tsu-Khan proverb
Reach for the Stars
diff --git a/doc/TODO b/doc/TODO
index a6ebe36..e8893bf 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,30 +1,25 @@
- The Osirion Project - TODO
-
------------------------------------------------------------------
-version 0.1:
+ The Osirion Project - TODO
- fix turning (needs more testing)
- fix cl_prediction (or not)
- zone/entity network interaction (ok)
- targetting system (ok)
+ ------------------------------------------------------------------
- join menu
- minor license issues, documentation cleanup
- 0.1 build
- SVN reorganisation ?
+version 0.1.0:
+ documentation cleanup
+
+ SVN reorganisation
+ data reorganization
-version 0.2:
+version 0.2.0:
- docking
server-client event system, hit-once lightweight entities
explosion events
weapons fire events
model trigger_dock
-version 0.3:
+version 0.3.0:
comodities
economy
@@ -36,110 +31,54 @@ filesystem:
fs_base, fs_mod, fs_game, to be used by modules
model:
- engine flare key (ok)
- split map loader from model (ok)
- model fragments (ok)
-
- support model parts (e.g. func_group, func_rotate, func_door)
+ shaders
+ model parts (e.g. func_group, func_rotate, func_door)
core:
- connection to remote game (ok)
- read/write configuration file (ok)
- split client and server configuration (ok)
- parse command line options (ok)
- execute command line options (ok)
- globe entity (ok)
- refactor 'say', it should not be a game function (ok)
- execute config files (ok)
- support entity secondairy color (ok)
- toggle func to toggle a bool cvar (ok)
-
- game module loading/unloading (breaks network proto, server must send module type)
- zone changes, clear entities (ok)
+ fix game.ini load/save sequence
+ improved modules (register factory)
network:
- UDP datagrams (ok)
- buffered sends (ok)
- client connection state (ok)
- zlib compression (partial)
- protocol version in handshake (ok)
- rcon framework (ok)
- zone changes (ok)
- round thrust/speed on 1/100 (ok)
-
protocol description (incomplete)
- private chat (ok)
- zone/system chat (requires zones)
+ zone/system chat
group/clan chat (requires groups)
rcon authentication, rcon command, servers must be able to disable rcon
RSA based authentication (player id)
send clients only updates from the current zone/server-side distance check
fix lag/client interpolation
- rename cl_prediction to cl_interpolation
+ cl_prediction or cl_interpolation
detect and disconnect clients behaving badly
EXT messages, update extended property "ext id prop value prop value etc", type checking/seperator etc..
EXT zone/color/shield/armor/health
- stable ent/die
+ reliable network messages (e.g. entity create/die)
client:
- console chars (ok)
- console text color and wrapping (ok)
- input handler switching (ok)
- key binds (ok)
- better crosshair bitmaps (ok)
- keyboard repeat (ok)
- fix tracking camera (ok)
- shift/ctrl/alt modifier key binds (ok)
- fast fullscreen/windowed mode switch (ok)
- view_next, view_prev (ok)
-
fix camera frustum clip (size issue, postponed)
-
tracking camera absolute speed/position
- visual feedback on impulse drive
+ gui concept artwork
+
+gui:
render:
- render pipeline (ok)
- .map models (ok)
- write RLE tga screenshots (ok)
- texture registry (ok)
- add small camera light (ok)
-
- test/fix? lighting without sun in zone.ini
- sun light strenght
+ star light strenght
sphere texture distortion at the poles
- PNG support
- impulse drive rendering
-
-gui:
- a gui library with widgets and buttons
- convert console and chat to gui
+ better engine trail (spore style)
sound:
- engine sounds (ok)
- user interface sounds (ok)
-
entity/event positional sounds
- impulse/jump drive sound events
+ jump drive sound events
game:
- add impulse drive (ok)
-
player credits
entity health/shield/armor
- gui concept artwork
- docking
- jumpgates (required docking)
+
data:
+ update starsystem roadmap
rename skies (lindblade1, lindblade2, ...)
move ships into subdiretories (colonial/, lindblade/, tsu-khan/, )
-
+
win32 port:
- network (ok)
- texture loading (ok)
- screenshots (ok)
- sound (ok)
- directory creation (ok)
+ pdcurses support
diff --git a/doc/index.html b/doc/index.html
index 1d6abc1..25edb27 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -43,9 +43,6 @@
Content
</h2>
-<p>
- The documentation is divided into several sections:
-
<ul>
<li><a href="installation.html">Installation</a>
<li>Player manual
diff --git a/doc/installation.html b/doc/installation.html
index b74f3ed..10ae6c5 100644
--- a/doc/installation.html
+++ b/doc/installation.html
@@ -98,7 +98,8 @@ unzip ../osirion-data-latest.zip
<li>libpng
<li>libjpeg-6b
<li>OpenGL
- <li>OpenAL 1.1
+ <li><A href="http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx">OpenAL</a>
+ or <a href="http://kcat.strangesoft.net/openal.html">OpenAL Soft</a>
</ul>
<p>
You will also need a recent version of gcc, GNU make, automake and libtool.
@@ -226,11 +227,9 @@ make
GtkRadiant 1.5.0 support files (optional)
</h2>
<p>
- You only need to install these files if you want to create models
- with gtkradiant. Note that these files where made for
- gtkradiant 1.5.0, they probably won't work with other versions.
- You can find precompiled gtkradiant 1.5.0 binaries for linux on my
- gtkradiant page:<br>
+ You can skip this section if you do not intent to create to create models with gtkradiant 1.5.
+ Note that these files probably won't work with other versions. You can find precompiled
+ gtkradiant 1.5.0 binaries for linux on my gtkradiant page:<br>
<a href="http://ingar.satgnu.net/gtkradiant">http://ingar.satgnu.net/gtkradiant</a>
<p>
These instructions assume gtkradiant is installed in the directory
@@ -251,11 +250,11 @@ enginepath_linux="
</pre>
<p>
Make sure it points to your osirion data directory. For example,
- if you checked out the source code in <i>/home/user/osirion</i>,
- then the data will be in <i>/home/user/osirion/data</i> and
+ if you checked out the source code in <i>/home/yourname/osirion</i>,
+ then the data will be in <i>/home/yourname/osirion/data</i> and
the line should look like this:
<pre>
-enginepath_linux="/home/user/games/osirion/data"
+enginepath_linux="/home/yourname/osirion/data"
</pre>
<p>
Save the changes.
@@ -280,33 +279,36 @@ Organization of the distribution
index.html Documentation content
installation.html Installation instructions (this file)
- license.html Copyright license
/src C++ source code
- /math mathematical classes and functions
- /sys low-level system functions
- /filesystem filesystem library
+ /audio audio library
/auxiliary auxiliary functions
+ /client osirion client
/core game-independent core library
+ /dedicated osiriond dedicated server
+ /filesystem filesystem library
/game game-specific functions
- /server osiriond dedicated server
+ /base base game module
+ /example example game module
+ /intro intro game module
+ /math mathematical classes and functions
+ /sys low-level system functions
/render render library
- /audio audio library
- /client osirion client
/data Data files
/base game data files
-
/bitmaps essential bitmaps
/ini game world description files
/maps game world models
/scripts gtkradiant shader files
/textures game world textures
-
/gtkradiant gtkradiant support files
</pre>
+<h2 class="navigate">
+ <a href="index.html">back</a>
+</h2>
</body>
</html>
diff --git a/doc/manual.html b/doc/manual.html
index d1d1781..bb35f07 100644
--- a/doc/manual.html
+++ b/doc/manual.html
@@ -10,7 +10,9 @@
<H1>
The Osirion Project - User manual
</H1>
-
+<p>
+ Note: the manual is outdated.
+</p>
<h2>
Client
</h2>
diff --git a/doc/models.html b/doc/models.html
index 9e03330..8499650 100644
--- a/doc/models.html
+++ b/doc/models.html
@@ -253,6 +253,9 @@
shooting guns.
<p>
<i>target_turret</i> will create an attachment point for turrets. Turrets point upwards or downwards.
-
+</p>
+<h2 class="navigate">
+ <a href="index.html">back</a>
+</h2>
</body>
</html>
diff --git a/doc/style.css b/doc/style.css
index e545e11..743e366 100644
--- a/doc/style.css
+++ b/doc/style.css
@@ -14,27 +14,38 @@ body {
a {
color: #b38700;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: none;
+ font-weight: bold;
}
h1, h2, h3 {
- margin-left: 16px;
margin-right: 32px;
width: auto;
}
h1 {
+ margin-left: 16px;
margin-top: 32px;
font-size: 18pt;
border-bottom: 1px solid #000000;
}
h2 {
+ margin-left: 32px;
margin-top: 32px;
font-size: 14pt;
border-bottom: 1px solid #000000;
}
+h2.navigate {
+ text-align: right;
+}
h3 {
+ margin-left: 64px;
font-weight: bold;
font-size: 12pt;
}
@@ -56,7 +67,7 @@ td {
}
td.wide {
- width: 96px;
+ width: 156px;
}
td.narrow {
diff --git a/doc/world.html b/doc/world.html
index 8e91ce5..82908dd 100644
--- a/doc/world.html
+++ b/doc/world.html
@@ -15,19 +15,20 @@
world description from <i>ini/world.ini</i> and a list of buyable ships
from <i>ini/ships.ini</i>. These ini-files are plain text files that can be
edited with any text editor.
-<p>
+</p><p>
The world description files are server-side. This means that editing your local
copies will not affect the world when you connect to a remote server. Someone
connecting to your server will also receive your modified world.
-<p>
- I recommend you do not edit the original game data, but to make a copy
- into your personal osirion directory. The files found in this directory will
+</p><p>
+ I recommend you do not edit the original game data, copy the files you want
+ to edit toyour personal osirion directory. The files found in this directory will
get precedence over the original game data. Your modified files will be used
and the original files can still be updated when a new version is available.
-<p>
- On Linux your personal osirion directory is <i>~/.osirion</i>. On windows, your
- personal osirion directory is the <i>home</i> subdirectory of the main distribution.
-
+</p><p>
+ On Linx and other Unix-systems your personal osirion is a hidden directory called
+ <i>.osirion</i> in your home directory. On windows, your personal osirion directory
+ is <i>My Documents\My Games\Osirion</i>.
+</p>
<h2>
File structure
</h2>
@@ -36,29 +37,32 @@
Every section starts with a section name enclosed in square brackets and contains a list of
<i>value=key</i> pairs to describe the properties for the current section.
Lines starting with a semicolon are considered comments and are ignored.
-<p>
- For example, a section <i>planet</i> describing an iceworld:
+</p><p>
+ For example, a section <i>planet</i> describing a planet called Seymour:
+</p>
+
<pre>
-; The iceworld, a very dark and cold place
[planet]
-label=iceworld
-name=The World of Ice
-radius=32
-texture=planets/iceworld
+label=seymour
+name=planet Seymour
+location=-128 1024 -32
+color=1 .9 .5
+texture=planets/seymour
+radius=68
</pre>
<h2>
- world.ini
+ World
</h2>
<p>
- The <i>world.ini</i> file contains a list of zone labels. A zone is a seperate compartment in the gameworld,
+ The file <i>world.ini</i> contains a list of zone labels. A zone is a seperate compartment in the gameworld,
like a solar system or a remote sector in space. It contains a single <i>world</i> section containting multiple
<i>zone</i> keys.
+</p>
<h3>
- [world]
+ [world]
</h3>
-
<table>
<tr>
<td class="wide"><i>zone =</i></td>
@@ -67,31 +71,32 @@ texture=planets/iceworld
</tr>
</table>
<p>
- <i>Note:</i> a label can only contain lowercase letters, numbers and underscores. Any other character is deleted.
- This applies to any in-game label in any .ini-file.
-
+ <i>Note:</i> a label can only contain letters, numbers and underscores. Any other character is deleted. This applies to any label in any .ini-file.
+</p>
<pre>
-; a world.ini example with two zones
+; a world.ini with two zones
[world]
-zone=solarsystem
-zone=remotesector
+zone=ghant
+zone=brogha
</pre>
+
<h2>
- zones/<i>label</i>.ini
+ Zones
</h2>
<p>
Each zone has its own zone description file. The actual name of the file depends on the zone label.
- If your <i>world.ini</i> contains the line <i>zone=remotesector</i>, the content of the zone with
- the label <i>remotesector</i> would be described in the file <i>ini/zones/remotesector.ini</i>.
-<p>
+ If your <i>world.ini</i> contains the line <i>zone=ghant</i>, the content of the zone with
+ the label <i>ghant</i> would be described in the file <i>zones/ghant.ini</i>.
+</p><p>
The .ini-file containts a list of objects populating that zone, and the basic properties of those
objects. In the context of the engine, such an object is called an <i>entity</i>.
+</p>
<h3>
- [zone]
+ [zone]
</h3>
-
<p>
Every zone description file has a <i>zone</i> section describing a few of its basic properties:
+</p>
<table>
<tr>
<td class="wide"><i>name =</i></td>
@@ -109,25 +114,24 @@ zone=remotesector
<td>mark this zone as the default zone for the game, only one zone can have this key set to yes, can be omitted elsewhere</td>
</tr>
</table>
+
<pre>
-; remotesector.ini
-; zone description file for the Remote Sector
-[sector]
-name=Remote Sector
-sky=sky_texture
-default=no
+; ghant.ini
+; zone description file for the Ghant system
+[zone]
+name=Ghant system
+sky=sky12
+default=yes
</pre>
+
<h3>
[entity]
</h3>
<p>
- Entities come in two flavours: basic geometrical shapes and entities with models. Both have a similar
- definition and set of properties. A simple entity is considered decoration by the engine and won't change
- direction or location.
-<p>
- Every in-game entity should have a <i>label</i> key. If the entity in question is going to be used as a base,
- or any object the could be referenced in possible scripting, it should have a unique label. The label
- should be lowercase and not contain spaces. A player-friendly name can be provided through the <i>name</i> key.
+ You can add several <i>entity</i> sections to define the objects occupying your zones. Entities come in two flavours: basic geometrical shapes and entities with models. Both have a similar definition and set of properties. A simple <i>entity</i> is considered decoration by the engine and won't change direction or location.
+</p><p>
+ Every in-game entity should have a <i>label</i> key. If the entity in question is going to be used as a base, or any object the could be referenced in possible scripting, it should have a unique label. The label should be lowercase and not contain spaces. A player-friendly name can be provided through the <i>name</i> key.
+</p>
<table>
<tr>
<td class="wide"><i>label =</i></td>
@@ -140,8 +144,10 @@ default=no
<td>the in-game name of the entity</td>
</tr>
</table>
+
<p>
Set the <i>shape</i> key to define a basic geometrical shape:
+</p>
<table>
<tr>
<td class="wide"><i>shape =</i></td>
@@ -166,6 +172,7 @@ default=no
</table>
<p>
The size of the entity can be set with the <i>radius</i> key:
+</p>
<table>
<tr>
<td class="wide"><i>radius =</i></td>
@@ -179,8 +186,8 @@ default=no
<p>
<p>
- An entity with a model can be created by setting the <i>model</i> key. The radius of a model is automaticly
- calculated:
+ An entity with a model can be created by setting the <i>model</i> key. The radius of a model is automaticly calculated:
+</p>
<table>
<tr>
<td class="wide"><i>model =</i></td>
@@ -192,8 +199,8 @@ default=no
<p>
The <i>color</i> key sets the primary color of the entity. This color will be used to draw the entity in case of
a geometrical shape, or to draw model faces that have the <i>common/entity</i> texture. The default entity colour is white.
-<p>
The <i>colorsecond </i> key can be used to set the secondary color of entities with a model.
+</p>
<table>
<tr>
<td class="wide"><i>color =</i></td>
@@ -207,6 +214,8 @@ default=no
</table>
<p>
The <i>location</i> sets the in-game position:
+</p>
+
<table>
<tr>
<td class="wide"><i>location =</i></td>
@@ -216,8 +225,9 @@ default=no
</table>
<p>
1 game unit on the x, y, or z-axis translates to 100m in-game.
-<p>
+</p><p>
Orientation can be set thought the <i>direction</i>, <i>pitch</i>, and <i>roll</i> keys:
+</p>
<table>
<tr>
<td class="wide"><i>direction =</i></td>
@@ -237,9 +247,9 @@ default=no
</table>
<p>
An example of an entity with a basic shape:
+</p>
<pre>
-; The Galactic origin
[entity]
label=origin
name=Galactic origin
@@ -252,41 +262,95 @@ color=1 1 0
<p>
An example of an entity with a model:
+</p>
<pre>
-; Alexandria outpost
[entity]
+label=ikarus
+name=Ikarus satellite
+model=satellites/ikarus
+; blue
+color=100 100 230
+location=64 0 0
+direction=120
+pitch=15
+</pre>
+
+<h3>
+ [station]
+</h3>
+<p>
+ A <i>station</i> section defines an entity that can be visited by a player. This section
+ can contain the same keys as the <i>entity</i> section, but the entity will be marked as
+ dockable and the player will be able to target it for docking.
+</p>
+<p>
+ The engine will load the stations menu descriptions from the file <i>zones/zonelabel/entitylabel.ini</i>.
+ For example, if your zone has the label <i>ghant</i> and your entity has the label <i>alexandria</i> then
+ the engine will try to read <i>zones/ghant/alexandria.ini</i>. Read the section on entity menus for more
+ information.
+</p>
+
+<pre>
+[station]
label=alexandria
name=Alexandria outpost
model=stations/alexandria
-location=-116 -68 16
-direction=315
-; light brown
+location=-192 -704 32
+; brown
color=222 192 145
+direction=45
</pre>
<h3>
+ [jumpgate]
+</h3>
+<p>
+ TODO
+</p>
+<h3>
+ [jumppoint]
+</h3>
+<p>
+ TODO
+</p>
+<h3>
[navpoint]
</h3>
<p>
- Space is a big place. Navigation points can help players to find their way around.
+ Space is huge and barren wastland. Navigation points are an easy way to provide players
+ with landmarks. The default navigation point is a diamond-shaped entity.
+</p>
<pre>
[navpoint]
-label=navpoint_north
-name=Navigation point North
-location=1024 0 0
+label=navpoint_east
+name=Navigation point East
+location=716 -1008 20
</pre>
+
<h3>
[planet]
</h3>
<p>
A planet is spherical entity with a texture. and a default radius of 64. The planet globe will
- be rendered with lighting enabled.
+ be rendered with lighting enabled. A planet can be marked as dockable. In this case it can be
+ visited by a player and menu descriptions will be loaded.
+</p>
<table>
<tr>
<td class="wide"><i>texture =</i></td>
<td class="narrow"><strong>[string]</strong></td>
<td>name of the planet texture in <i>textures</i> directory</td>
</tr>
+ <tr>
+ <td class="wide"><i>rotationspeed =</i></td>
+ <td class="narrow"><strong>[float]</strong></td>
+ <td>rotation speed in degrees per second</td>
+ </tr>
+ <tr>
+ <td class="wide"><i>dock =</i></td>
+ <td class="narrow"><strong>[bool]</strong></td>
+ <td>set to true to create a planet the players can visit</td>
+ </tr>
</table>
<pre>
@@ -295,6 +359,7 @@ location=1024 0 0
label=iceworld
name=The World of Ice
texture=planets/iceworld
+rotationspeed=1
; a grey-blue colour
color =0.5 0.5 0.8
</pre>
@@ -307,25 +372,35 @@ color =0.5 0.5 0.8
will be rendered fullbright and serve as the main source of light for the current system.
At the moment only one system light source is supported. If you define multiple stars,
the last one will serve as light source. Stars can have a texture.
+</p>
+
<pre>
+; a yellow star
[star]
label=whitedwarf
name=White Dwarf
-; light yellow
color=1.0 1.0 0.9
+radius=96
</pre>
<h2>
- ships.ini
+ Ships
</h2>
<p>
- Definition of the shopping list.
-
+ TODO Definition of the shopping list.
+</p>
+<h2>
+ Entity menus
+</h2>
+<p>
+ TODO
+</p>
<h2>
Textures
</h2>
<p>
The engine supports textures in the TGA, PNG and JPG file formats. The filename extension
should be lowercase and the texture should be in 24bit RGB or 32bit RGBA format.
+</p>
</body>
</html>
diff --git a/osirion.kdevelop b/osirion.kdevelop
index 0f07ee0..5899408 100644
--- a/osirion.kdevelop
+++ b/osirion.kdevelop
@@ -21,7 +21,7 @@
</general>
<kdevautoproject>
<general>
- <activetarget>src/ui/libui.la</activetarget>
+ <activetarget>src/osirion</activetarget>
<useconfiguration>debug</useconfiguration>
</general>
<run>