Tomb Raider 4.5 Engine Patcher
English | German

 

Hauptseite
Downloads
Handbuch
DRACO patches
eSSe scripting
FAQ
Anti-TREP
Bugs Denkmal
Preset archive
Kontakt

DRACO custom patch module reference (updated 13 Apr 2007)

Hinweis: Dies Seite beinhaltet alle Informationen über Custom Patches, die früher auf der "Handbuch" Seite zu finden waren.

 

Table of contents:

 1. Überblick
 
2. How to use custom patches?
   
2.1. Custom patches reference
 
3. How to create custom patches?
   
3.1. DRCMerger


1.: Überblick

 

Mehr als ein Jahr ist vergangen, seit die ersten Patches für die TR4 Engine im Internet erschienen sind. Fast jeden Monat wird irgend etwas neues herausgefunden und es ist sehr schwer,
Wenn du in die TREP History schaust, wirst du sehen, dass in der Mitte von 2006, fast jede Woche neue Versionen von TREP veröffentlicht wurden.

Almost every month something completely new is discovered, and it's very hard to handle all these new options with just recompiling one utility over and over again. If you will look at TREP's history, you will see that in the middle of 2006, new versions were released almost every week. The reason for such extremely frequent updates is continous researching of TR4 engine by numerous people around the world. That is, in the past, every new option was hardly integrated into TREP's code and there was no possibility for altering patching routines and adding new patches without recompiling main TREP's executable.

So, when in the end of 2006 amount of various patches and new options grew pretty fast, it becomes obvious that now we need something even more flexible — a module which will allow to create ANY patch with ANY parameters without modifying main TREP code.

DRACO module's purpose is:

  • Minimize download times and also liquidate time gaps between developing and releasing patch. Think like about antivirus bases or anti-spam bases — you only need to update small base files to let your antivirus program know new modifications of viruses, you don't need to download new antivirus's installer every week. Same thing with DRACO module — you don't need new TREP versions for any new feature (however, some critical bugfixes and new features still can be added only with new version of TREP), you only need small 60 kb file which will contain all new updated options and patches. Also DRACO module allows you to modify and update patches VERY FAST.
  • To allow you creation of your own new patches. If some day you will learn assembly language or find interesting parameter with OllyDbg, you can immediately create custom patch for TREP, and it will appear in TREP's custom patches window just like any other patch. That is, you can create a lot of your own custom patches and dynamically change their values, position, modify offsets on the fly, add parameters etc.

Das ist der Grund warum man DRACO (Dynamically-ReplaceAble Code Organizer) nennt — es erlaubt dir etwas hinzuzufügen, zu löschen, anzumachen, auszumachen, modifizieren und custom patches zu verändern.


2.: WIE VERWENDE ICH CUSTOM PATCHES?

Der Aufbau vom DRACO module ist beträchtlich einfach:

Auf der linken Seite ist die Patch Liste. Du kannst dort patches Aktivieren und Deaktivieren, welche du brauchst, oder nicht brauchst. Die Beschreibung ändert sich im Rechten Fenster, wenn du einen anderen Patch anklickst. Die Rechte Seite ist die Patch Info Box und sie beinhaltet nützliche Informationen des entsprechenden patches, wie Name, Beschreibung usw. Markierte patches erlauben dir die dynamischen Parameter zu verändern, du wirst entsprechende Beschreibungen und Textfelder in der Infobox entdecken.

In manchen Fällen färbt sich bei bestimmen Patches die Infobox (Schrift) rot und es taucht ein rotes Bild auf der Rechten Seite auf wie dieses Beispiel:


Patch Titel rot gefärbt!

Wenn dies passiert, hast du nicht alle Optionen aktiviert, die für diesen Patch erforderlich sind. Jedes rote Bild hat seine eigene Bedeutung, dies kannst du erfahren, wenn du mit dem Mauszeiger über da Bild fährst, ändert sich der Mauszeiger in eine Hans. Wenn du anschließend auf das Bild klickst, öffnet sich ein neues Fenster in dem steht, welche Option du aktivieren muss.

— hier musst du aktivieren «Extend tomb4.exe size» Option im Hauptfenster von TREP.
— hier musst du aktivieren «Remap particle buffer» Option im Hauptfenster von TREP.
— hier musst du aktivieren «Remap scene memory» Option im Hauptfenster von TREP..
— hier musst du aktivieren «Enable advanced savegame management» Option im Hauptfenster von TREP.
— hier musst du diverse extra Custom patches aktivieren um den einen lauffähig zu bekommen. Am einfachsten ist es, du klickst auf das Bild und du wirst dann die entsprechende Liste bekommen, welche patches du Aktivieren musst.

DRACO module buttons:

  load set: Lade eine vorgefertigte Patch Datei (Datei die alle Informationen über dem custom Patch enthält).
  save set: Wenn du einen Patch editierst oder selber patches erstellst kannst du diese hiermit speichern.
  defaults: Setzt alle patches und Einstellungen der patches wieder auf Werkseinstellung zurück.
  proceed: Schließt das custom patches Fenster und kehrt zum TREP Hauptfenster zurück.


Suchfunktion: DRACO module hat eine eingebaute Suchfunktion. Wenn du viele patches in der Liste hast, kannst du die Suche benutzen, um einen Patch schneller zu finden.
Um die Suche benutzen zu können, tippe einfach bestimmte Suchwörter in die Such box und Klicke Enter, oder auf die Lupe, du wirst anschließend zu den ersten Treffer geführt.
Wenn die Suchfunktion nichts finden konnte, wirst du in der Such box folgendes lesen können: [sequence not found]. Um die Suche von vorne beginnen zu können, drücke einfach auf dem Pfeil neben der Lupe.

Du kannst auch Tastenkürzel für die Suche benutzen:

  F2 — Suche vom Anfang an.
  F3 — Suche nächsten Treffer.

Using parameters

Manche custom patches erlauben dir einen dynamic parameter zu verändern oder mehrere dynamic parameters.

Sometimes custom patches will allow you to change one or more dynamic parameters with it. It appears like this in patch's description box:

In this case, patch allows you to specify three different parameters for displaying enemy state on game screen. You may ask: «what the heck? I only see one parameter, not three!» But wait a little. Do you see that parameter's description is UNDERLINED? That's that! Just move mouse pointer to parameter's description, and you will see that it will change to Mickey Mouse's hand. Now click it, and — voila! — three parameters at your service!


Can you see five different parameters that you can select from parameter list?

If there is only one parameter in selected patch, parameter's description label won't be underlined, mouse pointer won't turn to Mickey's hand and you won't be able to bring up parameter list by clicking on parameter's description label.

Also note small round arrow picture at the right side of parameter's textbox. Note that mouse pointer will again turn to Mickey's hand. Click on it and you will see that parameter's value resetted to defaults!

***

2.1.: Custom patches reference

In this section we will try to describe most useful custom patches currently available. If you don't see some of these patches in your custom patch list, be sure you've got latest custom patches file.

