View Single Post
Old 01-13-11, 07:05 AM   #902
Stiebler
Fuel Supplier
 
Stiebler's Avatar
 
Join Date: Oct 2005
Location: London, UK
Posts: 1,237
Downloads: 29
Uploads: 4


Default Stiebler ‘Crash-Dive Blues’ Fix.

I have fixed the crash-dive blues.

Code principle is completely trivial:
IF (crash-dive-flag = 0) THEN quick-dive tank = 0.5000.

Of course, it took H.sie and me some time to discover all the key features. I myself wrote over one page of assembly code just to locate the quick-diving tank. Then I found it fixed at [esi+438h], so I could reduce all the code to a few lines!

The fix appears to solve all problems, even though it sets q-d-tank to 0.500 on surface, when value should be 0.000 (sometimes).

This code is also called uselessly every time there is a call to the hydroplanes. However, the code is so compact, that any code to avoid this useless recall would probably be a lot slower!

I've given everything a massive test under all dive conditions that I can think of: crash-dives, interrupted crash-dives by clicking on depth-gauge above and below crash-depth, conventional dives, orders to periscope depth, interrupted crash-dive with order to periscope depth, blowing ballast, resumed crash dives after interruption. *Everything" works well, with full stability at slow underwater speed.

I shall release the code for some bold testers after H.sie has examined it.

@H.sie:
You have a PM.
You need SH3SIm.act only, no need to alter sh3.exe.

Stiebler.
Stiebler is offline   Reply With Quote