www.tombraiderforums.com (https://www.tombraiderforums.com/index.php)
-   Software Development (https://www.tombraiderforums.com/forumdisplay.php?f=55)
-   -   FLEP custom patches: updates, testing and discussion (https://www.tombraiderforums.com/showthread.php?t=196854)

Lwmte 28-01-13 22:45

FLEP custom patches: updates, testing and discussion
FLEP (FLExible Patcher) is a revamped and updated derivative of TREP's custom patches module. It is compatible with TRNG version of tomb4.exe (excluding

As it was said earlier, FLEP development is now halted, because Paolone is active again with TRNG updates. Development will remain stopped at least until open-source TRNG version is released. Even if FLEP could be made fully compatible with, there is no point in it - because if another closed-source TRNG update will come out, most likely it will break compatibility again.

Latest FLEP version: 1.1.44 (1 Feb 2013)
Custom patch set updated: 5 Feb 2013.

Installation instructions:

1. Download zip archive with FLEP program itself (red button above).
2. Download zip archive with custom patch set update (green button above).
3. Unpack them and put both flep.exe and patches.flp in the same folder with tomb4.exe.
4. Launch FLEP.
5. Do all the changes you want, then press "Modify" button.

P.S.: Unlike TREP, you don't need to manually save preset to store your patch settings, as FLEP automatically saves it to flep.cfg file on exit. However, it's recommended to use presets as a back-up of your settings, in case you accidentally erase or reset flep.cfg to default.

IMPORTANT: custom patch set file (green one) updates more frequently than patcher executable.


Originally Posted by HeinzFritz (Post 7542198)
I think you all know it already, but just in case you don't here is the link to LWMTE's site where all his Flep and other patches are waiting to be downloaded:


Additional info and patches

Delta's patches

Smoke-emitter patch stuff:

Originally Posted by Lwmte (Post 6827370)
I've released particle testing ground some time ago - it's basically test level with two utilities that can change emitter properties on the fly. You can play with all parameters and find the effect you want; then simply write down parameters into corresponding emitter OCB patch in FLEP, and you should get same result! ;)


Originally Posted by Lwmte (Post 6601150)
Classic, unmodified TR4 engine, for both PlayStation and PC, uses 8 rendering subtypes (0 to 7) for transparent faces. Here is the full description of them:

0 - Opaque: Used for bars. I haven't yet encountered another references to it in executable. Note that this subtype IS NOT the same as standard opaque texture type, despite the same index.
1 - Transparent: "Solid" transparency only, specified by magenta colour.
2 - Translucent: Classic translucent face, additive operation.
3 - [broken]: Has to be translucent face with inversion operation (darkness). Was workable on PSX, but on PC it produces the same result as subtype 1. Still, it is used for shadow and fadein/fadeout effect, maybe for something else too.
4 - Font & skybox: Bypasses Z test, so either it will be rendered above or behind anything else.
5 - [unused]: Rendering code for this subtype is missing. I suppose it also was used somewhere in PSX version, but in PC version it simply gets ignored.
6 - Wireframe: Says for itself.
7 - "Forced" alpha: Most complicated one. It's standard opaque face with alpha (translucency) value that is taken from global variable. It works like this: if you send opaque/transparent face to renderer with global alpha variable set to 255 (opaque), it will be treated as subtype 1. But if you will simultaneously set global alpha variable to something else, face type will be converted to 7 and transparency will be calculated with global alpha variable treated as second argument.

So what I did is re-used type 5 for new "inversion aka darkness" blending mode. I had some problems with shadow rendering beforehand, so I set 5 for shadows and 10 for anything else, but this bug is now (at least I hope so) fixed.


Originally Posted by Lwmte (Post 6616946)
Yes, you can fully customize a bunch of parameters for each smoke emitter's OCB. I'm doing 10 OCBs for both smoke emitter white and black objects, so effectively you will have 20 different smoke emitter objects to customize.

Here's a list of parameters you can edit for each OCB:

1. Start colour (the one that is used when particle is spawned)
2. End colour (used when particle is fading out)
3. Lifetime (how long particle will stay in gameworld)
3. Fade threshold (when particle begins to fade from start colour to end)
4. Fade-out time (how long it will take the particle to fade-out completely)
5. Blending mode
6. Various flags (damage, setting on fire, react to wind, line or sprite, perspective correction)
7. Size (can only be multiplied by 2, i. e. you basically can have only 4 usable sizes)
8. Vertical speed and acceleration
9. Horizontal speed
10. Dispersion

Also, I'm working on implementing horizontal direction depending on nullmesh orientation - this way, you will be able to create all kinds of super-complicated particle emitters, like fountains, local snow/rainfalls, sparkle streams, gas rings, etc. Only thing I'm afraid is that you all will eventually run out of OCB capacity! :D We are very limited with this. If only we had a flexible script mechanism to load it... Do you remember this miraclous project called T4Mod by Larson? Almost everyone forgot about it, but it was much more advanced patcher than TREP or TRNG. It allowed you to do even more complicated and beautiful particle setups, much more advanced than TREP or TRNG ever provided - because it relied on external Lua scripting engine (good to note that Lua is a REAL script language, not "pseudo-script" that is used in TR4 engine, because it basically contains only bunch of static parameters for engine to feed).

Blending modes:

Originally Posted by Lwmte (Post 6591700)
So, here is the test level and engine, with which you can test new blending modes 8-10 (mode 5 is set to the same as 10 and used for shadows only, because I faced serious bugs with rendering extra blending modes with fog bulb nearby). Also mode 8 results in missing faces at certain angles, I think there's another switch case or "if...then" branch somewhere to find. Unfortunately, today my whole .udd database for OllyDbg with partially deciphered graphics calls got corrupted, it's a bit demotivating! :hea:


For those who didn't forgot how to use TREP, there's also test custom patches set.


Originally Posted by meta2tr (Post 6592285)
More good news, the blend modes all work on moveables, and the shine effect works on all of them too.

In the image below, the top row is newly added moveable. Without shine, it looks the same as the other two rows. When shine is activated, it is visible over all of the face.


Sorry if this is taking a while, but I still have a few things to test, such as animated texture ranges and mapmerge.


Originally Posted by Lwmte (Post 6600948)
Sorry, I have lot of things to do, can't answer to everyone right now! :o Just another thing I have found out regarding fog bugs with translucent faces.

It seems that TR4 engine can't properly render translucent faces in combination with fog. It affects not only new blending modes, but also classic "add" blending mode. Core programmers did a bypass for translucent faces, so they are not affected by fog, perhaps it was too difficult for them to do it properly. When it's OK for sprites, on room faces it looks very awkward:
I think I will leave this behaviour as it is for a moment. Maybe later I will fix this bug.

Originally Posted by Titak (Post 6600197)
When I look at the spidersweb through the window, parts of the spidersweb disappear. :confused:
I checked and this has nothing to do with bent faces because all faces of the spidersweb have been triangulated.

It happens because blending subtype 7 which is used for all "forced transparency" faces in game (like look transparency, vanishing enemies etc., and also TRNG's transparency OCBs) discards rendering of all translucent (alpha-blended) surfaces behind the most closer one. It is needed to prevent bugs like this:
It's a pity that this subtype can't render anything translucent behind itself, I think that it is not applicable for room geometry because of this behaviour, and also it's very complicated and fuzzy in code (seems like Core programmers used global variable for alpha value), so I doubt that it can be changed. In simple words, no subtype 7 for room geometry, sorry! :hea:

Originally Posted by meta2tr (Post 6600034)
I think there's a problem with the latest (second) patch. The problem I see is that the frame rate for animated textures, instead of being the usual 10fps, has dropped to 2fps.

Don't worry, I just changed framerate for tests, blending has nothing to do with it! :) It is native TREP setting in GFX Customizer 2 called "frame change interval" that does the trick.

Originally Posted by meta2tr (Post 6600289)
In my case it is faces that disappear and reappear depending on the view angle.

I see, it should be fixed in latest version. The reason for these disappearing faces (it happens mostly on the edge of the viewport, am I right?) is Core Design used very complicated rendering procedure which was divided into two parts -first one rendered faces in front of you, and second one rendered faces that are on the edge of viewport. I think they did it to produce proper shading and lighting.

Also, with this version we don't need two seperate subtypes for shadows/black smoke and black room faces, so I only left type 5 for shadows, 8 was replaced with funny "intensity=inversion" blend type, check it out! ;) It may come in handy when creating something like X-Ray vision effects or so.
Moreover, latest version fixes corrupted explosion smoke puffs that Heinz pointed to. It happened because certain particles in TR4 engine still refer to missing blending types (which were available in PSX), and by enabling extra blending modes all this hell broke loose... :hea:


Originally Posted by ChocolateFan (Post 8048857)
Latest patches are here: https://drive.google.com/open?id=1LP...dVA40Aqhb097Iz.

I added some patches to:
  • Change hardcoded healing values of Small and Large Medipack, as well as hotkeys 0 and 9;
  • Fix a small bug in using hotkeys 0 and 9; and
  • Disable those keys.
The most important patch, however, is to restore compatibility between TRNG and FLEP by resizing the infamous icon. I made this patch a dependency of all patches that have to extend tomb4.exe size.
In other words, there will be no more need to use an old tomb4.exe executable.

A small caveat is that NG Center is very smart (not) and will try to bring back the unpatched version on every startup. To fool it, rename NG Center\TRNG\tomb4.exe to something else. NG Center will display an error on initialisation, but it is not to be cared about. Another option is to copy the patched executable into NG Center\TRNG, but this must be done every time tomb4.exe is patched.

Thanks to A_De and CourierNumber6 for testing!


Originally Posted by ChocolateFan (Post 8120622)
Caustics and reflections
There is only one new patch, the vertex shader patch.

Lwmte 28-01-13 22:46

FLEP feature list:
  • Some of the TREP animation patches which work better than the TRNG scripting version + it saves Animation= scripts which amount is limited. Disable ledge-climb delay, disable dive delay, quick crawlspace climb, enable crawlspace jump, enable crawlspace roll, enable crawlspace pickup, monkeyswing 180 degree turn around while hanging still and while moving, roll key setting, wall climbing mid-point adjuster (for faster climbing animations like those by Geckokid in his The Beginning demo), grab frame set for standing jump.
  • Clear menu backgrounds, so no more ugly grey stripes in 32 texture depth mode. Includes some customisation options like transparency blending mode, transparency intensity and pick whatever colour you want.
  • New customisable OCB's for the smoke-emitter-white and smoke-emitter-black: we can now have actual black smoke and countless other colours and effects (different speeds, blending modes, lifetime, extra flags like making it react to wind, Lara's collisionbox (sprites move backwards when Lara walks through the sprites), hurt Lara when she touches the sprites, make her burst into flames, etc) within these two objects as well as the option to pick whichever spriteslot you want to use. No manual has been writtten yet, so experiment with the values to see what the values are all for.
  • New transparency blending modes with which you can create different looking "glass" objects (you also need the latest Meta2TR update and/or TRTexture for this)
  • Stylish static bars: customisation of all bars, including custom bars, TRNG scripting is still needed for the colour of the bar itself, its size and position on screen. Do you want TRC style bars? You got it!
  • Smooth shadows with soft edges: pick whatever sprite slot, adjust elevation and darkness of the shadow.
  • Enable DOT3 bump mapping: this type of bump mapping reacts to dynamic lights like flames and flares/PLS lights.
  • Remove green flare tint: customized flares won't produce hardcoded green flicker on flare ignition and depletion.
  • Fix Lara's visibility in binocular view bug.
  • Change shiny sprite: allows you to pick different slots for the shiny effect, one is for the ingame shine effect, the other one is for the inventory shine effect.

Patches directly imported from TREP:
  • Add "Lara's Home" to the main menu.
  • Old school TR1 style teethspike: no more TRNG workaround needed to make Lara play her "impaled" animation when falling onto spikes.
  • Print "Game Over" text on screen when Lara dies.
  • Disable add-on gun sound: removes hard-coded explosion sound from gunfire.
  • Disable sentry gun flame attack.
  • Add [hits] to statistics.
  • Enable ricochet sound effect.
  • Completely disable load and save items: in case you want to use a checkpoint system and/or savecrystals in your game.
  • Fog colour table editor: allows you to enter different colours into the default fog colour table.

God Horus 28-01-13 22:49

OMFG!! *dies*

raiderromero 28-01-13 22:52


Originally Posted by Lwmte (Post 6626251)
So, to warm-up this new thread, here is a fresh patch for you: long-awaited CLEAR MENU BACKGROUNDS. Download latest custom patch set update and test it! :)

OMH LMWTE im loving you so much, when will you try the images as loading screen?

Caesum 28-01-13 22:53

OH MY GOD! :yik: *downloads*
Tested, works perfect! Thank you, thank you, thank you! That's something I've been waiting for so long. ;_; Thank you.

About new features... Well... I have a tiny request that's not really that tiny I suppose. I wonder if it could be possible to restore minecart vehicle using FLEP? I heard minecart wasn't added to TRNG because it'd overlap triggers used by mechanical scarab. Yet FLEP has that advantage that you can check whatever you like and bypass everything you do not. It'd be wonderful to have the minecart. Is FLEP capable of restoring it? :o

Tricell 28-01-13 23:10

Yay! This is going to be so awesome!

-Off Topic-
Right after Titak went to bed :vlol:!

JessyTR 28-01-13 23:54

Lwmte, it's not working for me, everything stills the same, idk if this have something to do with the problem, but when I close FLEP, I get a message saying: "Error saving config/ preset file. Check integrity". :(

raiderromero 29-01-13 01:11


Originally Posted by JessyTR (Post 6626350)
Lwmte, it's not working for me, everything stills the same, idk if this have something to do with the problem, but when I close FLEP, I get a message saying: "Error saving config/ preset file. Check integrity". :(

copy tomb4.exe in other folder ( create one in the desktop) and also copy all the flep files in that folder, then apply patches, lastly copy paste over the original tomb4 folder , i have win 7 and i had that problem cause win didnt let apply the patches so i had to copy the program in other place

JessyTR 29-01-13 01:44

Oh, I hate the stupid admin thing on win7 :mad:

Shauni 29-01-13 01:47

Ooh so very cool! @_@ Thank you for making it! <3

All times are GMT. The time now is 17:51.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.