Ammo counter
Can you understand Our Dearest Core Design Programmers? Can you tell me why they've removed a lot of good features introduced in previous games from TR4 engine? Obviously you can't, because such behaviour exceeds all borders of logic and common sense. Why they've removed useful ammo counter? No one knows. But now... Prepare... AMMO COUNTER IS BACK! With improvements! Now ammo counter have two modes — normal and critical, just like HP or AP bar! You can set font effect ID for each mode (for ex., you can create red critical ammo counter and yellow normal ammo counter), and also ammo value threshold between these two modes!


Ammo counter: normal mode (left) and critical mode (right)

Also ammo counter will work, if you've enabled limited pistol ammo. If you've unlimited ammo for some weapon, ammo counter won't show.

Another distinctive feature of this updated ammo counter is that it can show current flare's lifetime, if Lara holds one. Note that in this case ammo counter's format will change to counting-down MIN:SEC format, i. e. you will see how much time left until current flare will die.

Ammo counter: shotgun divider
It's an add-on for previous patch. In case you're using MP5 or M16 in shotgun slot, you can disable 6x divider, so counter will show native ammo value, not divided by 6.

Enable in-game timer
Shows overall game timer in top right corner.

Enable GAME OVER
Enables blinking GAME OVER text when Lara dies. This feature was never introduced in full PC versions of TR4 and TR5, but supposedly it was used in some demo versions and console versions.

Disable blinking text
Disables fading text effect, replacing it with constant colour. You can change font brightness with parameter.

Always exit statistics
When user will press ESC key in statistics screen, he will be thrown back in game immediately, bypassing PAUSED screen. VERY useful if you're gonna use SHOW_STATS flipeffect command to show final game or level statistics in the end of your game.

Add [Kills] to statistics
For some reason, TR4 have no «Kills» entry in statistics screen. This patch will return kills entry to statistics. Note that text «Kills» is hardcoded, so you can't change it with script file. Also you must remember that TR4 engine ignores some enemies when calculating this value (for ex., horseman) and resets this statistics entry with every new level.

Add [Hits] to statistics
Adds new, never seen before accuracy statistics entry. It will appear as additional value after «Ammo used» entry.

Disable quicksave when game is over
Disables F5 savegame hotkey when Lara is dead. You may ask: «what the heck is this?» Well, then, you're lucky that you've never tried to smash your keyboard in anger after occasional saving over existing savegame when Lara was already dead! Fortunately, this patch can preserve your mental health by disabling savegame hotkey when Lara have died.

Fix flyby hotkey bug
Fixes nasty bug that allowed Lara to draw her guns when flyby is active. VERY useful when you're creating cutscenes.

Fix flyby legend draw
For some reason, Core disabled legend strings during flybys. This patch, indeed, allows you to use legend strings with flybys. Note that you can use ANY flyby bars height with it, since legend string will automatically move above bottom flyby bar (it's really cool effect when legend string moves up synchronously with flyby bars, no?).

Disable add-on gun sound
Removes additional EXPLOSION_1 sound, which is playing when Lara uses pistols, uzis, revolver or shotgun.

Disable sentry gun flame attack
Forces sentry gun to use gunfire attack even on narrow distances.

Old-skool teeth spikes 1
Enables spit animation and sound, when Lara jumps onto teeth spikes.

Old-skool teeth spikes 2
With this patch Lara can safely walk through teeth spikes, like in earlier TR1-TR3 games.

Old-skool teeth spikes 3
Disables spikes sound if spikes are sticked out constantly (OCB 16+). Allows to avoid spikes sound playing after savegame reloading.
If you want to create Coastal Ruins-like «hidden» teeth spikes, you should use OCB 36 instead of OCB 20, or stick out sound won't play. (In fact, Coastal Ruins' teeth spikes has exactly 36 in its OCB field.)

Teeth spikes — kill enemies
When this patch is activated, teeth spikes object will be able to kill enemies! You can use it to create some puzzle which will require Lara to kill enemy without using her guns.

Wireframe mode
Nifty and useless patch that will set almost all geometry and sprites to wireframe mode. You can use it to debug your level or to inspect internal TR4 clipping.

