2021-02-18 16:40:32 +01:00
|
|
|
# Tomb1Main
|
2021-02-07 23:29:49 +01:00
|
|
|
|
2021-02-08 14:24:50 +01:00
|
|
|
This is a dynamic library for the classic Tomb Raider I game (TombATI version).
|
|
|
|
The purpose of the library is to reimplement all the routines performed by the
|
|
|
|
game and enhance the gameplay with new options.
|
2021-02-07 23:29:49 +01:00
|
|
|
|
2021-03-17 10:29:29 +01:00
|
|
|
See the [Tomb Raider Forums
|
|
|
|
topic](https://www.tombraiderforums.com/showthread.php?p=8286101).
|
|
|
|
|
2021-02-11 16:47:07 +01:00
|
|
|
This project is inspired by Arsunt's
|
|
|
|
[TR2Main](https://github.com/Arsunt/TR2Main/) project.
|
2021-02-07 23:29:49 +01:00
|
|
|
|
2021-02-11 16:47:07 +01:00
|
|
|
## Installing
|
2021-02-07 23:29:49 +01:00
|
|
|
|
2021-11-19 14:19:15 +01:00
|
|
|
1. Get a copy of the latest Tomb1Main release from
|
2021-03-21 18:38:45 +01:00
|
|
|
[here](https://github.com/rr-/Tomb1Main/releases).
|
2021-11-19 14:19:15 +01:00
|
|
|
2. Unpack the contents to your game directory. Make sure you overwrite existing
|
2021-03-21 18:38:45 +01:00
|
|
|
files (Tomb1Main_config.json5 can be left alone).
|
2021-02-07 23:29:49 +01:00
|
|
|
|
2021-03-21 18:39:52 +01:00
|
|
|
To play the Unfinished Business expansion pack, launch the game with `-gold`
|
|
|
|
command line switch:
|
|
|
|
|
|
|
|
1. Create a shortcut to `tombati.exe`
|
|
|
|
2. Select the newly created shortcut, go to Properties
|
|
|
|
3. At the end of the "target" field, append `-gold` so it looks something like
|
|
|
|
this:
|
|
|
|
```
|
|
|
|
(...)\tombati.exe -gold
|
|
|
|
```
|
|
|
|
|
2021-02-08 14:22:36 +01:00
|
|
|
## Configuring
|
|
|
|
|
2021-03-07 15:14:35 +01:00
|
|
|
To configure Tomb1Main, edit the `Tomb1Main.json5` file in your text editor
|
|
|
|
such as Notepad. All the configuration is explained in that file.
|
2021-02-08 14:22:36 +01:00
|
|
|
|
2021-03-14 15:52:54 +01:00
|
|
|
## Improvements over original game
|
|
|
|
|
|
|
|
Not all options are turned on by default. Refer to `Tomb1Main.json5` for details.
|
|
|
|
|
2021-11-16 12:06:35 +01:00
|
|
|
- added proper UI and bar scaling
|
2021-03-14 15:52:54 +01:00
|
|
|
- added enemy health bar
|
|
|
|
- added more control over when to show health bar and air bar
|
2021-11-16 12:06:35 +01:00
|
|
|
- added customizability to health bar and air bar
|
2021-03-14 15:52:54 +01:00
|
|
|
- added ability to set user-defined FOV
|
2021-11-16 12:06:35 +01:00
|
|
|
- added ability to select weapons / using items with numeric keys
|
2021-03-14 15:52:54 +01:00
|
|
|
- added ability to look around while running
|
|
|
|
- added TR3-like sidesteps
|
|
|
|
- added shotgun flash sprites
|
|
|
|
- added a fly cheat
|
|
|
|
- added a level skip cheat
|
|
|
|
- added a door open cheat (while in fly mode)
|
|
|
|
- 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
|
2021-11-01 22:41:43 +01:00
|
|
|
- added rendering of pickups on the ground as 3D meshes
|
2021-03-14 15:52:54 +01:00
|
|
|
- added braid (currently only works in Lost Valley)
|
2021-11-16 12:06:35 +01:00
|
|
|
- added support for displaying more than 3 pickup sprites
|
2021-03-14 15:52:54 +01:00
|
|
|
- added a choice whether to play NG or NG+
|
2021-03-17 02:12:10 +01:00
|
|
|
- added Japanese mode (guns deal twice the damage); available for both NG and NG+
|
2021-11-16 12:06:35 +01:00
|
|
|
- added external game flow (no longer 2 different .exes for TR1 and TR1UB). For TRLE builders:
|
2021-03-14 15:52:54 +01:00
|
|
|
- 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
|
2021-11-20 01:42:23 +01:00
|
|
|
- you can change the main menu backdrop
|
2021-03-14 15:52:54 +01:00
|
|
|
- added automatic calculation of secret numbers
|
2021-03-17 13:56:05 +01:00
|
|
|
- added compass level stats
|
2021-03-17 14:31:43 +01:00
|
|
|
- added ability to keep timer on in inventory
|
2021-03-20 00:10:46 +01:00
|
|
|
- added save game crystals game mode (enabled via gameflow)
|
2021-03-21 18:38:45 +01:00
|
|
|
- added pause screen
|
2021-10-23 01:41:41 +11:00
|
|
|
- added movable camera on W,A,S,D
|
2021-10-25 20:13:16 +11:00
|
|
|
- added Xbox One Controller support
|
|
|
|
- Per Axis Dead Zone
|
|
|
|
- Left Stick = movement
|
|
|
|
- A = Jump/Select
|
|
|
|
- B = Roll/Deselect
|
|
|
|
- X = Action/Select
|
|
|
|
- Y = Look/Select
|
|
|
|
- LB = Walk
|
|
|
|
- RB = Draw Weapons
|
|
|
|
- Dpad Up = Draw Weapons
|
|
|
|
- Back = Option
|
|
|
|
- Start = Pause
|
|
|
|
- Right Stick = Camera Movement
|
|
|
|
- R3 = Reset Camera
|
2021-10-27 20:37:43 +02:00
|
|
|
- added rounded shadows (instead of the default octagon)
|
2021-10-28 17:07:15 +02:00
|
|
|
- added per-level customizable water color (with customizable blue component)
|
2021-11-12 20:05:58 +01:00
|
|
|
- added per-level customizable fog distance
|
2021-11-12 00:03:46 +01:00
|
|
|
- added adjustable in-game brightness
|
2021-03-20 00:10:46 +01:00
|
|
|
- changed internal game memory limit from 3.5 MB to 16 MB
|
|
|
|
- changed moveable limit from 256 to 10240
|
2021-11-04 00:28:58 +01:00
|
|
|
- changed maximum textures from 2048 to 8192
|
|
|
|
- changed maximum texture pages from 32 to 128
|
2021-03-30 21:26:53 +02:00
|
|
|
- changed input method to DirectInput
|
|
|
|
- fixed inability to switch Control keys during shimmy
|
2021-03-14 15:52:54 +01:00
|
|
|
- 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
|
2021-03-17 11:47:44 +01:00
|
|
|
- fixed not being able to close level stats with Escape
|
2021-03-14 15:52:54 +01:00
|
|
|
- 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
|
2021-03-14 15:58:08 +01:00
|
|
|
- fixed settings not being saved when exiting the game with Alt+F4
|
2021-03-14 15:59:37 +01:00
|
|
|
- fixed settings not persisting chosen layout (default vs. user keys)
|
2021-11-16 12:06:35 +01:00
|
|
|
- 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)
|
2021-03-30 21:38:44 +02:00
|
|
|
- fixed Lara jumping forever when alt+tabbing out of the game
|
2021-03-31 01:29:27 +02:00
|
|
|
- fixed Lara voiding if a badly placed timed door closes on her (doesn't occur in OG levels)
|
2021-11-03 16:16:55 +01:00
|
|
|
- fixed bats being positioned too high
|
2021-03-14 15:52:54 +01:00
|
|
|
|
2021-03-17 02:28:40 +01:00
|
|
|
## Showcase
|
|
|
|
|
|
|
|
#### Mode selection
|
|
|
|
|
|
|
|

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

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

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

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

|
|
|
|
|
2021-03-21 18:39:26 +01:00
|
|
|
## Q&A
|
|
|
|
|
|
|
|
1. **Is the game fully playable from beginning to the end?**
|
|
|
|
|
|
|
|
Yes. If you encounter a bug, please file a ticket.
|
|
|
|
|
|
|
|
2. **Can we get HD textures? Reflections? Other graphical updates?**
|
|
|
|
|
|
|
|
Eventually, probably yes. But first we need to decompile the renderer,
|
|
|
|
which is going to take a while (can't give an estimate).
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
4. **Can I play this on Mac, Linux, Android...?**
|
|
|
|
|
|
|
|
Currently only Windows version is available.
|
|
|
|
|
|
|
|
5. **Do I really need to install this TombATI patch? Why not have just the .exe?**
|
|
|
|
|
|
|
|
One of our goals is to eventually provide a single .exe file (maybe with
|
|
|
|
some .dll-s related to multimedia) and only require the players to supply
|
|
|
|
the game data, i.e. the level files, music and FMVs. However, this requires
|
|
|
|
decompiling GFX and SFX routines which, again, is going to take a while.
|
|
|
|
|
2021-02-11 00:26:17 +01:00
|
|
|
## Decompilation progress
|
|
|
|
|
2021-11-04 22:33:57 +01:00
|
|
|
Currently the entirety of TombATI.exe's code is decompiled. Our goal now is to
|
|
|
|
ship with our own .exe rather than a DLL. To make it possible, we must reverse
|
|
|
|
portions of the glrage patch (glrage.dll) and the ATI renderer (ati3dcif.dll)
|
|
|
|
and that is the current project focus.
|
2021-02-11 00:26:17 +01:00
|
|
|
|
2021-10-19 20:35:34 +02:00
|
|
|
## 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 `scripts/ida_import.py`.
|
|
|
|
|
2021-02-07 23:29:49 +01:00
|
|
|
## License
|
|
|
|
|
2021-02-08 14:24:50 +01:00
|
|
|
This project is licensed under the GNU General Public License - see the
|
|
|
|
[COPYING.md](COPYING.md) file for details.
|
2021-02-07 23:29:49 +01:00
|
|
|
|
|
|
|
## Copyright
|
|
|
|
|
2021-02-11 18:22:17 +01:00
|
|
|
(c) 2021 Marcin Kurczewski. All rights reserved. Original game is created by
|
2021-02-08 14:24:50 +01:00
|
|
|
Core Design Ltd. in 1996. Lara Croft and Tomb Raider are trademarks of Square
|
|
|
|
Enix Ltd.
|