|
@@ -1,8 +1,8 @@
|
1
|
1
|
# OpenRaider
|
2
|
2
|
|
3
|
|
-[OpenRaider](http://openraider.sourceforge.net) is an Open Source implementation of the classic Tomb Raider Game Engine. It was abandoned in 2003.
|
|
3
|
+This is a fork of the [OpenRaider](http://openraider.sourceforge.net) Open Source implementation of the classic Tomb Raider Game Engine. The original project was abandoned in 2003.
|
4
|
4
|
|
5
|
|
-This project aims to get OpenRaider in a more usable state, maybe one day even being able to play the old Tomb Raider games flawlessly...
|
|
5
|
+This fork aims to get OpenRaider in a more usable state, maybe one day even being able to play the old Tomb Raider games flawlessly...
|
6
|
6
|
|
7
|
7
|
If you just want to see OpenRaider doing something on your Mac, without installing any of the dependencies needed to build OpenRaider, grab the Mac App Bundle from the [most recent release](https://github.com/xythobuz/OpenRaider/releases).
|
8
|
8
|
|
|
@@ -13,13 +13,12 @@ It seems as if OpenRaider will currently only work on Little-Endian platforms. T
|
13
|
13
|
OpenRaider needs some configuration files, and level data and assets from custom levels or the Tomb Raider games.
|
14
|
14
|
These are stored in `~/.OpenRaider`. Running `make setup` will create/copy the necessary files and directories.
|
15
|
15
|
|
16
|
|
-You still need to add level files in `~/.OpenRaider/paks/` and add them to `~/.OpenRaider/OpenRaider.ini`.
|
|
16
|
+You still need to add level files in `~/.OpenRaider/paks/`.
|
17
|
17
|
Dust off your old Tomb Raider CDs or grab some [custom levels](http://www.aspidetr.com/levels/yvel-woods-v1-5/) from the interwebs.
|
18
|
18
|
|
19
|
19
|
## Documentation
|
20
|
20
|
|
21
|
21
|
All previously included documentation was moved into the [OpenRaider Repo Wiki](https://github.com/xythobuz/OpenRaider/wiki/_pages).
|
22
|
|
-Also take a look at the [BUGS](https://github.com/xythobuz/OpenRaider/wiki/Bugs), [TODO](https://github.com/xythobuz/OpenRaider/wiki/To-Do) and [Requirements](https://github.com/xythobuz/OpenRaider/wiki/Requirements).
|
23
|
22
|
|
24
|
23
|
A more or less recent [Doxygen documentation](http://xythobuz.github.io/OpenRaider/) of OpenRaider should be on the Github Pages for OpenRaider.
|
25
|
24
|
|
|
@@ -67,6 +66,8 @@ A Doxygen API documentation can be created with `make doc`.
|
67
|
66
|
|
68
|
67
|
`make clean` should remove all intermediary files. `make run` will run the binary.
|
69
|
68
|
|
|
69
|
+You can also generate working XCode Project files with `cmake -G Xcode ..`.
|
|
70
|
+
|
70
|
71
|
## Usage
|
71
|
72
|
|
72
|
73
|
### Configuration file
|
|
@@ -75,124 +76,39 @@ OpenRaider will try to load `~/.OpenRaider/OpenRaider.ini` or, if it doesn't exi
|
75
|
76
|
Running `make setup` will create a minimal configuration in your home directory.
|
76
|
77
|
|
77
|
78
|
The configuration file format is very simple:
|
78
|
|
-* Anything following a `#` up to the next `\n` will be ignored.
|
79
|
|
-* Lines starting with an `@` mark a "preprocessor" command. The only one currently implemented is `@include`, allowing you to include another file as configuration file.
|
80
|
|
-* Lines surrounded with `[]`, eg. `[Engine.OpenGL.Driver]` set the mode for following commands.
|
81
|
|
-* Everything else is interpreted as command for the current mode.
|
|
79
|
+* Every line will be executed as in-game console command
|
|
80
|
+* The # character marks the beginning of a single-line comment
|
82
|
81
|
|
83
|
82
|
### Level PAKs
|
84
|
83
|
|
85
|
|
-You can use paks from any Tomb Raider version supported and most user made paks for Tomb Raider.
|
86
|
|
-Only PHD, TR1, TR2, TR3, and TR4 paks are supported as of this writing.
|
|
84
|
+You can use paks from any classic Tomb Raider Game (1 - 5) and most user made paks for Tomb Raider. Tomb Raider 5 support is however still very limited.
|
87
|
85
|
|
88
|
86
|
### Sound FXs
|
89
|
87
|
|
90
|
|
-Setting up external sound SFX, for TR2 and TR3 paks only.
|
91
|
|
-
|
92
|
88
|
TR2 and TR3 paks (both have file extension `.tr2`) don't have sound data contained in the pak itself, but instead
|
93
|
89
|
they share a common SFX file (often MAIN.SFX) for each pak from a given Tomb Raider version.
|
94
|
90
|
|
95
|
|
-Previously, OpenRaider tried to load an SFX file with the same name as the level file, with `.sfx` added to the end.
|
96
|
|
-You had to create a symlink for each level to the SFX file if you were using original Tomb Raider levels, like this:
|
97
|
|
-
|
98
|
|
- cd ~/.OpenRaider/paks/tr3/
|
99
|
|
- cp /mnt/cdrom/data/MAIN.SFX .
|
100
|
|
- for i in *.tr2; do ln -s MAIN.SFX $i.sfx; done
|
101
|
|
-
|
102
|
|
-Now, OpenRaider just tries to load a `MAIN.SFX` in the same folder as the level file.
|
103
|
|
-If you want to change this behaviour, this happens around line 1075 of `src/OpenRaider.cpp`.
|
104
|
|
-
|
105
|
|
-### Key Bindings
|
106
|
|
-
|
107
|
|
-| Key | Action |
|
108
|
|
-| ------------------------:|:-------------------------------------------- |
|
109
|
|
-| <Alt><Enter> | Toggle fullscreen |
|
110
|
|
-| <Esc> | Interactive Level load menu |
|
111
|
|
-| ` | Console toggle on/off |
|
112
|
|
-| Mouse | Turn |
|
113
|
|
-| MouseBtn Left | Shoot |
|
114
|
|
-| w | Move forward |
|
115
|
|
-| s | Move back |
|
116
|
|
-| e | Move down |
|
117
|
|
-| q | Move up |
|
118
|
|
-| r | Play sound quick test |
|
119
|
|
-| / | Drop a waypoint test (formally undocumented) |
|
120
|
|
-| [ ] | Adjust idle animation for testing |
|
|
91
|
+OpenRaider tries to load a `MAIN.SFX` from the same folder as the selected level file.
|
|
92
|
+
|
|
93
|
+### Default Key Bindings
|
|
94
|
+
|
|
95
|
+| Key | Action |
|
|
96
|
+| -----------------:|:--------------------- |
|
|
97
|
+| <Esc> | Toggle menu |
|
|
98
|
+| <backquote> | Console toggle on/off |
|
|
99
|
+| w | Move forward |
|
|
100
|
+| s | Move back |
|
|
101
|
+| a | Move left |
|
|
102
|
+| d | Move right |
|
|
103
|
+| <space> | Jump |
|
|
104
|
+| <left ctrl> | crouch |
|
|
105
|
+| Mouse | Turn |
|
|
106
|
+| MouseBtn Left | Shoot/Use |
|
|
107
|
+| MouseBtn Right | Holster/Equip weapons |
|
121
|
108
|
|
122
|
109
|
### Console/Config Commands
|
123
|
110
|
|
124
|
|
-Console commands (BOOL is '0', '1', "true" or "false").
|
125
|
|
-Pressing <UP> will go back to last command entered (saves typing).
|
126
|
|
-
|
127
|
|
-#### Game
|
128
|
|
-
|
129
|
|
-| Command | Action |
|
130
|
|
-| -------------------:|:------------------------------------------------------ |
|
131
|
|
-| quit | Quit the game |
|
132
|
|
-| sshot | Take screenshot |
|
133
|
|
-| play INT | Play sound fx with number |
|
134
|
|
-| loadlevel STRING | Load level with mapname STRING |
|
135
|
|
-| sensitivity.x FLOAT | Set mouse sensitivity for X movement |
|
136
|
|
-| sensitivity.y FLOAT | Set mouse sensitivity for Y movement |
|
137
|
|
-| fullscreen | Toggles fullscreen mode |
|
138
|
|
-| walk | Toggle world clipping on |
|
139
|
|
-| ghost | Toggle world clipping off |
|
140
|
|
-| fly | Toggle world clipping off without gravity |
|
141
|
|
-| noclip | Toggle world clipping in cycle |
|
142
|
|
-| hop | Toggle room hopping hack |
|
143
|
|
-| showfps BOOL | Show FPS |
|
144
|
|
-| resize STRING | Change resolution to `xga`, `svga` or `vga` |
|
145
|
|
-
|
146
|
|
-#### Render
|
147
|
|
-
|
148
|
|
-| Command | Action |
|
149
|
|
-| ----------------:|:-------------------------------------------- |
|
150
|
|
-| texture INT | Display the specified 2D texture for 2s |
|
151
|
|
-| wireframe | Render in wireframe (for debugging) |
|
152
|
|
-| solid | Render solid color polygons |
|
153
|
|
-| texture | Render with textures |
|
154
|
|
-| vertexlight | Render with vertexlights |
|
155
|
|
-| titlescreen | Render titlescreen |
|
156
|
|
-| r_animate BOOL | Animate all models at once |
|
157
|
|
-| r_upf BOOL | Update room render list once per frame |
|
158
|
|
-| r_ponytail BOOL | Render ponytail on Lara |
|
159
|
|
-| r_pigtails BOOL | Render ponytails as pigtails on Lara |
|
160
|
|
-| r_ponyangle INT | Set rotation of ponytail on Lara |
|
161
|
|
-| r_ponyx INT | Set X offset of ponytail on Lara |
|
162
|
|
-| r_ponyy INT | Set Y offset of ponytail on Lara |
|
163
|
|
-| r_ponyz INT | Set Z offset of ponytail on Lara |
|
164
|
|
-| r_viewmodel INT | Load skeletal model with index INT |
|
165
|
|
-| r_fog BOOL | Render fog toggle |
|
166
|
|
-| r_portal BOOL | Render portals in rooms |
|
167
|
|
-| r_particle BOOL | Render particles |
|
168
|
|
-| r_vmodel BOOL | Render view model |
|
169
|
|
-| r_sprite BOOL | Render sprites (room fx and items) |
|
170
|
|
-| r_roommodel BOOL | Render room models |
|
171
|
|
-| r_entmodel BOOL | Render entity models |
|
172
|
|
-| r_light BOOL | Render with GL lights |
|
173
|
|
-| r_ralpha BOOL | Render alpha pass for rooms |
|
174
|
|
-| r_vis BOOL | Render using visibility checking |
|
175
|
|
-| r_oneroom | Render only the current room |
|
176
|
|
-| r_allrooms | Render all rooms in the level (debug/stress) |
|
177
|
|
-
|
178
|
|
-#### Set Commands
|
179
|
|
-
|
180
|
|
-These commands have to be entered as `set COMMAND VALUE` or `set COMMAND=VALUE`.
|
181
|
|
-
|
182
|
|
-| Command | Action |
|
183
|
|
-| --------------:|:------------------------- |
|
184
|
|
-| mousegrab BOOL | Set mouse grabbing on/off |
|
185
|
|
-
|
186
|
|
-#### Stat Commands
|
187
|
|
-
|
188
|
|
-These commands have to be entered as `stat COMMAND`.
|
189
|
|
-
|
190
|
|
-| Command | Action |
|
191
|
|
-| -------:|:---------------------- |
|
192
|
|
-| fps | Toggle showing FPS |
|
193
|
|
-| pos | Show current location |
|
194
|
|
-| room | |
|
195
|
|
-| flags | Show room flags in hex |
|
|
111
|
+Every available command should be listed in the in-game help. Just type `help` in the OpenRaider console, which can be activated by default with the backquote key.
|
196
|
112
|
|
197
|
113
|
### Wireframe mode colors
|
198
|
114
|
|
|
@@ -207,6 +123,16 @@ These commands have to be entered as `stat COMMAND`.
|
207
|
123
|
|
208
|
124
|
## License
|
209
|
125
|
|
|
126
|
+OpenRaider is based on code, specs, and alogrithms from:
|
|
127
|
+
|
|
128
|
+* GooseEgg/Freyja 3d Modelers by Mongoose
|
|
129
|
+* TR Rosetta Stone spec sheet by Anonymous
|
|
130
|
+* TRView 1.0.0 by Yuri Zhivago, with patches by Mongoose
|
|
131
|
+
|
|
132
|
+All code should be GPLed, unless otherwise noted.
|
|
133
|
+
|
|
134
|
+Forked in December 2013 by xythobuz.
|
|
135
|
+
|
210
|
136
|
The included example Font, [Droid Sans Mono](http://www.droidfonts.com/licensing/), was created by Steve Matteson and is licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).
|
211
|
137
|
|
212
|
138
|
There are some included cmake scripts:
|
|
@@ -222,12 +148,3 @@ See the respective files in `cmake` for their licensing.
|
222
|
148
|
* Copyright 2003-2009 Kitware, Inc.
|
223
|
149
|
* Eric Wing
|
224
|
150
|
|
225
|
|
-OpenRaider is based on code, specs, and alogrithms from:
|
226
|
|
-
|
227
|
|
-* GooseEgg/Freyja 3d Modelers by Mongoose
|
228
|
|
-* TR Rosetta Stone spec sheet by Anonymous
|
229
|
|
-* TRView 1.0.0 by Yuri Zhivago, with patches by Mongoose
|
230
|
|
-
|
231
|
|
-All code should be GPLed, unless otherwise noted.
|
232
|
|
-
|
233
|
|
-2013, 2014 improvements, clean-up by xythobuz.
|