Single gun with PULSE (left)
Disables left pistol and UZI, if you've set PULSE=ENABLED in your script file for corresponding level. It can be useful if in some leves you're using other character, who has single-gun armoury (instead usual Lara's twin-guns). For ex., if some of your levels are using Kurtis as a playable character, you can create single-gun mode for his levels only.

Bugfix: poisoned darts
This patch will fix nasty TR4 engine bug and will allow you to use poisoned darts, just like in TR3.

Static shatter: limiters
This patch with two parameters will allow you to define UPPER and LOWER limit of static meshes' IDs. With it, you can create much more static shatters.

Static shatter: alternate sound
This patch will divide static shatters into two groups. One group will use default sound when shatters, and other group will use custom sound.

Parameters:

  • Alt. sound threshold: specifies if default or alt. sound will be used. If mesh ID is less than threshold, default will be used, otherwise alternate sound ID will be used.
  • Alt. shatter sound ID: sets custom alternate sound for second group of static shatters. You can use some unused sound index, add alternate shatter sound in your SOUNDS.TXT file and then use both these sounds for different static shatters. For example, now you can have BOTH breakable wood crates that will produce wood sound, and breakable windows that will produce shattered glass sound.

Replace Wild Boar AI with Troops AI
Replaces Wild Boar AI with Troops AI. Please note that after this patch Wild Boar slot will share all animations with Troops slot.

Unlimited air with STARFIELD
If your script file will contain STARFIELD=ENABLED entry for certain level, it will set unlimited air supply for Lara. With this patch, you can create underwater episode with Lara using Scuba Gear or Extreme Depth Diving Suit and so on.

Relocate fog bulb buffer (test)
Test patch to increase maximum amount of simultaneously shown fog bulbs from 5 to 21.

Relocate dynamic lights buffer (test)
And now… Finally… Prepare… One Of The Most Nasty TR4 Bugs Ever… The Flare Bug! What do you know… Now you can fix it! In fact, this patch will increase max. amount of dynamic lights from 32 to 127, so you can use much more flame emitters / flares / light objects at the same moment.

Relocate rope buffer (test)
TR4 engine definetly isn't TR: Legend engine. Did you know that Our Dearest Core Design Programmers allowed us to use only FIVE ropes in each level? If you will try to use more than 5 ropes, level will immediately crash, even if you have no any other objects in your level. So this patch will relocate rope buffer, and you will be able to use up to 30 ropes.

Pigtail: gravity
Simply sets gravity for pigtail. You can set it lower to give Lara's pigtail more «air» and make it look more fluid and smooth.

Extended loading bar X position
This option, if active, will override corresponding Bar Customizer's setting and will allow you to use bigger X coordinates for loading bar. In other words, you can shrink loading bar and then move it to the center of the screen, so it will look like loading bar in TR5.

Disable baboon magic death
If you don't want any fantasy and otherworld chit-chat in your levels, you can remove orange explosion after baboon's death. After this, he will die like any other normal creature in TR4 (except tiny and barely noticeable square that will appear where explosion epicentre should be).

Enable standable pushables (beta)
This patch allows you to use good old TR1-TR3 climbable pushables. But there are some notable differences. First of all — now you can stack these pushables! For example, you can create a pyramid of pushables, and Lara should somehow re-arrange this pyramid to access new area or to jump over some nasty trap. Also there is no «lower pushable» bug — unlike TR1-TR3, Lara won't be able to push/pull lower block until all upper blocks are removed.
Second new feature — now you can DYNAMICALLY CHANGE pushable's height! It means that you can create not only classic 4-click cubical pushables, but also 2-click and 3-click mini-pushables, as well as massive 5-click, 6-click, 8-click etc. pushables! Imagine that Lara now can move some tall pillars or, in contrary, squished platforms — now you have much more possibilities for various puzzles!


3 different pushables in action: 4-click (classical), 6-click and 8-click.

You must set each pushable's height with OCB field. Value is raw global coordinates value, i. e.:

? To create classical 4-click pushblock, you must enter 1024 in OCB field.
? To create 2-click pushable (half of classical pushblock) you must enter 512.
? To create 6-click tall pushable pillar, you must enter 1536.
? And so on…

Make sure that collision box is correct, or else Lara will refuse to push/pull these pushables.

If you want to have both classical pushblocks and «modern» TR4-TR5-like «smooth» pushables without block collision — don't worry! You still can use TR4-like pushables along with classical pushable blocks. Just set OCB to 0, and Lara will treat this pushable as always in TR4 engine. Unfortunately, you CAN'T use both these types of pushables on the same floor level, but you indeed CAN use them in different areas, where they won't interfere.

BUG WARNING: of course, as always, Our Dearest Core Design Programmers left a great surprise for us there too. TR4 engine contains really nasty bug which locks-up pushable and denies to push/pull it and also messes up floor collision data. When Lara grabs a block in preparation to push/pull it, you can VERY QUICKLY push forward or backward key and then IMMEDIATELY unpush both action and direction key. In about 2/3 of all cases, Lara won't push/pull block, and it will occasionally «lock up» and Lara won't be able to push pull it. Also, if you've activated climbable pushable patch, it will result in messing up floor collision data. Unfortunately, the nature of this bug is very well integrated into code, so it's not possible to fix it now. So say thanks to Our Dearest Core Design Programmers and their outstanding programming skills again.

Now let me tell you something about pushable stacking. Theoretically, you can stack ANY type of pushables in ANY combination with ANY amount of rows. Here's a few examples how you can create really challenging puzzles with different types pushables in different combinations:


Combined puzzles using pushables with various collision heights (in this case — 2-click and 4-click)
 

And in these cases Lara will deny to pull/push lower pushable, until all upper pushables are removed. Note that this trick was not possible even in TR3:


Lara won't pull or push lower pushable, until two upper pushables are removed.


Lara won't pull lower pushable, until upper pushable is removed.

Quick crawlspace climb
If you remember TR5, maybe you also remember that there was no need to press DUCK button when climbing into crawlspace. This patch will act in the same way, allowing you to climb into crawlspace without pressing DUCK button (i. e. Lara will automatically climb into crawlspace in «duck» state).

Enable ladder crawl (beta)
Another patch for enabling TR5-specific move. In TR5, when Lara is climbing up the ladder and there is crawlspace above, she will immediately crawl into crawlspace. This patch will allow you to use same trick, but with one difference — you must hold action button until crawl animation will end. To make it work, you must rip animation #473 from TR5 level file, then paste it into any new animation slot in WadMerger and specify corresponding animation number in patch's parameter textbox.

Enable crawlspace jump
And another TR5-specific move — jumping out from the crawlspace facing deep pit. Maybe you already know that all revised TR4 wads already contain this animation as #421. Perhaps, Core Design had plans to implement this movement in TR4 engine, but delayed it until TR5. This patch will indeed enable this trick, and Lara will be able to flip forward from the crawlspace with jump key. Note that you can use this patch with ALREADY EXISTING CUSTOM LEVELS which contain unmodified animation #421, and therefore enjoy this new move without altering level files!


Crawlspace jump in Horus' Neon God. No level flie altering needed!

Parameters:

  • Pit deepness threshold: specifies minimum pit deepness to perform this action. Minimum is 512 (2 clicks).
  • Crawlspace jump animation #: custom animation number.

Enable crawlspace roll
This fancy move never was introduced in PC versions of TR4 and TR5, despite the fact that all revised TR4 wads contain this animation sequence (number 218-219-220) and it's possible to use this trick on PlayStation versions. Perhaps, Our Dearest Core Design Programmers blundered once again and forgot to add control handler for it. Anyway, now you can use this move by pressing SPRINT key when Lara is in duck stand state. Also note that you can use pistols, uzis and revolver with this move, so it's now possible to shoot when moving in crouch position.
As with previous patch, you don't need any extra custom animations for it, because all revised wads and custom Lara objects already contain this move. Just enable this patch, and you will enjoy this brand new move in old custom levels!


Crawlspace roll in Christoph's Jade Empire. No level file altering needed!

Parameters:

  • Animation #: default animation number. You shouldn't change it, as long as you won't decide to rearrange this already existing animation sequence.
  • Collision check distance: Unfortunately, TR4 calculates collision incorrectly, so when Lara will try to roll nearby some tall block, she can occasionally find herself all the way up on it! To solve this problem, you can increase Collision check distance parameter (values about 800-1024 should do fine), but then Lara will deny to roll when facing walls at different angles.
  • Max. collision height thresh: specifies maximum block height that Lara can roll onto. By default it's 1 click (-256), but you can decrease it to allow Lara roll onto higher platforms.
  • Min. collision height thresh: specifies minimum block height  to roll onto. By default, Lara can roll from one-click platforms, but you can increase it to allow Lara roll into lower pits (like 2-click and such).

Enable crawlspace pickup
One more unused action in TR4 engine — picking up items when crouching on all fours. Once again, this animation was already included into all TRLE revised wads, so there's no need in custom animation. Just enable this patch, and Lara will be able to pick up items without changing her crouch state!


LEFT: standard pickup animation. RIGHT: crawl pickup animation on all fours.
No level file altering needed! 

Allow ladder-monkey animation (beta)
Allows you to use new «ladder to monkey bars» movement. You must create new custom animation that will rotate Lara for 180 degrees and move her from the wallclimb state to monkeyswing state. Also note that if you will use this patch, you'd better don't use slanted monkeybars above ladders, because Lara will deny to move from ladder to monkeybars if there is large gap between her hands and ceiling level.


Ladder-monkey animation by GeckoKid

Allow water-ladder animation (beta)
Allows to use new «water surface to ladder» movement. As with previous patch, you must create custom animation for it and specify its number.

Parameters:

  • Ladder height threshold: specifies minimum height for ladder to climb onto. Default is -1280 (5 clicks).
  • Animation #: custom animation number.

Monkeyswing: 180° turn (stop)
Enables usage of ROLL key when Lara is hanging still on monkeybars. When ROLL key is pressed, specified custom animation # will play, allowing you to create fast 180-degree turn on monkeybars. Here is the example of such animation:


180-degree monkeybars turn by Titak

Monkeyswing: 180° turn (move)
Enables usage of ROLL key when Lara is moving forward on monkeybars. Usage similar to previous patch, but in this case you can specify other animation # and therefore create two different animations for stop and move monkeyswing states. Or you can type same animation # as with previous patch, and this animation will play in both cases.

Ledge climb control
Patch created by Harly Wuson
Allows to assign two new state IDs for «hanging on ledge» state with jump and down keys. With this patch you can create ledge hop move, like in TR: Legend.

Parameters:

  • (Jump) state ID: State ID for jump key.
  • (Down) state ID: State ID for down key.

Exploding enemies
Allows you to specify five different enemy slots to explode after death, like mutants in TR1's Atlantis. If you want to assign explosion death to less than five enemies, just equalize some of the parameters.

Jeep / motorbike water explosion
When jeep or motorbike falls into the water, it explodes. Unfortunately, sometimes it produce occasional «frozen Lara» problem, when Lara's model is stuck in «driving» state with no HP left. This patch will also shatter Lara to meshes, so this problem won't occur at all!

Rolling ball: smash and kill
TR4 rolling balls are pretty strange. Each contact with rolling ball will result in immediate Lara's death, but all of the enemies can safely walk through it! This patch fixes this problem and allows you to destroy enemies with rolling balls. Just place 20 baddies or SAS in the narrow corridor and feed them with only one rolling ball — tons of blood guaranteed!
Also this patch will turn on occasional shatter for shatterable statics if rolling ball will roll through them. Why «occasional»? Because it will shatter only specific shatter meshes. Test it thoroughly and you should get the idea how to place your shatter static so it can be shattered by boulder.

Static mesh hard collision
This is the one of the most requested features from early TR games (along with weather and climbable pushables). Of course you know that in TR1, TR2 and TR3 engines all static meshes produced so-called «hard» collision — when Lara collides with static mesh, she immediately stops and denies to run/walk/jump until you'll turn around.
This method was replaced in TR4 and TR5 engines with «smooth» collision — Lara continues to run into static mesh and she's able to «ooze» into object after few jumps. It makes static meshes almost ineffective when creating limiting fences, borders, pillars etc., because Lara can run through it. Also it is quite unnatural when Lara is running into some object in your level.
So this patch returns TR1-3 static mesh collision method and allows you to bring back old TR1-3 memories, when any encounter with static mesh was much more painful for Lara.
For example, let's take latest Bojrkraider's level — The Experiment 3 part 2. This level uses LOTS of static meshes to form room interiors and architecture, but by Lara's behaviour you easily can distinguish real room geometry from artificial static mesh geometry. This technical flaw kills a lot of any level's atmosphere and also allows Lara to merge into static meshes. After applying this patch, all static meshes are almost IDENTICAL to wall collision, and it makes level's overal feeling much better.

 
Collision behaviour in Bojrkraider's Budapest Museum

But unfortunately, there are two notable bugs, and both of them are not specific patch problems, but related to engine's methods to calculate collision. First of all, you CAN'T place low static meshes right at the wall! If Lara will jump onto this static mesh, she will emerge into wall and player will need to restart level. Always leave small gap between static mesh and wall, so Lara can walk around it or correct mesh's collision box to deny Lara from jumping over it!
Second bug — you can't use diagonal placement of non-symmetrical static meshes with this collision method, because collision will calculate incorrectly. To overcome this problem, you can use invisible dummy static meshes or use both types of collision (TR1-3 and TR4-5) in single engine. To do this, modify Normal-hard mode threshold parameter. All static meshes with ID BIGGER than parameter value will contain hard collision, and all meshes with ID LOWER or EQUAL to parameter will contain soft collision. For example, if you've specified 5 in parameter field, all static meshes with ID prior to 6 will use soft collision, and all other meshes will use hard collision.

But there are also some very good news. Unlike any old TR games, this patch's distinctive feature is fully-functional bottom static mesh collision. What does it mean? Well, now you really can limit room's ceiling with statics! For example, if there is a lamp or furniture on the top of the ceiling, Lara WON'T JUMP INTO STATIC MESH, but instead will smash, like with any room ceiling! It makes hard collision even more realistic and allows you to create ceiling collision not related to old-skool TR grid system!

Switches maker
Patch created by Harly Wuson
This enormous patch allows you to create things never seen before in TR4 levels! First of all, it allows you to use TR5-like method when assigning proper animations for switches by extending possible OCBs (from 3 to 7). Now you can create small lever pull animation, small push button animation, wheel animation etc. WITHOUT RE-ASSIGNING ANIMATIONS in WadMerger! But it's not all. Also this patch allows you to assign ANY animation to ANY switch! Just remember that all OCBs after 7 will be interpreted as turn-on animation numbers. As for turn-off animation numbers, they're calculated by adding 1 to OCB number, i. e. if you've set OCB 456 for switch, Lara will play animation # 456 when turning switch on and animation # 457 when turning switch off.

Parameters:

  • Switch ON (OCB 1-6) Anim #: allows to change OCB 1-6 turn-on animation numbers.
  • Switch OFF (OCB 1-6) Anim #: same as above, but for turn-off animation numbers.

Roll key setting
Patch created by Harly Wuson 
Allows to assign different animation numbers for ROLL and UP+DOWN keys. This way you can have two different turn around animations in your levels.

Enable eSSe add-on files loading
After applying this patch TR4 engine will begin to load extra strings file called STRINGS2.DAT (similar to ENGLISH.DAT, but without encryption) and extra script file SCRIPT2.DAT (also without goddamn encryption) that can be later used for various purposes. For example, diary feature (see further) will require this patch, as it uses A LOT of custom strings for diary records. Also, most recent level-specific DRACO patches will require extra script file, so this patch is necessary for these needs.
Both STRINGS2.DAT and SCRIPT2.DAT files are compiled using utility called eSSe that is available in
downloads section. To edit extra script and strings file, you can use any text editor.
Also see
Advanced scripting with TREP section.

Multi-purpose LOAD GAME item
This patch will convert LOAD GAME item into a TR1-like passport item with unified LOAD/SAVE functions. But most important thing is that this patch will allow you to use... Prepare... Are you ready? DIARY FEATURE! Finally! Now you can create LOTS of diary records for every level and carefully guide player through your level's story and enrich your level's plot with text-based hints and commentaries! Since ages old-skool TR games were so non-informative and, therefore, plot-unwise, that even Phil Campbell complained in TRLE manual that he needed to use complicated tricks to guide player through story. But now, with diary, you can support player with ANY amount of text information for ANY game event!


Diary screen

Parameters:

  • Non-active menu font effect ID: sets font effect for non-active diary menu entry.
  • Active menu font effect ID: sets font effect for active diary menu entry.
  • Diary counter font effect ID: font effect for diary records counter.
  • Diary main text font effect ID: font effect for main diary text.
  • Animated background brightness: specifies brightness for ultra-cool blue animated diary text background.

Show HP bar in inventory
If you remember, in TR1-TR3, HP bar appeared in inventory if inventory pointer hovered over large or small medkit. For some mysterious reason, Core removed it in TR4 engine. This patch will show HP bar in inventory again, like in good old TR1-TR3 days.

Enable in-game enemy info
Nifty patch that will allow you to see current auto-targeted enemy's overall and start-up HP, as well as his armor class (i. e. non-protected, armored, bleeding, undead etc., according to Enemy HP Customizer's HP flags settings). Note that when some enemy will pick up medkit (like first Baddy 1 in TUT1 level), his HP will indeed increase, and if you'll shoot him with poisoned crossbow bolt, his HP will continously decrease! So this way you now can trace each enemy's HP, which makes gameplay more informative and allows you to use more strategic approach when fighting enemies.

