mirror of
https://github.com/LostArtefacts/TRX.git
synced 2025-04-28 12:47:58 +03:00
docs: update
This commit is contained in:
parent
d8b4fbecf6
commit
6fa5cb713e
1 changed files with 181 additions and 177 deletions
358
README.md
358
README.md
|
@ -1,6 +1,10 @@
|
|||
<p align="center">
|
||||
<img alt="Tomb1Main logo" src="tools/resources/logo.png" width="400"/>
|
||||
</p>
|
||||
|
||||
# Tomb Raider I: Community Edition
|
||||
|
||||
This is an open source implementation of the classic Tomb Raider I game. It was
|
||||
This is an open source implementation of the classic Tomb Raider I game (1996),
|
||||
made by reverse engineering the TombATI / GLRage variant of the original game
|
||||
and replacing proprietary audio/video libraries with open source variants.
|
||||
|
||||
|
@ -11,47 +15,67 @@ This project was inspired by Arsunt's
|
|||
[TR2Main](https://github.com/Arsunt/TR2Main/) project and the legacy name,
|
||||
"Tomb1Main", reflects that.
|
||||
|
||||
## Installing
|
||||
## Showcase
|
||||
|
||||
1. Download the latest Tomb1Main release from the GitHub releases.
|
||||
https://github.com/rr-/Tomb1Main/releases
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Mode selection
|
||||
<img src="docs/showcase1.jpg"/>
|
||||
</th>
|
||||
<th>
|
||||
Braid
|
||||
<img src="docs/showcase2.jpg"/>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Fly cheat
|
||||
<img src="docs/showcase3.jpg"/>
|
||||
</th>
|
||||
<th>
|
||||
Door open cheat
|
||||
<img src="docs/showcase4.jpg"/>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Enemy healthbars
|
||||
<img src="docs/showcase5.jpg"/>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
2. Unpack the contents to your game directory.
|
||||
## Installing (simplified)
|
||||
|
||||
1. Head over to GitHub releases: https://github.com/rr-/Tomb1Main/releases
|
||||
2. Download the installer. Your browser may complain that the .exe is unsafe, but it's OK to ignore this alert.
|
||||
3. Mark the installer EXE as safe to run by right-clicking on the .exe, going to properties and clicking "Unblock".
|
||||
4. Run the installer and proceed with the steps.
|
||||
|
||||
We hope that eventually these alerts will go away as the popularity of the project rises.
|
||||
|
||||
## Installing (advanced / manual)
|
||||
|
||||
1. Head over to GitHub releases: https://github.com/rr-/Tomb1Main/releases
|
||||
2. Download the zip file.
|
||||
3. Extract the zip file into a directory of your choice.
|
||||
Make sure you choose to overwrite existing directories and files
|
||||
(`Tomb1Main_config.json5` can remain).
|
||||
(`cfg/Tomb1Main_config.json5` can remain, but new features will not be configurable).
|
||||
4. (First time installation) Put your original game files into the target directory.
|
||||
1. For Steam and GOG users, extract the original `GAME.BIN` file using a tool such as UltraISO to your target directory.
|
||||
Note that neither the GOG nor the Steam releases ship the music files. You have a few options here:
|
||||
- You can download the music files from the link below.
|
||||
https://tmp.sakuya.pl/tomb1main/music.zip
|
||||
The legality of this approach is disputable.
|
||||
- Rip the assets yourself from a physical PlayStation/SegaSaturn disk.
|
||||
|
||||
3. (**Steam users / music**) The Steam version of the game does not ship with the
|
||||
music assets due to the publishers' negligence. If you have previously
|
||||
installed TombATI, you don't need to do anything. Otherwise you can download
|
||||
the music files from the link below.
|
||||
https://mega.nz/file/f9llhQAY#y0RqaMhR4ghtQ-1IFAGbHep_FCmkV8Q66bzdMWVqtuY
|
||||
**These assets are not a part of this project.** The legality of these is
|
||||
disputable. The most legal way to get the music on PC is to rip the assets
|
||||
yourself from a physical PlayStation disk. TombATI ships with this music by
|
||||
default, which this project chooses not to do.
|
||||
|
||||
4. Launch `Tomb1Main.exe`.
|
||||
|
||||
### Unfinished Business
|
||||
|
||||
1. (**Steam users / Unfinished Business**) The Unfinished Business expansion
|
||||
pack is freeware, however, the Steam version of the game does not ship with
|
||||
it and you'll need to install it separately. If you have previously
|
||||
installed TombATI, you don't need to do anything. Otherwise you can download
|
||||
the expansion pack from the link below.
|
||||
https://mega.nz/file/i8s0BAaD#wy3xyhuaHnco7aJKiKUV3zO6vCe86lLa3W7hWu249-M
|
||||
|
||||
2. Launch the game with `-gold` command line switch. A more detailed instruction:
|
||||
|
||||
1. Create a shortcut to `Tomb1Main.exe`.
|
||||
|
||||
2. Select the newly created shortcut, go to File Properties.
|
||||
|
||||
3. At the end of the "target" field, append `-gold` so it looks something like
|
||||
this:
|
||||
`(...)\Tomb1Main.exe -gold`
|
||||
|
||||
4. Launch the shortcut.
|
||||
Optionally you can also install the Unfinished Business expansion pack files.
|
||||
- Either this variant: https://tmp.sakuya.pl/tomb1main/unfinished_business.zip
|
||||
- Or the more manual link: https://archive.org/details/tomb-raider-i-unfinished-business-pc-eng-full-version_20201225
|
||||
2. For TombATI users this means copying the `data`, `fmv` and `music` directories.
|
||||
5. To play the game, run `Tomb1Main.exe`.
|
||||
6. To play the Unfinished Expansion pack, run `Tomb1Main.exe -gold`.
|
||||
|
||||
If you install everything correctly, your game directory should look more or
|
||||
less like this (click to expand):
|
||||
|
@ -190,48 +214,57 @@ such as Notepad. All the configuration is explained in that file.
|
|||
|
||||
Not all options are turned on by default. Refer to `Tomb1Main.json5` for details.
|
||||
|
||||
#### UI
|
||||
- added proper UI and bar scaling
|
||||
- added enemy health bar
|
||||
- added deaths counter
|
||||
- added more control over when to show health bar and air bar
|
||||
- added customizability to health bar and air bar
|
||||
- added enemy health bars
|
||||
- added PS1 style UI
|
||||
- added fade effects to displayed images
|
||||
|
||||
#### Gameplay
|
||||
- added ability to set user-defined FOV
|
||||
- added ability to select weapons / using items with numeric keys
|
||||
- added ability to look around while running
|
||||
- added TR3-like sidesteps
|
||||
- added shotgun flash sprites
|
||||
- added ability to sidestep like in TR3
|
||||
- added ability to automatically walk to items when nearby
|
||||
- added a pause screen
|
||||
- added a choice whether to play NG or NG+ without having to play the entire game
|
||||
- added Japanese mode (guns deal twice the damage, inspired by JP release of TR3); available for both NG and NG+
|
||||
- added ability to restart level on death
|
||||
- added ability to restart the adventure from any level when loading a game
|
||||
- added the "Story so far..." option in the select level menu to view cutscenes and FMVs
|
||||
- fixed keys and items not working when drawing guns immediately after using them
|
||||
- fixed counting the secret in The Great Pyramid
|
||||
- fixed running out of ammo forcing Lara to equip pistols even if she doesn't carry them
|
||||
- fixed a crash when Lara is on fire and goes too far away from where she caught fire
|
||||
- fixed settings not being saved when exiting the game with Alt+F4
|
||||
- fixed settings not persisting chosen layout (default vs. user keys)
|
||||
- fixed the infamous Tihocan crocodile bug (integer overflow causing creatures to deal damage across the entire level)
|
||||
- fixed Lara not being able to grab parts of some bridges
|
||||
- fixed Lara voiding if a badly placed timed door closes on her (doesn't occur in OG levels)
|
||||
- fixed bats being positioned too high
|
||||
- fixed alligators dealing no damage if Lara remains still in the water
|
||||
- fixed shotgun shooting when a locked target moves out of Lara's sight
|
||||
- fixed shotgun shooting too fast when not aiming at a target
|
||||
- fixed Lara grabbing ledges she shouldn't in stacked rooms (mainly St. Francis Folly tower)
|
||||
- fixed rare cases of Lara getting set on fire on a bridge over lava
|
||||
- fixed saving the game near Bacon Lara breaking her movement
|
||||
- fixed Lara glitching through static objects into a black void
|
||||
- fixed Lara pushing blocks through doors
|
||||
- fixed Lara switching to pistols when completing a level with other guns
|
||||
- fixed empty mutant shells in Unfinished Business spawning Lara's hips
|
||||
- fixed gun pickups disappearing in rare circumstances on save load (#406)
|
||||
- fixed broken dart ricochet effect
|
||||
- fixed exploded mutant pods sometimes appearing unhatched on reload
|
||||
- fixed bridges at floor level appearing under the floor
|
||||
|
||||
#### Cheats
|
||||
- added a fly cheat
|
||||
- added a level skip cheat
|
||||
- added a door open cheat (while in fly mode)
|
||||
- added a cheat to increase the game speed
|
||||
- added ability to adjust Lara's starting health
|
||||
- added ability to disable all medpacks
|
||||
- added ability to disable Magnums
|
||||
- added ability to disable UZIs
|
||||
- added ability to disable shotgun
|
||||
- added ability to disable main menu demos
|
||||
- added ability to disable FMVs
|
||||
- added ability to disable cutscenes
|
||||
- added ability to disable healing between levels
|
||||
- added rendering of pickups on the ground as 3D meshes
|
||||
- added ability to automatically walk to items when nearby
|
||||
- added braid (currently only works in Lost Valley)
|
||||
- added support for displaying more than 3 pickup sprites
|
||||
- added a choice whether to play NG or NG+
|
||||
- added Japanese mode (guns deal twice the damage); available for both NG and NG+
|
||||
- added external game flow (no longer 2 different .exes for TR1 and TR1UB). For TRLE builders:
|
||||
- the levels can be reordered
|
||||
- the levels can be renamed
|
||||
- all the strings can be translated, including keys and items
|
||||
- you no longer are constrained to 4 or 21 levels only
|
||||
- you can offer a custom Gym level
|
||||
- you can change the main menu backdrop
|
||||
- added automatic calculation of secret numbers
|
||||
- added compass level stats
|
||||
- added ability to keep timer on in inventory
|
||||
- added save game crystals game mode (enabled via gameflow)
|
||||
- added pause screen
|
||||
- added movable camera on W,A,S,D
|
||||
|
||||
#### Input
|
||||
- added ability to move camera around with W,A,S,D
|
||||
- added controller support
|
||||
| Xbox button | DualShock button | Action |
|
||||
| ----------- | ------------------ | --------------- |
|
||||
|
@ -249,98 +282,83 @@ Not all options are turned on by default. Refer to `Tomb1Main.json5` for details
|
|||
| Start | Options | Pause |
|
||||
| Right Stick | Right stick | Camera movement |
|
||||
| R3 | R3 | Reset camera |
|
||||
- added rounded shadows (instead of the default octagon)
|
||||
- added per-level customizable water color (with customizable blue component)
|
||||
- added per-level customizable fog distance
|
||||
- added adjustable in-game brightness
|
||||
- added .jpeg/.png screenshots
|
||||
- added support for HD FMVs
|
||||
- added fanmade 16:9 menu backgrounds
|
||||
- added ability to skip FMVs with the Action key
|
||||
- added fade effects
|
||||
- added a vsync option
|
||||
- added total pickups and kills per level to the stats screen
|
||||
- added restart level to passport menu on death
|
||||
- added contextual arrows to menu options
|
||||
- added a final statistics screen
|
||||
- added music during the credits
|
||||
- added fade effects to displayed images
|
||||
- added unobtainable pickups and kills stats support in the gameflow
|
||||
- added the option to pause sound in the inventory screen
|
||||
- added level selection to the load game menu
|
||||
- added the ability to make freshly triggered (runaway) Pierre replace an already existing (runaway) Pierre
|
||||
- added the PS1 style UI
|
||||
- added the "Story so far..." option in the select level menu to view cutscenes and FMVs
|
||||
- changed internal game memory limit from 3.5 MB to 16 MB
|
||||
- changed moveable limit from 256 to 10240
|
||||
- changed maximum textures from 2048 to 8192
|
||||
- changed maximum texture pages from 32 to 128
|
||||
- changed input method to DirectInput
|
||||
- changed saves to be put in the saves/ directory
|
||||
- fixed inability to switch Control keys during shimmy
|
||||
- fixed freeze when holding the Action key during end of level
|
||||
- fixed inability to switch Control keys when shimmying
|
||||
- fixed setting user keys being very difficult
|
||||
- fixed skipping FMVs triggering inventory
|
||||
- fixed skipping credits working too fast
|
||||
- fixed setting user keys being very difficult
|
||||
- fixed keys and items not working when drawing guns immediately after using them
|
||||
- fixed not being able to close level stats with Escape
|
||||
- fixed freeze when holding action key during end of level
|
||||
- fixed reading user settings not restoring the volume
|
||||
- fixed Tomb of Tihocan playing secret sound
|
||||
- fixed The Great Pyramid secret
|
||||
- fixed running out of ammo forcing Lara to equip pistols even if she doesn't carry them
|
||||
- fixed a crash when Lara is on fire and goes too far away from where she caught fire
|
||||
- fixed settings not being saved when exiting the game with Alt+F4
|
||||
- fixed settings not persisting chosen layout (default vs. user keys)
|
||||
- fixed the sound of collecting a secret killing the music
|
||||
- fixed the infamous Tihocan crocodile bug (integer overflow causing creatures to deal damage across the entire level)
|
||||
- fixed Lara jumping forever when alt+tabbing out of the game
|
||||
- fixed Lara voiding if a badly placed timed door closes on her (doesn't occur in OG levels)
|
||||
- fixed bats being positioned too high
|
||||
- fixed Lara not being able to grab parts of some bridges
|
||||
- fixed alligators dealing no damage if Lara remains still in the water
|
||||
- fixed shotgun shooting when a locked target moves out of Lara's sight
|
||||
- fixed shotgun shooting too fast when not aiming at a target
|
||||
- fixed Lara grabbing ledges she shouldn't in stacked rooms (mainly St. Francis Folly tower)
|
||||
- fixed rare cases of Lara getting set on fire on a bridge over lava
|
||||
- fixed saving the game near Bacon Lara breaking her movement
|
||||
|
||||
#### Statistics
|
||||
- added ability to keep timer on in inventory
|
||||
- added optional compass level stats
|
||||
- added optional final statistics screen
|
||||
- added optional deaths counter
|
||||
- added optional total pickups and kills per level
|
||||
- added unobtainable pickups and kills stats support in the gameflow
|
||||
|
||||
#### Visuals
|
||||
- added optional shotgun flash sprites
|
||||
- added optional rendering of pickups on the ground as 3D meshes
|
||||
- added braid (currently only works in Lost Valley)
|
||||
- added support for displaying more than 3 pickup sprites
|
||||
- added more control over when to show health bar and air bar
|
||||
- added customizable health bar and air bar
|
||||
- added rounded shadows (instead of the default octagon)
|
||||
- added adjustable in-game brightness
|
||||
- added support for HD FMVs
|
||||
- added fanmade 16:9 menu backgrounds
|
||||
- added optional fade effects
|
||||
- added a vsync option
|
||||
- added contextual arrows to menu options
|
||||
- fixed thin black lines between polygons
|
||||
- fixed audio mixer stopping playing sounds on big explosions
|
||||
- fixed underwater ambient sound effect not playing
|
||||
- fixed Lara glitching through static objects into a black void
|
||||
- fixed black screen flashing when navigating the inventory
|
||||
- fixed Lara pushing blocks through doors
|
||||
- fixed game audio not muting when game is minimized
|
||||
- fixed Lara switching to pistols when completing a level with other guns
|
||||
- fixed detail levels text flashing with any option change
|
||||
- fixed empty mutant shells in Unfinished Business spawning Lara's hips
|
||||
- fixed gun pickups disappearing in rare circumstances on save load (#406)
|
||||
- fixed broken dart ricochet effect
|
||||
- fixed exploded mutant pods sometimes appearing unhatched on reload
|
||||
- fixed sound effects playing rapidly in sound menu if input held down
|
||||
- fixed underwater caustics animating at 2x speed
|
||||
- fixed bridges at floor level appearing under the floor
|
||||
|
||||
## Showcase
|
||||
#### Audio
|
||||
- added music during the credits
|
||||
- fixed the sound of collecting a secret killing the music
|
||||
- fixed audio mixer stopping playing sounds on big explosions
|
||||
- fixed game audio not muting when game is minimized
|
||||
- fixed underwater ambient sound effect not playing
|
||||
- fixed sound effects playing rapidly in sound menu if input held down
|
||||
|
||||
#### Mode selection
|
||||
#### Mods
|
||||
- added ability to adjust Lara's starting health (easy no damage mod)
|
||||
- added ability to disable healing between levels
|
||||
- added ability to disable certain item pickups (all medpacks, shotgun, Magnums and/or UZIs)
|
||||
- added ability to disable main menu demos, FMVs and/or cutscenes
|
||||
- added external game flow (no longer 2 different .exes for TR1 and TR1UB). For TRLE builders:
|
||||
- the levels can be reordered
|
||||
- the levels can be renamed
|
||||
- all the strings can be translated, including keys and items
|
||||
- you no longer are constrained to 4 or 21 levels only
|
||||
- you can offer a custom Gym level
|
||||
- you can change the main menu backdrop
|
||||
- added automatic calculation of secret counts (no longer having to fiddle with the .exe to get correct secret stats)
|
||||
- added save game crystals game mode (enabled via gameflow)
|
||||
- added per-level customizable water color (with customizable blue component)
|
||||
- added per-level customizable fog distance
|
||||
|
||||

|
||||
|
||||
#### Braid
|
||||
|
||||

|
||||
|
||||
#### Fly cheat
|
||||
|
||||

|
||||
|
||||
#### Door open cheat
|
||||
|
||||

|
||||
|
||||
#### Enemy health bars
|
||||
|
||||

|
||||
#### Miscellaneous
|
||||
- added .jpeg/.png screenshots
|
||||
- added an option to pause sound in the inventory screen
|
||||
- added ability to skip FMVs with the Action key
|
||||
- added ability to make freshly triggered (runaway) Pierre replace an already existing (runaway) Pierre
|
||||
- expanded internal game memory limit from 3.5 MB to 16 MB
|
||||
- expanded moveable limit from 256 to 10240
|
||||
- expanded maximum textures from 2048 to 8192
|
||||
- expanded maximum texture pages from 32 to 128
|
||||
- ported audio decoding library to ffmpeg
|
||||
- ported video decoding library to ffmpeg
|
||||
- ported image decoding library to ffmpeg
|
||||
- ported audio output library to SDL
|
||||
- ported input method to SDL
|
||||
- changed saves to be put in the saves/ directory
|
||||
- fixed playing the secret sound in Tomb of Tihocan
|
||||
- fixed reading user settings not restoring the volume
|
||||
|
||||
## Q&A
|
||||
|
||||
|
@ -348,27 +366,22 @@ Not all options are turned on by default. Refer to `Tomb1Main.json5` for details
|
|||
|
||||
Yes. If you encounter a bug, please file a ticket.
|
||||
|
||||
2. **Can we get HD textures? Reflections? Other graphical updates?**
|
||||
2. **Can we get HD textures? Reflections? Other visual updates?**
|
||||
|
||||
Eventually, probably yes. Please see the road map to have a general idea
|
||||
what is currently being worked on.
|
||||
Eventually, probably yes, but we'd really appreciate help with these.
|
||||
|
||||
3. **Can we get braid in every level? Skyboxes? Flyby cameras? New animations? etc.**
|
||||
|
||||
Not sure at this moment; this requires meddling with the original game
|
||||
level files. It's one thing fixing a faulty trigger bit in The Great
|
||||
Pyramid for the final secret, and another to insert a completely new
|
||||
animation, a textured mesh or a sound file and pretend it's always been a
|
||||
part of the original game. So far we haven't found a good way that'll keep
|
||||
the code maintainable.
|
||||
The difficulty here is that these features often require inserting a
|
||||
completely new animation, a textured mesh or a sound file and pretend
|
||||
they're always been a part of the original game. So far we haven't found a
|
||||
good way that'll keep the code maintainable.
|
||||
|
||||
4. **Can I play this on Mac, Linux, Android...?**
|
||||
|
||||
No promises here, but the game is now playable with wine (including sound
|
||||
and music) and there is planned work towards reducing the amount of
|
||||
Windows-only code.
|
||||
We'd like to eventually have only SDL dependency.
|
||||
|
||||
## Current road map
|
||||
## Road map
|
||||
|
||||
Note: this section may be subject to change.
|
||||
|
||||
|
@ -377,6 +390,8 @@ Note: this section may be subject to change.
|
|||
- [x] Replace the proprietary music player with libavcodec and SDL
|
||||
- [x] Replace the proprietary FMV player with libavcodec and SDL
|
||||
- [x] Break off TombATI, ship our own .EXE rather than a .DLL
|
||||
- [x] Add an installer
|
||||
- [ ] Add a config tool
|
||||
- [ ] Work on cross platform builds
|
||||
- [x] Port DirectSound to libavcodec and SDL
|
||||
- [x] Port WinMM to libavcodec and SDL
|
||||
|
@ -386,19 +401,8 @@ Note: this section may be subject to change.
|
|||
- [ ] ...
|
||||
- [ ] Test for performance and crash resilience
|
||||
- [ ] 3.0
|
||||
- [ ] Beautify the code
|
||||
- [x] Refactor GLRage to no longer emulate DDraw
|
||||
- [x] Refactor GLRage to no longer emulate ATI3DCIF
|
||||
- [x] Apply rigid name conventions to function names
|
||||
- [ ] Refactor specific/ away?
|
||||
- [ ] ...
|
||||
- [ ] Work on data injection and other features?
|
||||
|
||||
## Importing data to IDA
|
||||
|
||||
This option requires IDAPython and a recent version of IDA. Install Python 3.8+
|
||||
and IDA 7.5+, then hit alt+f7, then choose `tools/ida_import.py`.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the GNU General Public License - see the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue