SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (http://www.subsim.com/radioroom/index.php)
-   SHIII Mods Workshop (http://www.subsim.com/radioroom/forumdisplay.php?f=195)
-   -   Realism- and gameplay-related hardcode fixes for SH3.EXE (http://www.subsim.com/radioroom/showthread.php?t=174225)

h.sie 08-28-2010 06:57 PM

Realism- and gameplay-related hardcode fixes for SH3.EXE
 
Realism- and Gameplay-related hardcode fixes for SH3.EXE
-- The inofficial Patch v1.6 for Silent Hunter 3 --

Stable version:V16B1
Date of this post: May. 23th 2012

Here I present my inofficial hardcode patch for the Silent Hunter 3 executable. Due to copyright issues and in order to prevent illegal software duplication, I cannot share the patched sh3.exe - I can only offer a Patch-Kit for you to patch the executable by yourself. This makes sure that only a legal owner of the software can use these fixes.

Download

V16B1-Readme in ENGLISH can be found here:
http://www.mediafire.com/?jl18d352j54g1ie

V16B1-Dokumentation in DEUTSCH guggsdu hier:
http://www.mediafire.com/view/?z5dv44e11aium7k

V16B1-Patch-Kit (including Readme) can be found here:
http://www.mediafire.com/?27tcm2yg29gsqqc


Hardcode-Fixes Overview

This in only a very brief overview about the Hardcode Fixes. Details and installation instructions can be found in the Readme (see above!). Due to Stieblers cool OptionsSelector tool, most of the Fixes can individually switched ON/OFF. Even the 4GB-patch can be applied with his Selector.

1. Realistic Repair Times.
Repair times of all U-boat equipment take 60 times longer than before. The factor of 60 is user-adjustable.

2. Inaccurate range-estimations
Inaccurate range estimations for WatchOfficer (->Nearest visual contact) and WeaponsOfficer (-> Solution to target). No gods-eye firing solutions anymore. Before this mod: "Range: 8932m, Herr Kaleun". Now: "Range: 9000m, Herr Kaleun".

3. Snorkel-Fix
Speed restriction when snorkelling - wind speed dependent!

4. Periscope-Fix
Periscopes nearly useless for higher speeds, since blur effect simulates periscopes vibrations. At higher speeds, periscopes are moved down automatically.

5. Hydrophone-Fix
Hydrophones useless when diesels are working. When snorkelling, you must stop diesels in order to use hydrophones. Otherwise you'll hear nothing. No sound contact reports when diesels are working.

6. External torpedo reload fix
  • No reload of external torpedoes possible during bad weather.
  • Speed restriction to "slow" during external reload.
  • No diving possible during reload of external torpedoes.
7. Internal torpedo reload fix
No reload of internal torpedoes during storm and when surfaced. During storm one has to dive below 16m in order to reload internal torpedoes.

8. "Crash dive blues"-Bugfix (by h.sie and Stiebler)
From now on, you don't lose control over the sub anymore if you interrupt a crash dive before the sub has reached its designated crash dive depth.

9. Watch Officer automatically moves to bridge when surfacing

The lazy watch officer now automatically moves to the bridge when surfacing.

10. Fog warning
During high time compression (TC) it can happen that suddenly heavy fog occurs (or disappears), but the player doesn't even notice it and so he won't be able to act according to that new situation. This fix reduces TC>16 to TC=16 whenever fog occurs or disappears in order to warn the player. Additionally, the watch officer reports "fog sighted" resp. "fog disappearing".

11. Oxygen-Supply - by LGN1 (idea) and h.sie (programming)
So far, SH3 models a 100% renewable oxygen (O2) supply. That means: After a long period of diving, say 40 hours, it was sufficient to surface and after that the Uboat was able to dive for 40 hours again and again. With this fix, O2 is divided into two parts: A renewable part and a non-renewable part. The renewable part is the O2 in the air of the Uboat. This part is sufficient for a diving period of about 5-7 hours. During this time the LI informs you about the O2 content of the air, starting at the normal value 21% and slowly decreasing to the critical value of 17%. At 17%, the LI automatically starts to add O2 from the oxygen-supply (contained in pressure bottles). This botteled O2 supply is sufficient for a long diving period of about 30 - 100 hours (depending on Uboat type), but that O2-supply is non-renewable! That means: It is not filled up when surfacing. Only the O2 in the air is restored to the normal value of 21% when surfacing. From now on the Player has to act economically regarding O2 supply, what adds a new strategical component to the game.

12. U-Tanker Mod - by Stiebler and h.sie
Everyone complains that, when you dock at a U-tanker in mid-ocean, you lose all your current renown/tonnage for medal purposes, you get a full refuelling, full repairs, full torpedo load-out and you lose the patrol grid which BdU ordered. No longer! With this Fix, you get only 1-4 air torpedoes, you retain the patrol grid details, you receive some repairs to your hull-integrity (but not to equipment) and you receive a fuel upgrade, of up to 30% of the full capacity.

13. BDU-Messages Mod

Instead of the monotonic 2-3 standard BDU responses to status reports, there are now 28 different messages the BDU will send, depending on your tonnage sunk, fuel supply, hull damage, remaining torpedoes.

14. Radar Fix

Radar automatically switches back to ON state, when it has been switched OFF in high waves. Additionally, now the default state is OFF when a game is loaded.

15. WarNews - by Stiebler and h.sie
TC doesn't drop down to 1 when a radio message is received.

16. Wolfpack Mod (!!!) - by h.sie (programming) and LGN1 (idea)
When you find a convoy and send a contact report, it can now happen that BDU orders to shadow the convoy and send contact reports every hour, until a wolfpack consisting of AI-Uboats has arrived and collectively attack the convoy.

17. Torpedo Failure Fix - by h.sie (programming) and LGN1 (failure model)
Models higher dud rates during the torpedo crisis until 1942, and also models duds resulting from too shallow torpedo depth settings.

18. Night Vision Fix - by Makman94, Rubini and h.sie (programming)
Reduced visible range at night.

19. Diesel Damages Fix
Risk of random diesel damages when agonizing diesels with flank speed.

20. Bad Weather Fix
Shortened time periods with heavy fog.

21. Collision Damage Fix
Enlarged damage to the Uboats pressure hull when rammed by surface ship (e.g. escort).

22. Battery Discharge Fix
No movement anymore when submerged and battery empty.

23. SalvoSelectorSwitch Bugfix
Little bugfix for Salvo selector



Compatibility with Supermods:

1) GWX: Yes.
2) NYGM: Yes - except for the longer repair times fix.
3) LSH: Not tested yet, but should work.
4) WAC: Not tested yet. Should work, if you use stock repair times instead of LRT.
5) CCom: Not tested yet, but should work.


Additional Notes:

1) Don't use any of the older LRT (Longer Repair Times) or LLRT (Little Longer Repair Times) mod.

2) Do not load save-games produced with an older version of the patched exe. I suggest to patch only when you start a new career.

3) This patch adds code to sh3.exe. Some Antivirus-Programs maybe don't like this.

4) The patcher will remove the copy protection of your sh3.exe. Since this is not legal, you must not use this patcher if you have a copy-protected version.

5) USE MY PATCHES ON YOUR OWN RISK. ALTHOUGH I TRY TO WORK ACCURATE, THERE STILL REMAINS A LITTLE CHANCE FOR A PROGRAM CRASH (CTD), WHICH COULD CORRUPT DATA.


-------------------------------------------------------------------------------------------------------
Original first post:
-----------------
Finally, I found out where in the allocated memory sh3.exe stores the amount of damage of all the uboat compartments and equipments and, much more important, I also found the assembler routines which modify the damage amount. So I was able to change the damage status, repair times and flooding level of abitrary compartments and equipments during gameplay using an little external program! For example, I set a certain 32 Bit Floating-Point value to 1.0 and immediately I heard "Periscope destroyed, captain". Setting it back to 0.0 completely repairs the periscope.
I am lightly optimistic, that realistic repair times AND realistic flooding behaviour can be done with a little assembler code. Hope I can solve the mentioned problem.

Stormfly 08-28-2010 07:20 PM

seams that youre about to open Pandora`s Box :D

nice that you are kind enough to find this, man what other bad things are waiting for you in it...:03:

Myxale 08-29-2010 09:50 AM

Looks like a great find.

Usually the Longer repair time mods were a trade off, between crew eff. and flood timer!

Will stay :rock:tuned!

ryanwigginton 08-29-2010 11:21 AM

Awesome! I will start playing again if you crack this bad boy.

h.sie 08-30-2010 02:04 AM

Quote:

Originally Posted by Stormfly (Post 1479855)
seams that youre about to open Pandora`s Box. nice that you are kind enough to find this, man what other bad things are waiting for you in it...:03:

Quote:

Originally Posted by ryanwigginton (Post 1480232)
Awesome! I will start playing again if you crack this bad boy.