Enable revolver shell casing
Simple patch that will enable shell casing for revolver weapon, like for Desert Eagle in TR3.

Enable crossbow shell casing
Same as above, but for crossbow weapon.

Scripted parameters: Episode I, II & III
This patch will turn on first series of level-specific parameters that can be set up with add-on script file (read
eSSe scripting document to learn more).

Enable multi-purpose bar
Enables extra multi-purpose bar that acts like cold water bar in TR3. To begin decrease this bar's value, use ACTIVATE_BAR flipeffect editor command — since you'll use this command, multi-purpose bar will be placed in active state and its value will begin to decrease. Then, if bar value reached zero, Lara's HP will start decreasing. To increase bar value again, you must use DEACTIVATE_BAR command in filpeffect editor. In this case bar value will slowly increase until it is reached its maximum — and then it'll disappear from game screen.
Please note that latest update (14 April and later) of DRACO module WON'T ALLOW YOU to edit bar's colours and increase/decrease values anymore, because now it can be adjusted with
SCRIPT2.TXT and eSSe.

Parameters:

  • Width: bar's width.
  • Height: bar's height.

Automatically create \SAVE directory
This small fool-protection patch will prevent game crashing when user have deleted \SAVE subdirectory and trying to save. This extra \SAVE directory is needed for advanced savegame management, so this patch will re-create this subdirectory automatically if it does not exist. Also this patch will help if you're releasing custom level and don't want to include any empty folders with it. In this case, \SAVE subdirectory also will be automatically created at the first start-up of your game.

