Vanilla+ is a huge update to Far Cry 2 that stays loyal to the original experience.
This tutorial has been archived by the uploader because it is out of date and no longer supported. We recommend you browse the file list for the latest tutorial.
This guide is for other modders that want to add 100% silent machete takedowns into their own mods using already existing VANILLA files from your Far Cry 2 game!
This guide is for other modders that want to add working 100% silent machete assassinations into their own mods using already existing VANILLA files from your Far Cry 2 game! This has been a collaborative project between all of us but credit goes to dannyhl2 for first creating this feature. We wouldn't have completed this without knowing it was possible first and we wanted to work it out so we can share it with the community. There is a google docs version of this guide available here. Marc has also uploaded a version of this mod bundled with Far Cry 2: Redux 2.9 as an example package, available here.
It is strongly recommended to use Notepad++ to edit .xml files. It is available here: Notepad-plus-plus.org
The only commonly available mod unpacking/packing tools that will not cause crashes are found here: Moddb.com
This is a different set of tools than is listed elsewhere but the old method using bootstrap doesn't work for modern mods.
Download the mod tools and then follow these steps:
1. Find your “worlds.fat” and “worlds.dat” from your vanilla install within \Far Cry 2\Data_Win32\worlds\.
2. Copy both files into your mod tools folder. Drag "worlds.fat" onto "Gibbed.Dunia.Unpack.exe". This will unpack the files and create a folder called "worlds_unpack" which contains all of the files.
This step is only needed if you are going to install the optional ‘creeping’ mod. See Section 4 for details.
1. Take your "patch.fat" and "patch.dat" from whatever version/mod you're using and copy them into the mod tools folder.
2. Drag "patch.fat" onto "Gibbed.Dunia.Unpack.exe". This will unpack the files and create a folder called "patch_unpack" which contains all of the patch's files.
3. Go to \patch_unpack\generated\ and copy "entitylibrarypatchoverride.fcb" to the mod tools folder. Drag it onto "Gibbed.Dunia.ConvertBinary.exe". This will create a folder called "entitylibrarypatchoverride" which contains all of the mod's .xml files.
1. Copy “weapons.gosm.xml” from \worlds_unpack\scripts\engine\objects\pawn\statemachine\ and copy it into the same folder within your patch folder: \patch_unpack\scripts\engine\objects\pawn\statemachine\. Create these folders if they are not present.
2. Open “weapons.gosm.xml” and find this section:
<Sink Name="melee attack success" Start="0" End="100">
<Connection Target="::Pawn Weapons/Weapon Mechanics/States/Machete/MeleeAttackBegin"
Signal="melee_attack_success" />
</Sink>
<Sink Name="melee attack miss" Start="0" End="100">
<Connection Target="::Pawn Weapons/Weapon Mechanics/States/Machete/MeleeAttackMiss"
Signal="melee_attack_miss" />
</Sink>
Change these sections to the following, but please note that only the “melee attack success” section is essential to change. The “melee attack miss” section can also be changed if you want to guarantee successful assassinations:
<Sink Name="melee attack success" Start="0" End="100">
<Connection Target="::Pawn Weapons/Weapon Mechanics/States/Machete/MeleeAttackFinishDouble" Signal="melee_attack_success" />
</Sink>
<Sink Name="melee attack miss" Start="0" End="100">
<Connection Target="::Pawn Weapons/Weapon Mechanics/States/Machete/MeleeAttackFinishDouble" Signal="melee_attack_success" />
</Sink>
1. Find “3rdge_uppb_lethalslash_+000fw_hhmac_i1.mab” in \worlds_unpack\graphics\characters\_common\animations\weapons\handtohand\machete\.
Copy this file into the following directory in your “patch_unpack” folder: \patch_unpack\graphics\characters\_common\animations\weapons\handtohand\machete\sync_finishground\
Again, create these folders if they are not present.
Rename this file to “3rdge_syns_finishground_+000fw_nowep_i1.mab”.
By default the enemies will scream in pain or make dying sounds when you perform an assassination. This screaming can be disabled with the instructions below if it is weird for you that the enemies don’t react to the noise.
1. Copy “hmr.gosm.xml” from \worlds_unpack\scripts\game\objects\pawn\statemachine\ and paste it into the same address within your patch folder: \patch_unpack\scripts\game\objects\pawn\statemachine\. Create these folders if they are not present.
2. Open the file. Find and delete this section:
<Event Name="DeathBark" Type="CGOStateEventBark" Start="30" End="31">
<Parameter Name="alwaysTrigger" Value="0" />
<Parameter Name="triggerOnce" Value="1" />
<Parameter Name="triggeredOnEnd" Value="0" />
<Parameter Name="triggeredOnBegin" Value="0" />
<Parameter Name="requestType" Value="0" />
<Parameter Name="barkEvent" Value="14" />
</Event>
This feature will make stealth easier when playing using mouse and keyboard because in the vanilla game stealth was designed around being able to walk slowly behind enemies using a controller. By enabling ‘creeping’ you will be able to hold the right mouse button while using the machete to walk at half speed.
There are two methods to making this change, with and without using an XML converter to decrypt hash values. Both methods are described below:
1. Find and open “xx_WeaponProperties.xml” within the “entitylibrarypatchoverride” folder. If you do not have this folder then you need to convert “entitylibrarypatchoverride.fcb” into .xml files. This is done by dragging it onto “Gibbed.Dunia.ConvertBinary.exe”, which will create your “entitylibrarypatchoverride” folder containing your .xml files.
2. Within “xx_WeaponProperties.xml” there are three machete entries that need to be edited:
Find these entries and then use ctrl-f to find this set of values for each machete:
<object hash="BB04E184">
<value hash="7D725133" type="BinHex">0000803F</value>
<value hash="E49EEB82" type="BinHex">00</value>
3. Edit each of these sections to the following:
<object hash="BB04E184">
<value hash="7D725133" type="BinHex">0000003F</value>
<value hash="E49EEB82" type="BinHex">01</value>
An XML converter will decode hash values into English. There are a few out there, like Razor’s Modified Binary+XML Converter and I have one available here: Moddb.com
1. Find and open “xx_WeaponProperties.xml” within the “entitylibrarypatchoverride” folder. If you do not have this folder then you need to convert “entitylibrarypatchoverride.fcb” into .xml files. This is done by dragging it onto “Gibbed.Dunia.ConvertBinary.exe”, which will create your “entitylibrarypatchoverride” folder containing your .xml files.
2 Within “xx_WeaponProperties.xml” there are three machete entries that need to be edited:
Find these entries and then use ctrl-f to find this set of values for each machete:
<object type="IronSight">
<value name="fMoveSpeedFactor" type="Float">1</value>
<value name="bCanIronsight" type="Bool">False</value>
Edit each of these sections to the following:
<object type="IronSight">
<value name="fMoveSpeedFactor" type="Float">0.5</value>
<value name="bCanIronsight" type="Bool">True</value>
“fMoveSpeedFactor” can be changed to any multiplier of the vanilla walking speed depending on how fast you want creeping to be.
1. Find “1stge_uppb_wsafewalk_+000fw_hhmac_i1.mab” in \worlds_unpack\patch\graphics\characters\animations\weapons\handtohand\machete\.
Copy this file into the same directory within your “patch_unpack” folder:
\patch_unpack\patch\graphics\characters\animations\weapons\handtohand\machete\
Create these folders if they are not present.
Rename this file to “1stge_uppb_walkcrh_+000fw_hhmac_i1.mab”.
1. Once you're done making your changes it's time to put everything back together. If you have installed the ‘creeping’ changes then continue with this step, if not you can skip to step 2. Within your mod tools folder drag "entitylibrarypatchoverride.XML" onto "Gibbed.Dunia.ConvertBinary.exe". This will produce a new "entitylibrarypatchoverride.fcb" and automatically overwrite the original you copied into this folder when you fist unpacked. Copy the new "entitylibrarypatchoverride.fcb" back into \patch_unpack\generated\ and overwrite the one in there already.
2. Drag your "patch_unpack" folder over "Gibbed.Dunia.Pack.exe" and this will create "patch_unpack.dat" and "patch_unpack.fat". Copy these and go to your Data_Win32 folder (Steam\steamapps\common\Far Cry 2\Data_Win32). Delete your original "patch.dat" and "patch.fat", paste your copied files in and rename them to the same.
v1 - First upload.
v1.1 - Made the takedowns truly silent but at the cost of a bug where if the takedowns are performed far from the enemy then the player will become invisible during the animation.
v1.2 - Dannyhl2 has given some input and helped refine the method and improve our knowledge of what features can be customised.
v1.3 - Fixed a mistake in the guide.
v1.4 - Fixed the bugged animation where if the takedowns are performed far from the enemy then the player will become invisible during the animation.
A great addition to the community.
Hell yeah! What should have been included in Far Cry 2's Vanilla game to begin with.
Great stuff, thanks!
One thing I got to say about this guide.
It too complicated.
First is the death bark, which I don't think it will effect the AI in a stealth perspective. I removed it just for the "realism" of it.
Second is the animation, I replaced the crouch animation(walkcrh) so the creeping would look cool to the player, so not only this part is not necessary, it should filed into the the "creeping" section.
Also, for people who seeks for a challenge, the attack miss could leave unchanged, so you could still have the possibility to miss your stealth takedown , enjoy the animation and get fight back by the enemy.
EDIT:
And this comment gets down vote like instantly, lol, looks like some aggressive gang member from marc are still very ****** about even all the drama has already ended. Looks like no one wish to have a constructive tips to improve the stealth takedown. Then stick with your missing hand animation! At least the stealth takedown works in my New Dunia mod!
Not sure who's down voting comments when we already agreed to stop that.
But this is pretty useful advice for people who want to further edit the take down themselves. Thanks Danny.
I don't know what's going on with comments being downvoted but thank you for your tips! I've updated the guide in accordance with what you've explained and I've added you as a contributor if you're happy with it. I wish we could fix the animation bug with the player turning invisible. I've had a fiddle with it but the silence seems to depend on disabling the cinematic beautifier that would otherwise fix it. Do you have any idea how we could fix that danny?
Hi, it's seems the content of section
(Essential) Section 2 - Silent Animations
and
Improving the creeping animation
are actually wrongly placed and should be replaced with each other.
To fix the missing hand animation you might use nocontrol rather than the cinematic beautifier.
Won't mind it if there are some credit for this.
Thanks Danny.
I'll try out your fix to the missing hand animation and credit your for that.
The guide should be fixed ASAP or the information will mislead most of the user.
Tom is in charge of that. But I'll test it out myself first before applying it to my Remake and the Redux guide.
Yes, but I mean the part with the
(Essential) Section 2 - Silent Animations
and
Improving the creeping animation
The contents are not right.
Oh you mean they are switched. The other way around? I'll let Tom know.
I've been trying to figure out what you mean by using nocontrol. The section looks like this:
<Event Name="Cinematic" Type="CGOStateEventBeautifier" Start="100" End="100">
<Parameter Name="alwaysTrigger" Value="1" />
<Parameter Name="triggerOnce" Value="0" />
<Parameter Name="triggeredOnEnd" Value="0" />
<Parameter Name="triggeredOnBegin" Value="1" />
<Parameter Name="action" Value="1" />
<Parameter Name="context" Value="cinematic" />
</Event>
I've tried different combinations of using "No Control" as the event type and "firstnocontrol" for the context but with each of these the assassinations aren't silent like with the whole section deactivated. Where am I going wrong? I'll swap the guide around now too.
V1.4 - the invisible player bug is now fixed and I consider this guide complete
Nice! Glad you could figure this all out in the end.