I am not interested in "bad things" or to "crack" something. But I am very much interested to fix some bugs UBI wasn't able or willing to fix. UBI promised a "realistic simulation". that promise in mind, I bought that game twice (one early version with copy protection and one without protection). but the repair times, even in the latest patched version 1.4b, are far away from being realistic. and the available repair time mods are only workarounds and have negative side-effects on flooding behaviour as another poster already wrote.

The repair times of the compartments (command-room, engine-room) cannot be changed since they are directly linked to the flooding recovery times which I won't touch. But the repair times of all the equipment (periscopes, engines, pumps) can be changed by a arbitrary constant factor. what about a factor of 60?

Repairs which take 1 minute now will then take 1 hour and so on.

Still optimistic that it will work, but I have to become familiar with some floating-point assembler commands.

nemo7 08-30-2010 03:32 AM

This will be a revolutionary find matey! I hope you can make a go of it...:DL

makman94 08-30-2010 05:28 AM

this is very interesting H.Sie ! good luck to your 'research' :up:

divingbluefrog 08-30-2010 06:36 AM

I'm sure you are aware of this thread :
http://www.subsim.com/radioroom/showthread.php?t=172432

It changed my life. Before, I was using LRT with some tweaking of mine, essentialy to keep the fatigue model on.

Now, I just have changed this few lines in the basic.cfg file :
NumberOfCrew5=10
Interval1_5=5.1
Interval2_5=1000;6.5
Interval3_5=1400;13.7


It gives me realistic repair times, many hours for heavy damaged equipment, no influence on crew efficiency in the other Uboat's compartments, no influence on fatigue model, and flooding recovery times that seem to be realistic too, 20mn for a 1% hull damage.

Stormfly 08-30-2010 06:48 AM

...with "bad things", i ment of course (from the view of a hardcore simmer) poor or missing simulation features and bugs. :88)

h.sie 08-30-2010 08:02 AM

Quote:

Originally Posted by divingbluefrog (Post 1480863)
I'm sure you are aware of this thread :
http://www.subsim.com/radioroom/showthread.php?t=172432

It changed my life. Before, I was using LRT with some tweaking of mine, essentialy to keep the fatigue model on.

Now, I just have changed this few lines in the basic.cfg file :
NumberOfCrew5=10
Interval1_5=5.1
Interval2_5=1000;6.5
Interval3_5=1400;13.7


It gives me realistic repair times, many hours for heavy damaged equipment, no influence on crew efficiency in the other Uboat's compartments, no influence on fatigue model, and flooding recovery times that seem to be realistic too, 20mn for a 1% hull damage.

Hi divingbluefrog,

I read that post, but I didn't understand it completely. Two questions:

1) Did you also change the FloodingTimes in the Zones.cfg?

2) What are the other Interval2_X and Interval3_X values in your Basic.cfg?
(X goes from 1 to 13 or so. ) Or are they all the same???

Greetings,
h.sie

LGN1 08-30-2010 12:56 PM

Great work, h.sie :up:

While you are at it, maybe you can find out how the CO2 level in the sub works. I think at the moment you can stay submerged only 48 hours while in real life it was more like72 hours. Would be great if this could be fixed, too.

Cheers, LGN1

Magic1111 08-30-2010 01:20 PM

Quote:

Originally Posted by h.sie (Post 1480772)

Still optimistic that it will work, but I have to become familiar with some floating-point assembler commands.

Hi h.sie !

This Thread is very interesting, and I wish you good luck for your work !!! :up:

Best regards,
Magic:salute:

CherryHarbey 08-30-2010 01:50 PM

If you can get longer repair times, without the trade off that existing mods have, that would be great. The very best of luck with your work.

divingbluefrog 08-31-2010 03:54 AM

Hi,

1) Yes. I still use the zones.cfg provided by Nvdrifter in Drifter's Realism Mod v1.02a

2) The other values of Interval2_x and Interval3_x are pure stock, except for NumberOfCrew3 and 10 which Interval3_x values were inverted, so I made the correction.

Hope this helps.

h.sie 08-31-2010 07:01 AM

it's getting better and better. I don't even have to patch the sh3.exe directly to apply the corrected assembler routines. using auto-assembler, they can be applied dynamically at game launch time to the sh3 routines in RAM. so I don't risk to get banned from this forum.

All seems to work well, but I still have to make some tests.

I have to damp down my euphoria, because these instant repair times bother me for 2 years now and the solution seems to come nearer and nearer.


All times are GMT -5. The time now is 03:43 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright 1995- 2019 Subsim