Add Lara's Home entry to title menu
Core Design removed Lara's home from both TR4 and TR5, effectively integrating tutorial into main game (Cambodia in TR4 and Opera Backstage in TR5). But sometimes, when you want to bring back TR1-3-like Lara's Home independent menu entry or when you simply want to create a game with two independent scenarios, you can use this patch. When used, it will add extra menu entry to title screen. When you'll click on it, it will load specified level number.

You must note that «Lara's Home» text is taken from STRINGS2.TXT file, not from SCRIPT.TXT or STRINGS.TXT!

Parameters:

  • Lara's Home level #: this parameter specifies level number for Lara's Home menu entry.
  • Original game level #: main game will start from level #1 by default, but there you can set it to 2 or anything else, and then use level #1 for Lara's Home instead.
  • Active entry font effect ID: sets font effect for activated Lara's Home entry.

Enable Bink videos playback
Finally! It's there! Yes, your eyes aren't lying to you. Now you can use BINK FULL MOTION VIDEOS in your game! Read carefully: you can use videos now! First of all, now you can create FMV intro for your game that will play just like classic TR1-TR5 intro, but what is more interesting — you now can call FMVs with FLIPEFFECTS! No need to assign extra lines in SCRIPT.TXT file — you just use new PLAY_FMV [file number from 0 to 99] FURR command and enjoy quick and easy way to implement classic videos into your game!
There are two things to remember. First — don't forget to put binkw32.dll file into TRLE folder, or executable won't launch. There are quite large amount of binkw32.dll versions, but every recent version should work normally — for example, you can borrow one from TR: Anniversary directory. Don't use old binkw32.dll versions from TR4 or TR5, because they lack support for several sound compression formats. Second — put videos into /fmv subfolder and call them like this: fmv00.bik, fmv01.bik ... fmv99.bik . In other words — just like in TR4.

Main question is: «How do I create BINK VIDEO files?» And here is the answer: go to Bink Video homepage and download The RAD Video Tools for free! This tool can convert almost any contemporary video format into BINK video and allows you to select A LOT of options. The ultimate drawback of .bik format is a VERY slow encoding speed (almost 4-5 times slower than ordinary DivX/Xvid encoders), but the quality of resulting bink file exceeds all quality standarts! So be patient, and you will be able to use one of the best video formats in your game.

Parameters:

  • Intro FMV number: this video file will be used as start-up introduction. For example, you can place into /fmv subfolder good ol' Eidos/Core logo intro, so you will enjoy watching it every time when launching your game. Or you can replace it with your own intro or logo, or combine both in single file... By default it's set to 0, so fmv00.bik will play, but you can change it to any value from 0 to 99.
  • Video window horizontal resolution / Video window vertical resolution: changes video window size. Default is 640x480, like in TR4 and TR5. If your videos are 800x600 or higher, then you should change these parameters to fit resolution. However, i don't recommend you to use resolutions higher than 640x480, because filesize will be too large (and it won't be good for custom level hosted on the Net, not distributed on CD or DVD).

Use Position Changer via WHITE_LIGHT
Patch created by Tomo
By numerous requests, this extremely useful patch was translated into TREP's DRACO module. As you may already know, it adds Position Changer functionality to the WHITE_LIGHT object, but in this patch's version it acts a bit different. To use Position Changer, you must put OCB 666 for corresponding WHITE_LIGHT object. With all other OCBs it will work like ordinary white light.

One VERY IMPORTANT NOTE: DO NOT use this patch with Tomo's TRGE executable, because it may result in code conflict and game will crash! Please use DEFAULT, XP-patched tomb4.exe back from 2002! You may download it here.

Enable weather
Patch created by Tomo
It is very sad that Tomo has stopped any work on TR4 engine patches. I continue to wonder how he managed to import TR5's weather code into TR4 engine, because it should be very difficult and time-consuming to search and compare all constants, addresses etc. in both engines. As for me, i've never succeeded in this job, no matter how i tried. So, as with previous patch, all main code was directly translated from Tomo's executable into DRACO patch module. Indeed, there are few improvements and optimizations in this version. First of all, now you can get rid of oval-shaped snow bug and see normal TR5-like snow. Second, rain was too faint and hard to see before, but now it is looking like TR5-rain. Third — you now can use BOTH rain and snow AT THE SAME TIME! And another bug is fixed, which prevented rain and snow from using in title flybys.


Rain and snow are activated simultaneously by using CHANGE_WEATHER 3 command.

To set weather, you need use new FURR command called CHANGE_WEATHER with extra parameter which specifies weather type (0 goes for nothing, 1 goes for rain, 2 — for snow, and 3 — for both rain and snow at the same time). For example, CHANGE_WEATHER 0 resets weather, and so on.

Parameters:

  • Primary particle density: Here you can change density for both rain and snow. Larger numbers will create denser rain/snow, but don't set it too high, remember that rain and snow eats A LOT OF PARTICLE BUFFER!
  • Secondary particle density: Should be edited in conjunction with primary density.

One VERY IMPORTANT NOTE: DO NOT use this patch with Tomo's TRGE executable, because it may result in code conflict and game will crash! Please use DEFAULT, XP-patched tomb4.exe back from 2002! You may download it here.

