View Full Version : Bink-support for Soul Reaver 1
wrace
11-09-2010, 12:33 PM
It is known that bink-support for SR1 was created by our team 2 years ago, and now we created the appropriate patch-converter of original movies into bink (like one for BO1) specially for english fans (big thanks to Muyfa666, who helps us with this)...
This converter you can download here (http://www.nosgothica.org/index.php?id=files_eng) as some other files created by our team...
It already contains the official and all unofficial patches for SR1, including the newest versions of them (note that it is needed to have SR1-PC cd to apply this patch/converter)...
Bonuses (including one that our fans have a long time):
1. Booster's bink-player and converter bink to avi;
2. fix for skipping movies only by Esc (it is needed for joypads);
3. now cheat-code 16443 (early - 'Hurt Raziel') activates the main debug menu which also contains 'Fly Mode' - it is updated VampMaster's 'Swim Mode' (now you can swim/fly in the spectral realm also and without taking Swim Ability from Rahab).
Muyfa666
11-10-2010, 11:43 PM
Awesome wrace! Nice one.
Thou I can't seem to access the page you are linking to.
EDIT: Nevermind. Now it works. :-)
EDIT2: Thanks for the mention, but I really did nothing here. I just used the tools that you provided in the first place.
MaximumMayhem
11-11-2010, 04:34 AM
This is amazing work wrace! Thanks to you and your team for all of your tireless work. Warmest thanks from myself and all fans of the Legacy of Kain series.
In a digital sense, you have helped restore beautiful yet aged paintings through your skilled actions.
wrace
11-11-2010, 11:21 AM
Big thanks for your words and your estimation, guys... ;)
Thanks for the mention, but I really did nothing here. I just used the tools that you provided in the first place.
hm, it was very big trouble for us to find english version of files and only you help us with this - so without your help we did not created this patch... ;)
Muyfa666
11-11-2010, 12:38 PM
Ok, if you say so.
Vampmaster
11-14-2010, 03:38 AM
I can't guarantee the trainer would still work as well if you've included parts of it (such as the swim code) in your patch. There are also a lot of features in the trainer that can't be converted to a patch either. The trainer contains portions of the menu that were in the beta, but removed from the retail version and some additional code for extra reavers and particle effects that weren't in either. There just isn't enough unused space in the exe, so I have to allocate the memory while the game is running using the trainer and add the new functions into that.
wrace
11-14-2010, 05:13 AM
hm, it is evident that if I include parts of your trainer (such as the swim code) in my patch, they will not work, because you placed the additional code in allocated memory and your trainer works like ArtMoney (i.e. changing some parameters outside the main exe)... so I realize the same features by another way and I can garantee that my constructions work (without any bugs)... ;)
About your additional features:
1. you just add to the main menu additional points from another menus, - below are the full list such menus from SR1 (the game stores at the address 4F8178 the appropriate hex-values which are given below in the form: hex-address - dec-address - name; NA - there are no access from the main menu to the appropriate menu):
4F5F58 - 5201752 - Main Menu
4F6078 - 5202040 - Save Menu NA
4F60D8 - 5202136 - Events Menu NA
4F61C8 - 5202376 - Fog Menu
4F6288 - 5202568 - Goodies Menu NA
4F6438 - 5203000 - Sound Test Menu NA
4F6570 - 5203312 - Raziel Menu
4F6630 - 5203504 - Health Menu
4F66D8 - 5203672 - Abilities Menu
4F67C8 - 5203912 - Forgings Menu
4F6870 - 5204080 - Glyphs Menu
4F6978 - 5204344 - Imbuement Menu
4F6A20 - 5204512 - Cheats Menu NA
4F6DE0 - 5205472 - Camera Menu
4F6E40 - 5205568 - AI Menu NA
4F7B18 - 5208856 - Level Select Menu
4F7EC0 - 5209792 - Render Setup Menu NA
Save Menu - only 2 points: "save game" & "reload game";
Events Menu - show: "event vars/debug", "spline info", "game time";
+ 2 points for settings of "game time";
+ 2 points for portals (like ones in the Main Menu);
Goodies Menu, Cheats Menu, AI Menu - notning useful (because useful just do not work);
Sound Test Menu - duplicates Game Settings + contains Voice Test (allows listening sounds by index from voices.dat);
Render Setup Menu - duplicates Game Settings and System Registry.
2. you add "extra reavers" which acts like usual wraith blade but have another color (only one difference).
3. and you add swim mode which acts only in material realm and only if you have Swim Ability (Raziel takes it after defeating Rahab), - without this Ability Raziel just go to the spectral realm (where he can't swim in your version)...
Did I forget anything?..
There just isn't enough unused space in the exe, so I have to allocate the memory while the game is running using the trainer and add the new functions into that.
hm, you are not right: there are enough unused space in the kain2.exe to add activating the main debug menu and fly mode, - you can test this by comparing my version of kain2.exe with yours... ;)
Vampmaster
11-14-2010, 09:43 AM
hm, it is evident that if I include parts of your trainer (such as the swim code) in my patch, they will not work, because you placed the additional code in allocated memory and your trainer works like ArtMoney (i.e. changing some parameters outside the main exe)... so I realize the same features by another way and I can garantee that my constructions work (without any bugs)... ;)
About your additional features:
1. you just add to the main menu additional points from another menus, - below are the full list such menus from SR1 (the game stores at the address 4F8178 the appropriate hex-values which are given below in the form: hex-address - dec-address - name; NA - there are no access from the main menu to the appropriate menu):
4F5F58 - 5201752 - Main Menu
4F6078 - 5202040 - Save Menu NA
4F60D8 - 5202136 - Events Menu NA
4F61C8 - 5202376 - Fog Menu
4F6288 - 5202568 - Goodies Menu NA
4F6438 - 5203000 - Sound Test Menu NA
4F6570 - 5203312 - Raziel Menu
4F6630 - 5203504 - Health Menu
4F66D8 - 5203672 - Abilities Menu
4F67C8 - 5203912 - Forgings Menu
4F6870 - 5204080 - Glyphs Menu
4F6978 - 5204344 - Imbuement Menu
4F6A20 - 5204512 - Cheats Menu NA
4F6DE0 - 5205472 - Camera Menu
4F6E40 - 5205568 - AI Menu NA
4F7B18 - 5208856 - Level Select Menu
4F7EC0 - 5209792 - Render Setup Menu NA
Save Menu - only 2 points: "save game" & "reload game";
Events Menu - show: "event vars/debug", "spline info", "game time";
+ 2 points for settings of "game time";
+ 2 points for portals (like ones in the Main Menu);
Goodies Menu, Cheats Menu, AI Menu - notning useful (because useful just do not work);
Sound Test Menu - duplicates Game Settings + contains Voice Test (allows listening sounds by index from voices.dat);
Render Setup Menu - duplicates Game Settings and System Registry.
2. you add "extra reavers" which acts like usual wraith blade but have another color (only one difference).
3. and you add swim mode which acts only in material realm and only if you have Swim Ability (Raziel takes it after defeating Rahab), - without this Ability Raziel just go to the spectral realm (where he can't swim in your version)...
Did I forget anything?..
hm, you are not right: there are enough unused space in the kain2.exe to add activating the main debug menu and fly mode, - you can test this by comparing my version of kain2.exe with yours... ;)
There might be room in the exe, but I have no idea how much of that memory is filled with data from the bigfile or data that only gets generated while the game is running. A few of the menus and some particle effects and the special reaver kill moves don't exist in the game and are created by the by the trainer in dynamically allocated memory.
Maybe the code from the trainer you currently have works, but I don't know if you were able to include everything and I don't know what would happen if you ran the trainer at the same time as your patched exe. My trainer could crash the game.
Vampmaster
11-14-2010, 09:53 AM
Which trainer did you copy the code from? The old game trainer studio trainer or the newer C++ trainer?
wrace
11-14-2010, 10:01 PM
There might be room in the exe, but I have no idea how much of that memory is filled with data from the bigfile or data that only gets generated while the game is running.
no, I told about another unused space - it is some space through which you and I organize jumps when created patches for SR1... ;)
A few of the menus and some particle effects and the special reaver kill moves don't exist in the game and are created by the by the trainer in dynamically allocated memory.
yeah, I remember - like extra-reavers with effects of glyphs...
Maybe the code from the trainer you currently have works, but I don't know if you were able to include everything and I don't know what would happen if you ran the trainer at the same time as your patched exe. My trainer could crash the game.
Of course, I don't include everything: like additional features that you add in your trainer (because there are already in the game sunlight glyph - which kills all enemies in the area with the radius 28, fire glyph - which kills all enemies in the area with the radius 14, and the fire reaver - which also kills enemy; another reavers do not do something more and not all can kill enemy like the appropriate glyphs; + after one hit the appropriate reaver disappers and you can't imbue it by sound, force or anything except of fire), - I just add feature to activating the main debug menu by one of existing cheat-codes and improve your swim mode (very useful feature)...
It is nothing happen when I run your trainer or SR-Hook.dll with my patched kain2.exe: in such case - by pressing 16443 or tilda or the key for activating debug menu in your trainer - appears the debug menu (main or yours - with additional features - since you just organized relocation to the your main menu in your trainer) which contains my fly mode (in the goodies); your swim mode also works - you can compare this 2 modes... ;)
hm, about crashing the game: some features from the debug menu can crash the game (for example, levels) - I test this without any trainers or patches - just by calling the appropriate menus by changing values in the memory at the addresses C66E92 (type of menu - "menu off", "debug menu" or "pause menu") and 4F8178 (one of menu from the list above)...
Which trainer did you copy the code from? The old game trainer studio trainer or the newer C++ trainer?
I tested this trainer (http://www.thelostworlds.net/Software/Soul_Reaver_Trainer.html) - I think that it is c++ trainer (since in the Game Trainer Studio I don't see such features as exist in this trainer)...
About what I took: for example, it is known that the main debug menu appears if you change in the memory values at the addresses C66E92 and 4F8178 (by using any memory editor); but if I call this menu from kain2.exe (by pressing the cheat-code 16443) I need to write something like this (instead of calling the function _RAZIEL_DebugHurtRaziel) - to exit from the "pause menu" and run the main debug menu (note that it is not needed to exit from the "pause menu" if you change such values outside the kain2.exe):
call 4933A0 - _DEBUG_ContinueGame
68 20 6D C6 00 push C66D20
E8 51 93 FA FF call 4AC540 - _GAMELOOP_Process
83 C4 04 add esp, 04
C6 05 92 6E C6 00 04 mov b,[C66E92],04 - Debug Menu
C7 05 78 81 4F 00 58 5F 4F 00 mov d,[4F8178],4F5F58 - Main Menu
C3 ret
Something like this I need to wrote and for fly mode (I just used your idea - "swim everywhere" by rewriting the code for the function _PhysicsCheckSwim specially for Raziel because this function is used and for monsters too; + disabling functions _FX_MakeWaterBubble and _TrailWaterFX; also as disabling 2 checks of existing Swim Ability + adding one fix for swimming in the spectral realm)... Also I add one additional fix - so by one replacement Raziel will can fly and through any walls too... ;)
hm, there are very funny feature: if we do such fix
mov w,[4BA059],17EB
water be everywhere - so all vampires (for excepting Rahabims) just die...
Vampmaster
11-15-2010, 02:38 PM
Well, maybe you could make another version of the patch without the cheats in case anyone wants to use the trainer with the bink files. The current patch might work ok, but the more changes that get made, the more there is that can go wrong and I don't want to have to rewrite it just yet. There's a few features I want to add, but I'm still working on the model extractor for SR2.
If I have your email address, I'll send you all my notes on the LOK games. You've accomplished a lot so far and I'd love to see what you could do with 7 years of research.
EDIT: For example the send cinematic command function switches off the AI and instructs the enemies to go to a random location. Change it from instance broadcast to instance post makes it work on one enemy at a time. Combine it with the possession code and you could make them go anywhere you want.
wrace
11-15-2010, 09:51 PM
Well, maybe you could make another version of the patch without the cheats in case anyone wants to use the trainer with the bink files.
I wrote above: yesterday I tested this version of the patch + with fix for SR-Hook.dll + with running your trainer, - before I pressed F11 (default key for activating debug menu in your trainer), when I type the cheat-code 16443 or press tilda, the main debug menu appears with the one additional option - Fly Mode (I just rewrote the code for unuseful option View Vram and replaced the appropriate name by Fly Mode - so this option appears in any version of debug menu; it likes when I replaced the names of debug menu by localized versions after adding such support, of course, - for example, as I do for our fans, - it does not matter what version of trainer they used - always they would view points on our native language; excepting ones that do not exist in the kain2.exe and which are you add manually); after I press F11 instead of main debug menu appears your version (it also appears if I press tilda or type the cheat-code 16443 because you created relocation for main menu on your version), which is used the same points from the main menu and some others - so in the Goodies we also have Fly Mode instead of View Vram... Additional my fix (activating the main debug menu by the cheat-code 16443) - it is just writing in the memory 2 values - the same as your trainer or SR-Hook.dll writes... ;)
The current patch might work ok, but the more changes that get made, the more there is that can go wrong and I don't want to have to rewrite it just yet.
yeah, I understand your opinion, but it is matter where we change the code, - if the game does not used the appropriate code (because we organize jump through it), so there are no bugs or additional crashes; also as it does matter how we add additional features - if I add such features in the way that all other trainers also would work as early (before adding these my features), so it is not needed to rewrite these trainers... ;) It is like bink-support for SR1 - we just replaced winplay.dll and wrote in it the functions with the same names as in original winplay.dll - so it is not needed to do any changes inside kain2.exe...
I tested your trainer and I know how it works, so it was easy for me to add additional features in such way that your trainer would still work (as early)... ;)
And I need to say that this emulating of the trainer was created 2 years ago and our fans (+ I, of course) tested it all these years and they do not find any bugs or additional crashes...
If I have your email address, I'll send you all my notes on the LOK games. You've accomplished a lot so far and I'd love to see what you could do with 7 years of research.
thanks for your words, - I can say also addressing this for you... ;)
I wrote my email in PM, but I'm not sure that your email-provaider does not have my email in the black list...
For example the send cinematic command function switches off the AI and instructs the enemies to go to a random location. Change it from instance broadcast to instance post makes it work on one enemy at a time. Combine it with the possession code and you could make them go anywhere you want.
wow! it is very interesting feature, - I tested possessing which is added as additional feature for SR1-Hook.dll (http://forums.eidosgames.com/showthread.php?t=114106) and I know that with the features you said it will be amasing (hm, I read the article on The Lost Worlds about possessing and I know that there are some problems with manipulating enemies)...
works perfectly, if you follow the steps carefully
THANK YOU!
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.