forked from aheadley/homeworld
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathINSTALL
133 lines (104 loc) · 6.32 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Homeworld SDL - Source Installation Instructions
Version 0.3 alpha
http://www.thereisnospork.com/projects/homeworld/
---
Homeworld © 1999-2000 Sierra On-Line, Inc. All Rights Reserved.
Homeworld is a registered trademark, and Sierra and Sierra Studios are
registered trademarks of Sierra On-Line, Inc. Relic is a trademark of Relic
Entertainment, Inc.
SDL/Linux port by Ted Cipicchio <[email protected]>
------------------------------------------------------------------------------
*** IMPORTANT BUILD INSTRUCTIONS - MUST READ!! ***
Please read through the following instructions if you plan to build and run
Homeworld SDL:
Homeworld SDL is still fairly early in development, and as such the code is
somewhat of a mess right now. Since Homeworld was not designed to be compiled
and installed using the typical "configure/make/make install" process found
with most open source Unix software, you'll need to keep a few things in mind
while trying to get the game running.
First, make sure you have SDL 1.2 or later installed. You will also need GCC
3.3 or later. GCC 3.x versions prior to 3.3 have problems compiling various
sections of the Homeworld code and will crash upon attempt. GCC 2.95.x does
not provide support for SSE/SSE2 instructions and will not work.
The build process itself is relatively straight-forward, as running
"./configure" followed by "make" from within the project's directory will
still build the required files. I have tried to set everything up such that
"make install" will work, but you will still need to do a few things before
running.
The game requires that you have the data files from the original Homeworld.
They have not been provided as they are not freely available, and the game
will not run without them. You also need to install the latest Homeworld
patch. At the time of writing this, 1.05 is the latest patch version. You
can find it at http://www.relicnews.com/
You will need at least the follwing data files (all within the same
directory):
- Homeworld.big
- devstats.dat
- Update.big
Other data files may be used at a later time as progress continues, but for
now these will do.
The binary will be able to find the game data in one of two ways:
- The environment variable "HW_Data" (case-sensitive, without quotes) can be
set to the path where the game data is located. For example, if you put the
data in /usr/local/share/homeworld, you could run the game by typing the
following from the command line:
HW_Data=/usr/local/share/homeworld homeworld
- If the "HW_Data" environment variable is not set, or the path specified by
it cannot be found, the game will check the current directory. For example,
if you put the game data in a directory called "hw", you would only need to
change to that directory and run "homeworld" without specifying anything for
"HW_Data", and the executable should be able to find the data without any
problem.
Even though the data is installed, you will still need to have the Homeworld
CD in your CD-ROM drive AND mounted. The game will check that the CD is
mounted on "/mnt/cdrom", but if you use a different mount point, you will need
to specify it using the "HW_CDROM" environment variable.
NOW you should be able to start the game...but wait! There's one last thing
you need to know!
When Homeworld first starts up, it uses the software renderer. Unfortunately,
the porting of the software renderer is not yet complete (3D geometry will not
render properly, if at all), so you will need to switch to the OpenGL
renderer. To do so, perform the following steps:
- Select "Options" from the main game menu.
- Select "Video" from the available options sub-menus listed on the right side
of the screen.
- Select "(GL) Default OpenGL" from the "Rendering System" box.
- Choose a resultion from the "Resolution" box (any resolution you choose will
do fine).
- Click on the "Accept!" button in the bottom-right corner of the screen.
The game will now attempt to switch to the OpenGL renderer. If everything
goes okay, you should be presented with a confirmation that the settings you
requested were changed. Select "Yes", and you should be ready to go!
The settings you choose will also be saved when you quit, so you don't have to
reselect the OpenGL renderer every time.
------------------------------------------------------------------------------
*** UPGRADING FROM HOMEWORLD SDL 0.2? ***
As of Homeworld SDL 0.3, the location of saved games has moved. Saved games
are now stored within the ".homeworld" directory in your home directory. To
use your old saved games, just move the "SavedGames" directory from the game
directory to "~/.homeworld". Note that saved games from the Windows version
of Homeworld and Homeworld SDL versions prior to 0.2 still do not work with
recent versions of Homeworld SDL. Also, the game directory no longer needs to
be writable for users who want to run the game.
------------------------------------------------------------------------------
*** A NOTE ABOUT OPTIMIZATION ***
Various parts of the Homeworld source code do not play particularly well when
compiler optimization is enabled (i.e. using the "-O" or "-O[123]" flags with
GCC). The source files containing such problem areas have been pinpointed in
the game code, and steps have been made to disable optimization for these
files until the code can be altered such that enabling optimization won't
thrash the output. On the other hand, there are issues with the software
renderer that affect 2D drawing (such as the menus) which have not been
pinpointed yet. For the time being, the software renderer cannot be built
with compiler optimizations, so optimization has been disabled for ALL of the
rgl library code.
Also of note is that the "-fomit-frame-pointer" flag should not be used, as
Homeworld uses various assembly techniques that rely on the frame pointer for
many functions. While the original Windows version uses "#pragma" statements
to force this on a per-function basis, GCC only provides the
"-fno-omit-frame-pointer" flag to force the frame pointer on a per-file basis.
Because of this, most of the game will be compiled with support for the frame
pointer regardless of the optimization level. In the future, the functions
that rely on the frame pointer may be separated from the rest of the code such
that the game can benefit from the potential speed increase provided by the
"-fomit-frame-pointer" flag.