Add keypad into MAP slot
One more good thing in TR5 was keypad lock, which required certain numerical combination to be unlocked. Now you can use almost the same thing in custom levels! This patch enables new, written from scratch, keypad, which differs from TR5 keypad in certain ways. First of all, it is rendered differently (in TR5, keypad was rendered as 3D mesh, there you will see 2D representation of keypad). Also this keypad allows you to use same digit multiple times — i. e., unlike TR5, you can use combinations like 5225 or 1114.


Enter keycode combination screen.

To use this keypad lock, use MAP slot for keypad object (you can get one from TR5 wad, or create mesh from scratch). Place MAP object in your level and write desired numerical combination into OCB field. Then, use your keypad like ordinary keyhole. In game, however, keypad won't require any keys, and will bring «Enter combination» screen instead. If user will enter wrong combination, error message will pop up (just like in the screenshot above), and keypad screen will automatically close after some time. If user will enter correct combination, another message will pop up, keypad screen will close itself, and underlying trigger will be activated. Each keypad can be used multiple times.

All text messages and labels for this patch are taken from STRINGS2.TXT file.

Parameters:

  • Prompt message text effect ID: Sets font effect for prompt («Please enter keycode») message.
  • Event message text effect ID: Sets font effect for event («Code is correct» or «Code isn't correct») message.
  • Key code text effect ID: Sets font effect for numerical combination itself.
  • Clear button inactive text ID: Font effect for C (clear) button.
  • Enter button inactive text ID: Font effect for > (enter) button.
  • Failed message timeout: Timeout before keypad screen will close itself when entered combination is not correct. Set to 0 to immediately close screen (like in TR5).
  • Success message timeout: Timeout before keypad screen will close itself when entered combination is correct. Set to 0 to immediately close screen (like in TR5).

Custom background
Patch created by Harly Wuson
With this patch you can replace standard monochrome background for inventory, load/save and options/statistics screens with ANY bitmaps. Moreover, all bitmap filenames are customized via SCRIPT2.TXT file, so you can change backgrounds for EACH level! Just use corresponding OptionsScreen, InventoryScreen, LoadSaveScreen parameters in SCRIPT2.TXT (remember you must update your aliases.txt file with latest version; for detailed parameter explanation, refer to eSSe scripting reference).
WARNING: For now, this patch have a serious bug that causes a flickering of fonts in the bottom part of the screen at resolutions higher than 800x600. Currently there is no solution for this problem.

Enable loading screens
And another frequently requested feature. This patch allows you to disable boring loading cameras and screenshots with TR1-3 and TR5-like pre-rendered bitmap loading screens! As with previous patch, you can customize loading screen filename for each level, so it will change with each level! Use LoadingScreen parameter in SCRIPT2.TXT file to achieve this (remember you must update your
aliases.txt file with latest version; for detailed parameter explanation, refer to eSSe scripting reference).

Widescreen mode option
Patch developed by Harly Wuson
Adds new «Widescreen» option to setup menu that allows you to use 16:9 aspect ratio resolutions without nasty squashing effect. Now, if you'll play TRLE levels on your new widescreen monitor or TV, there should be no screen deformation and «fat Lara» effect. To use this option, just go to usual tomb4.exe -setup window, and you will see one new checkbox:

If you still can't understand the meaning of this option, here are two screenshots in 640x400 resolution with and without widescreen option turned on:


As you can see, Lara looks squashed on first screenshot, but with widescreen option turned on, she looks normal.

Enable flare particle effects
For some reason, TR4 engine lacks beautiful flare particle effects that were available in TR3. Maybe Core thought that green phosphoric sticks are looking better than REAL fiery flare, but obviously it was a big mistake. Now this patch turns on TR3-like fiery flare again. Remember that you will also get burning flare sound (which changes pitch and volume depending on game situation — for ex., you won't hear a sound, if flare is placed underwater, when you're not) and underwater bubbles (i. e. flares will emit bubbles when underwater).
The origin of this patch is a
very old TR4 demo, which inherits some features of TR3. For some reason, in this demo, flare emitted particles only when it was thrown on the floor, but not when Lara was holding it in her hand. Because of this, you may experience bug when holding a flare — it won't change flame direction according to Lara's hand mesh position. Separate flare objects, however, works normally.


That's how thrown flare looks in-game.

Parameters:

  • Passes (ext): Rendering passes for separate flare objects. More passes will give you more rich particle effects, but remember that particle buffer shouldn't be overflown, so setting amount of passes to 25 or 100 is a very bad idea.
  • Passes (int): Rendering passes for in-hand flare. Same as above, but remember that it renders slightly different, so it needs less passes.
  • Burining flare sound effect: Sets sound effect for burning flare. By default it's set to SAND_LOOP sound (internal ID #344), which sounds almost similar to TR3 burning flare.

Smooth shadows
Are you tired of odd octagonal shadows in TR engines? I suppose yes, because such angular shadows look absolutely ridiculous. Interesting thing that TR4 engine can render different type of shadows — look at PlayStation versions of TR3 and TR4, these games use smooth, textured, rounded shadow instead of usual PC octagon. It is even more interesting that same
TR4 demo 1.0 uses textured shadow instead of octagonal! But, as with many other great features, it was ripped from final TR4 version. Now it is time to get it back:


Rounded textured shadow turned on. Please note that it still differs from PS versions and have sharp edges.

Now some information how to achieve such smooth shadow. You know that DEFAULT_SPRITES contain some unused sprites for inventory background (they appear in WadMerger as sprites from #19 to #27). I don't think that someone will use these sprites some day, so you can put your brand new shadow sprite into this unused slot and then change sprite ID parameter. Shadow sprite must have magenta background and contain black circle with SHARP edges (i. e. no antialiasing). WadMerger will allow you to import sprites up to 127x127, so you can create very clear and sharp rounded shadow.

Parameters:

  • Shadow sprite ID: Which sprite should be used to render shadow? Well, by default it is set to one of the lensflare sprites, but this sprite is too small, so you still can see pixels, especially when shadow is stretched. So, as it was said before, you'd better create custom shadow sprite, put it into unused sprite slot and change shadow sprite ID.
  • Render type: You can select other render type (for ex., setting it to 6 will give you wireframe shadow).
  • RGBA tint: Changes shadow's red-green-blue highlighting. It's not very useful, but can be fun.

Fix disappearing bubbles
This patch is useful when you have activated flare particle effects patch and experience problem with disappearing bubbles. It remaps bubble buffer from 40 to 128, so you will be able to see much more bubbles at the same time. Also it changes bubble buffer overflow behaviour, so even if bubble buffer will be completely filled, bubbles won't disappear suddenly anymore.

Genuine TR5 static bars
Replaces all TR4 static bars (except loading bar) with genuine gradient TR5 static bars. Unlike native TREP setting, gradient won't squash, if bar value is decreased. Please note that TR5 bars are placed a bit differently on screen.

Add copyright notice under main menu
If you remember early TR4 demos, there were copyright notices under main title menu. This patch adds same copyright notice under main menu. You can use any text you want — just edit corresponding STRINGS2.TXT line. After this, you will get neat copyright message under title menu:

Remap scene memory: revamped
TREP is now 2 years old, and some old extensions are becoming obsolete. 2 years ago it seemed that it's pretty enough to have 4 megabytes of scene buffer to fit anything TRLE builder may want to. But times are changing. Newest custom levels (like Teme9's Spanish Galleon level) are gone beyond standard «Remap scene memory» limits, so there's now need to extend it even further. This update for «Remap scene memory» option doubles scene memory buffers, which can prevent crashes when playing newest custom levels with ultra-high detail. Also this patch reverts forcing of bump-mapping when remap scene memory is on, since this bug is now fixed.

Demo recorder / player
From the long history of custom patches, i think, this is the most advanced and promising patch. Why, you may ask? Well, because it allows you to record and replay custom demo files! Maybe you remember that PC versions of TR2 and TR4 demo had something like this, but of course, these versions supported only playing of Core's pre-recorded demos. Supposedly, Core used external tool to record gameplay demos, so there was no chance to record custom user demo file... But now you can do this! Imagine — now you can record your walkthroughs (there is possibility to record non-stop multi-level demos without interrupting recording process), tricks, speedruns (remember all these QuakeDoneQuick-like projects? Now you can create same thing with TRLE levels!) and then share them with all TRLE community! Let others see how you play your favorite custom levels!

ABSOLUTELY IMPORTANT WARNING ABOUT DEMOS: Current demo format is plain simple; it only records player input (i. e. keys pressed) and Lara's position and speed values. It means that ANY changes in ANY significant TREP options, like gravity, enemy HP, weapon settings, static mesh hard collision, spikes / rollingballs behaviour, and even flare particle effects may result in CORRUPTED DEMO REPLAY. For example, if you've recorded some demo with one TREP settings, then re-patched .exe with different settings and tried to replay your demo, it may result in very weird glitches, like Lara stumbling into a wall, some enemies being left behind (although they must've been killed), wrong inventory items used, etc. Also don't forget that some important TREP settings are now set via SCRIPT2.DAT file, so wrong SCRIPT2.DAT file also may cause a mess. So, the gold rule is: always record and play demos with same .exe or with same TREP preset applied, and also with same SCRIPT2.DAT file.
ANOTHER IMPORTANT WARNING: do not use weapon hotkeys and medkit hotkeys when recording a demo! Since these hotkeys are not treated by TR4 engine as usual control keys, their values can't be written into demo file.

 


Demo recorder (left) and demo player (right)

Demo player and recorder will provide you any important information you may need in real-time. Recorder shows you how much time you've already recorded, as well as amount of disk space that is already occupied by your demo and overall amount of frames recorded. Also, in the top part of the screen, you will see small indicator which shows you demo recording buffer status. Demo is written to disk by 8-kilobyte blocks, so this indicator will continously fill and then reset again, when 8 kilobytes limit is reached and data is being written to disk. And demo player simply shows you overall and played demo time and size.

Now a bit information about playing and recording controls. First of all, you must know that you can record your demo in 33 different slots — from 0 to 32. To switch between these slots, you must press F3 (switches to next slot) or SHIFT+F3 (switches to previous slot) either in title flyby or in-game. You will get a quick info about current slot, like this:

To play demo, press F4 key either in game or in title flyby. Demo will be immediately loaded from current slot (if current slot is empty, nothing will happen) To record demo, press F2 key in game. To stop recording, press F2 again. Please be sure that you've selected correct slot for your demo, cause you can easily overwrite existing file by accidentally pressing F2 key. Note that, when recording a demo, game will re-initialize itself to reset some important variables and counters (it will look like ordinary loading screen, except «GET READY...» message above loading bar).
All demos will be placed into /demo subdirectory. If there is no such subdirectory, it will be created automatically. Each demo sequence consists of three different files: demosave.x, savegame.x and trepsave.x («x» means number of demo slot). When distributing your demo files, please be sure that you've included ALL THREE FILES, because all of them are needed to play your demos. And don't even try to use demo savegames as usual savegames, because they're using slightly different file format to prevent cheating!

Funny fact about demo player: since you can theoretically record whole game walkthroughs, it doesn't stop recording when going into inventory screen and save game screen. When you will replay your demo, you will also see that you've entered inventory or savegame screen, but, as for the latter, IT WILL ONLY LOOK LIKE you've saved your game — actually, since game is in demo mode, no actual data will be written to disk. But BEWARE of entering load game and paused screens when recording! Moreover, NEVER exit to title without stopping demo recording! If you will not stop recording before game will exit to title, something nasty may happen. Also you should immediately stop recording, if Lara is dead (or else game will automatically exit to title, and you will encounter same nasty bug).

In addition to user-controlled demo player, this patch will enable title menu demo autoplay. Like in TR2 and PlayStation TR3 versions, game will cyclically play specified amount of demos, if you haven't pressed any keys in a timely manner. You already know that classic SCRIPT.TXT contains unused InputTimeout value, so now this value WILL be used for this patch.
NOTE: Title autoplay demos aren't using same slots as ordinary demos! There is a simple fool-protection method that prevents user from overwriting your demos that you may bundle with your level — in other words, all title autoplay demos are using slots 33 and above. That is, if you will use three different demos for title flyby (it's default value), they should be placed in /demo subfolder with these names:

demosave.33
savegame.33
trepsave.33

demosave.34
savegame.34
trepsave.34

demosave.35
savegame.35
trepsave.35

If you will use more than 3 demos, then you should use slots 36, 37, and so on. Amount of title flyby demos to play is specified with Title autoplay demos amount parameter.
If you don't want to use title demo autoplay at all, simply set InputTimeout to a VERY BIG value, like 500000. It means that user will have to wait ~5 hours until demo autoplay will actually begin, i bet that no one have such large amount of patience.

Fix binoculars bug
If you've played PlayStation version of TR4, you should remember that, when you was in the mirror room and binoculars were used, Lara's reflection was put into binocular state too — her animation changed, and binoculars meshswap appeared in her hands. In PC version, however, Lara was in standard standing state, with no traces of binoculars animation or meshswap. This patch fixes this bug, so, when looking through binoculars, you will see the same thing as in PS version.


In this Coastal Ruins mirror room, you now is able to see actual Lara's binoculars reflection.

PLEASE NOTE that by default animation #441, which is used for binoculars state, is looped on itself! If you will use this patch with unmodified animation #441, it will look like Lara isn't able to move binoculars up and down. So you must edit animation #441 in WadMerger and change next animation number to 103 — up/down binocular controls will be unlocked.

Multiple mirrors
TR4 engine uses quite simple method of rendering Lara's reflection. It copies all main Lara parameters (like corrdinates, rotation, animation number etc.), processes them in a way that reflection moves properly, and then draws second Lara model. For some reason, Core used only one mirror for single level, despite the fact that reflection drawing can be repeated infinitely. This patch modifies mirror drawing, so actually game will now be able to render 20 different Lara reflections. It overwrites classic SCRIPT.TXT mirror settings completely, now all mirror parameters are placed in extended SCRIPT2.TXT file. Read eSSe reference to learn these new mirror parameters.


Multiple reflections in Coastal Ruins

However, it is NOT recommended to place multiple reflections in the same room, because then you may experience various minor glitches (for example, gunflash may disapper in one of the reflections).


3.: HOW TO CREATE YOUR OWN CUSTOM PATCHES?

Warning: this section contains NO information about how to research TR4 engine, but only directions for dealing with internal DRACO patch editor.

You don't need any extra software to write DRACO patches, because it already contains built-in patch editor. If you want to use this editor, you must set DRACO module to development mode. To do this, you must click onto small smiley picture in the top right corner of description box (you will note that cursor changed to Mickey's hand) or find line DeveloperMode=0 in trep.cfg and set it to DeveloperMode=1. Then TREP will always start with custom patch development functions enabled!


