This topic made for placing some interesting unused content found or will be found in this game.
You can suggest some hints for what to look for, or you can post something you found.
For those who interesting in how do I do that or want to repeat/improve.
If you want it to be loaded not only in multiplayer, if not skip these instructions:
First speargun files located at multiplayer resource folder
Unpack this .asr .pc
files with QuickBMS script you will found in archive:
Then you need to locate all files related to this crossbow/speargun.
Those include:Model itself:
This .MARE file needs to contain only information related to models you need to export
You will find a C program in the archive that will strip the useless info from this file
You need to Compile it
I will remake it probably. But still, I write it for brave enough people.Skeleton
: HSKN_chunk/Speargun.HSKN and Speargun_bolt.HSKNBound volume
: HSBB_chunk/Speargun.HSBB and Speargun_bolt.HSBBAnimations
: HANM_chunk/ just all HANM files containing "speargun" word.Sokets
: 7343.HMPT and 7353.HMPT
maybe some other files
Then you need to pack all this in order:
just make a folder named "1", "2" etc.
Use pack/unpack program you know where it can be found
Now go to *.lst file of mission you wanted to speargun be loaded and edit it, examples lies in the archive
Also rename mission .pc
file like that: P06_Pyramid.pc -> P06_Pyramid_.pcNow all preparations complete
Use cheat engine before you load a game on AVP_DX11.exe (ver 184.108.40.206) with ASLR disabled.
set breakpoint on address: 0x7BC25D
register lies weapon class hash:
Speargun hash is: 0x80C6D6C7
For a predator, press continue until you see ebp = 0x085d304f (this is fireblaster) change it to Speargun hash, and now follow to address
0x7BC2A4, therein eax
lies weapon type need to set it to 0xC and continue until game loads.
For human press continue until you see ebp = 0x7c87d718 (this is pistol) change it to Speargun hash
Note: there small amount of ammo so you can change it by following further until reach constructor function and then it will return
inside eax weapon class, follow in dump, then press F5 (continue) it will fill all data it needed.
ammo location is follow: type float (ptr)((ptr)(eax + 0x1C) + 0x0) + 0x10
max ammo location:type float (ptr)((ptr)(eax + 0x1C) + 0x0) + 0x14