TREP's custom patch module with developer functions enabled

Now, as described by this picture, you should see additional buttons panel under patch's list.

  • edit — allows you to edit selected custom patch
  • delete — deletes current custom patch. You WILL NOT be prompted if you want to delete it or not, so press this button carefully.
  • delete all — deletes ALL custom patches from the list. You will be prompted if you really want to do this or not.
  • new — create new custom patch. If you will press this button, you will be promted to enter new patch's name. Do not use commas in patch's name! Never! Commas are used by TREP to recognize custom patch's settings from preset file, and if you will use comma in patch name, preset file will be corrupted.
  • /\ — moves selected custom patch up. You can change patching order by moving each custom patch up or down.
  • \/ — moves selected custom patch down. You can change patching order by moving each custom patch up or down.

Now, if you've decided to create new custom patch, pressed new button and entered new patch's name, you should see patch editor window:


Patch editor window

Here is the description of each part of editor's window:

  • Title specifies custom patch's name. You can always change your custom patch's name there, but you must note that if patch's name changed, previous patch's version settings won't be loaded from preset file and you will need to re-enter your settings again and create preset again.
  • Description short description of your patch.
  • «Patch requires remap scene memory» checkbox — if your patch requires this option (like Tomo's weather patch), you must turn on this checkbox, so if user haven't enabled this option, custom patch will not be written.
  • «Patch requires increased tomb4.exe size» checkbox if your patch uses extended tomb4.exe section, you must use this option. Usage same as above.
  • «Patch requires relocated particle buffer» checkbox same as above, but for «Remap particle buffer» option.
  • «Patch requires advanced savegame management» checkbox — as above, but for «Advanced savegame management» option.
  • Dependencies here you can specify names of already existing patches that are required for your new patch. You can specify multiple custom patch names seperated by commas WITHOUT spaces. You must enter each custom patch's name exactly as it appears in custom patch list.
  • When conditions are not complied... what to do if some of listed requirements and dependencies are not complied?
    • Ignore patch simply ignore patch and don't write anything to executable. You must use this option VERY carefully, because since user have enabled your patch, he won't be able to disable it again!
    • Patch original patch original data (see further for description of ORIGINAL and MODIFIED text fields). This option commonly used in almost all existing custom patches. That is, if user have disabled this custom patch or some requirements did not match, TREP will write default, original (non-modified) data.

Offsets and codes

Next goes big part of editor's window which consists of so-called OFFSET LIST (left) and three CODE textboxes. Offset list used to specify offsets for your custom patch data. For example, if you want to write some patch at offset 2E5E1, you must press add button and enter this offset. Remember that tomb4.exe's offsets are not equal to OllyDbg offsets and such. You must substract 400000 from OllyDbg's offset to get real file's offset. This difference in «real» and «virtual memory» offset called Relative Virtual Address (shortly called RVA) in low-level programming terms.
You can delete already existing offsets by pressing kill button. Also you can edit each offset by selecting it from the list and pressing right mouse button.

Next goes description of CODE section. For each offset there can be three different hexadecimal codes that are used in different circumstances. First ORIGINAL is the original, non-modified code used for resetting patch data to default. You must enter here default tomb4.exe's code that you're replacing by your patch. Second text field — MODIFIED — used for specifying modified hex code (i. e. your patched code).
Next text field
MODIFIED (REMAP) is a bit more complicated. You may ask «why there are two different MODIFIED hex codes in some custom patches?» and here is the answer. Roots of this problem lies in «Remap scene memory» option from main TREP's window. This option changes internal TR4 memory structure, so all addresses in your custom patch must be corrected. To know more about dealing with these two MODIFIED code fields, refer to DRACO Custom Patch Reference bundled with each TREP's package.

  • TRIM this gray option above CODE textboxes used to quickly remove all spaces, carriage return and line feed symbols from all your hexcodes. This option is VERY useful if you're directly importing hexcodes from OllyDbg, since OllyDbg generates hexcode with spaces and CR/LF symbols, which is not applicable for TREP's write file functions.

Parameters

Parameters are dynamic values that you can change in tomb4.exe file to get different results. About 90% of all TREP's options are such parameters that you can change in any way you want. So DRACO module also contains support for 9 different parameters per each patch. Each parameter occupies one parameter slot (see Parameter slot combobox in the bottom part of patch editor).

  • Enable parameter enables parameter for current parameter slot. It means that this parameter will be functional and will be written into executable.
  • Title specifies parameter's title (description). It will appear as parameter's description label in custom patches window.
  • Offset enter your parameter's offset here (hexadecimal only!)
  • Value default value for your parameter. This value will be written to executable if user disabled your custom patch or have resetted parameter's value to default.
  • Type specifies value type for your parameter.

***

3.1.: DRCMerger

DRCMerger is DRACO module's front-end. This small tool intended for merging one custom patch set file (usually called patches.drc) into another. It can copy patches from one custom patch set file to another, and also delete and move them. This can be useful if, for example, you have downloaded two different patch sets from different people, and you want to collect all patches in single patch set file. That's where DRCMerger steps in:


DRCMerger window

Basically, DRCMerger's interface is similar to FexMerger or WADMerger interface — it has two separate lists and separate controls for source (shortly called SRC) and destination (DEST) patch set files. When you've loaded source and destination files (with LOAD SRC and LOAD DEST buttons), you can begin to copy patches from source to destination patch set.

Note that patches that you've selected in the left part of the window will be copied into right part of the window. To copy selected patches, simply press copy >> button. If you will try to copy patch with the same name, DRCMerger will ask you if it should overwrite this patch or skip it.

Also, like in TPascal's FexMerger, you can select patches in right part of the window, and when you will press copy >> button, all patches that were selected in right list, will be deleted.

When you're clicking on ANY custom patch in right or left list, DRCMerger will show you small fading-in info box with amount of offsets, parameters and raw patch size in bytes. Another useful info is placed on top of each patch list — it tells you current source/destination files' version, date and time.

In both lists, you can move patches up (/\ buttons) or down (\/ buttons), as well as reset all selected patches (with slashed zero buttons). Optionally, instead of loading destination patch set, you can create new destination patch set file from scratch with NEW button (in this case you should delete dummy Empty patch entry afterwards).

After you've ended merging patches, you can save it with corresponding button.

TOP

TREP is freeware and not a registered trademark and is not protected by any moronic copyright laws.