SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SHIII Mods Workshop
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 06-06-11, 01:03 AM   #1426
h.sie
Admiral
 
Join Date: Jul 2008
Posts: 2,192
Downloads: 131
Uploads: 0


Default

@Blaz: Send me your sh3.exe file, so I can look into it. Please upload exe and send me the link via PM.
__________________
My Mediafire page: http://www.mediafire.com/hsie
h.sie is offline   Reply With Quote
Old 06-06-11, 06:12 AM   #1427
SquareSteelBar
Sea Lord
 
Join Date: May 2006
Location: U-73
Posts: 1,638
Downloads: 618
Uploads: 0
Default

Quote:
Originally Posted by Blaz View Post
I have a problem.

I can`t patch my sh3.exe - wrong checksum error. Patch_sh3.bat can`t find compatibile version od sh3

I use Polish/German Box SH3 1.4 version (sh3.exe has 1.4.0.1 version).

Any ideas what to do? I would really love to use Your mod..
Welcome aboard!


What's the MD5 checksum of your sh3.exe? To get the checksum you need a tool like this


Cheers,
SquareSteelBar
SquareSteelBar is offline   Reply With Quote
Old 06-06-11, 08:36 AM   #1428
Stiebler
Fuel Supplier
 
Stiebler's Avatar
 
Join Date: Oct 2005
Location: London, UK
Posts: 1,237
Downloads: 29
Uploads: 4


Default U-boat Surrender.

It is desirable to introduce the option of ‘surrender’ of the U-boat when conditions are sufficiently severe. This was a feature of the old Aces of the Deep, which gave a small chance of being rescued by U-boat and returned to active service. SH3 lacks this feature, and other players in the past have requested this option as a mod.

Currently, whenever the U-boat is sunk in SH3, all the crew is killed, and players who play ‘Dead is Dead’ might as well remained submerged and take their chances when a real crew would certainly surface in order to try to save their lives. So it would be desirable to introduce this feature, partly to encourage the ‘dead-is-dead’ players to surface in the hope of being ‘rescued by another U-boat’, and partly to save some or all of the crew.

So what actually is required from this mod?
1. The U-boat must have suffered sufficient hull damage to want to surrender.
2. The U-boat must be on the surface.
3. It is not necessary that the U-boat be under attack when it surrenders. For example, several commanders had to abandon their U-boats after an air attack caused serious damage, even though the aircraft had long departed.
4. There must be a way of communicating the surrender to the program code.
5. The program code must then compute a chance (say 20%) that you will be rescued and returned to active service. (I.e., you can legitimately start a new career a few months after your U-boat was sunk, with a new boat and a new crew.) Otherwise, the program will compute how many crew are killed and how many survive.

I tried the idea of intercepting the ‘Pressure’ message when the U-boat is sunk, in deep diving tests when U-boat is ‘destroyed by pressure’, but the code which calls the text ‘pressure’ is obviously a general purpose message handling piece of code centred around two consecutive subroutines, of which the first begins at 0x0050DCC0. This code is called very frequently, so not much hope for using it.

It seems to me, however, that most of what is needed in already in place for coding:
1. Must have sufficient hull damage to surrender. H.sie and I have already found a way of including hull-damage in our other code (eg, for the U-tanker repairs).
2. Must be on the surface. This is a tricky problem, and I haven’t been able to find the flag (there must be a simple flag, and it seems to be only one or two bytes judging by my trials to locate it.) But see (3) below.
3. Must be able to communicate the surrender to the program code. Now here there is a solution. Status messages sent to BdU from the U-boat can be intercepted, so the program just has to make one test: Is hull damage sufficiently severe? If so, set a ‘Surrender’ flag to true. And the great attraction of this method is that status messages can only be sent when you are on the surface, and it does not matter whether or not you are under attack! I have now implemented and tested this part of the code completely. Also this is realistic! The ocean is large! If you want to abandon ship and be rescued, you really had better send a message about it.
4. And now the tricky bit. When you finally sink, the code must intercept the message in the code around 0x0050DCC0 that ‘U-boat destroyed by ...’ and substitute the message ‘U-boat abandoned at sea with heavy damage’. At the same time it can calculate how many crew survived (a random figure related to degree of hull damage), and whether the 20% probability of being rescued applies. (If so, supply the message ‘U-boat abandoned at sea, crew rescued’.) This last part, I am attempting now.

In summary then, what I am proposing is this:
a) When your U-boat is severely damaged, then you can send a distress signal - but you must be on the surface to do it.
b) Then you sink your U-boat deliberately. It is called ‘scuttling your boat’ to prevent it from falling into enemy hands.
c) Finally you get a message saying that you and some/most of your crew have survived, and there is a 20% chance that you will be rescued by another U-boat. Otherwise you become a prisoner-of-war.

All OK? Does anyone have any problems with this as a working principle?

Stiebler.
Stiebler is offline   Reply With Quote
Old 06-06-11, 08:46 AM   #1429
irish1958
Ocean Warrior
 
Join Date: Apr 2005
Location: Carmel, Indiana
Posts: 3,250
Downloads: 320
Uploads: 11
Default

This would be a great addition to the game; I can't think of anything to improve these ideas.
SH3CMDR does have an option to surrender if on the surface.
__________________
Irish1958
irish1958 is offline   Reply With Quote
Old 06-06-11, 09:14 AM   #1430
Aces
Ace of the Deep
 
Join Date: Apr 2005
Location: London, UK
Posts: 1,140
Downloads: 211
Uploads: 0


Default

Hi mate,

I noticed once in S3ditor that StatemachineClass has a possible value of "Is_Underwater" which might help you find id the u-boat is surfaced, I'm guessing that if "Is_Underwater" is false then the u-boat is on the surface, just an idea.

Best regards

Aces
Aces is offline   Reply With Quote
Old 06-06-11, 09:16 AM   #1431
JeromeHeretic
Machinist's Mate
 
Join Date: Jun 2011
Location: N 50 4 E 14 25
Posts: 127
Downloads: 266
Uploads: 0
Default

I have problem with V15F3. Everything works well in game, but I can't load saved games, because everytime game crash even if i'm submerged even if not.
When i got save from a port, not at all time, bat often the game crashes on start of new mission too. When i use non patched sh3.exe, everything is OK.

IMPORTANT!
I'm not a windows user! I'm running SH3 on linux in Wine 1.3.19 environment, so it is possible, that this is realy specific problem!

I have in computer 2G RAM and when i want to run game, there is about 1.7G of free memory for wine and the game. What happens in case that game crash is, that ANYTIME the game run out of memory and linux kernel at this moment do OOM kill of that process.
In real it looks as save is loading, i see normaly progress bar, at the end screen starts to be black, it's in the moment, when normaly message "Not so long ago..." is displayed. At this moment, HDD LED start shine continuously, which mean, that in this moment kernel try to free all caches and moving processes in background to swap, because SH3 is requesting more memory pages for alocating and try free more memory to the moment, when there's no more memory and kernel must kill this process.

I can do some closer look for that problem (for example i'm playing with IID submarine, which is surely not often situation) if you want. At this case tell me things TO DO, I'll try and tell you results.
JeromeHeretic is offline   Reply With Quote
Old 06-06-11, 10:01 AM   #1432
Hitman
Pacific Aces Dev Team
 
Hitman's Avatar
 
Join Date: Sep 2002
Location: Spain
Posts: 6,099
Downloads: 109
Uploads: 2


Default

Quote:
All OK? Does anyone have any problems with this as a working principle?
But how is SH3 going to recognize that, when you want to continue the career? Currently, when you are killed at sea, you get when you try to restart the career a last save with the description "Gefallen" ("Fallen"? I'm using only german language text) and that save game is locked -although you can reload a previous save-.

How are you going to change that status in the game? Maybe tricking the game into rolling a dice, and if luck strikes, you are set as "returned to base" some months later but with new uboat assigned? And if no luck, then you would still be dead at sea? Is that the idea?

In any case, IIRC you can already simulate that with SH3 Commander, i.e. you might die but Commander allows you to resurrect the Kaleun as if he had abandoned and scuttled the boat, then been rescued.

Aditional note: It could be of interest to increase the chance of being rescued depending on the area, if possible. Near Norway, France and in the Mediterranean a crew had obviously much more chances of surviving.
__________________
One day I will return to sea ...
Hitman is offline   Reply With Quote
Old 06-06-11, 12:49 PM   #1433
Volk2
Medic
 
Join Date: Sep 2010
Posts: 160
Downloads: 25
Uploads: 0
Default

I see one problem - what if your radio is destroyed? You cannot send a message then. Beside that, really great idea.
__________________
Volk2 is offline   Reply With Quote
Old 06-06-11, 02:16 PM   #1434
LGN1
Ace of the Deep
 
Join Date: Mar 2006
Posts: 1,138
Downloads: 147
Uploads: 12
Default

Nice idea, Stiebler

Just one comment: I don't think that hull damage is a good indicator for surrendering the boat. I guess most players don't know the hull damage, so it's difficult to know when you can give up. I think a proper solution would be if the player could decide on his own when to surrender.

One idea might be that you have to move your crew out of a special compartment, e.g., with an empty radio room (can you still send a radio message in this case ) you can surrender or with empty bow quarters and bow torpedo room. Or completely empty engine rooms (usually at least one of them is occupied).

Regards, LGN1
LGN1 is offline   Reply With Quote
Old 06-06-11, 05:07 PM   #1435
sharkbit
The Old Man
 
Join Date: Apr 2008
Location: Denver, CO
Posts: 1,529
Downloads: 334
Uploads: 0
Default

Great idea Stiebler!
__________________
“Prejudice is blind. There will always be someone who says you aren’t welcome at the table. Stop apologizing for who you are and using all your energy trying to change their minds. Yes, you will lose friends, maybe even family. But you will gain your self-respect. You will know your worth. Once you have that, nothing can stop you.”
sharkbit is offline   Reply With Quote
Old 06-06-11, 05:15 PM   #1436
h.sie
Admiral
 
Join Date: Jul 2008
Posts: 2,192
Downloads: 131
Uploads: 0


Default

My BDU messages mod (based on Stieblers BDU congratulation mod) is finished. Instead of 2 well-known messages we now have about 28 messages, depending on the following data:
  • total tonnage sunk
  • tonnage sunk since last status report
  • hull damage
  • fuel
  • remaining torpedoes
Harder than programming was to make some phrases (thanks to LGN1 for some ideas). You'll find here my german phrases.

Can anyone (native english speaker?) please translate them into good and military-like english language?

; BDU-Messages
; allgemeines
4835=Keine neutralen Schiffe versenken, Sie Anfänger!
4836=Übertragungsfehler! Wiederholen Sie Ihre letzte Meldung!

; Sprit oder Torpedos alle oder Druckkörper beschädigt
4837=Rückmarsch antreten! Einlaufhafen wie befohlen!

; Gratulationen für das Erreichen einer neuen Tonnage Kategorie
; 20000 - 40000 t
4838=Sehr gute Ergebnisse!
; 40000 - 60000 t
4839=Gratulation. Exzellente Resultate!
; 60000 - 80000 t
4840=Deutschland ist stolz auf Sie und Ihre Besatzung!
; 80000 - 100000 t
4841=Da ist wohl eine Auszeichnung fällig!
; > 100000 t
4842=Gratulation dem neuen Ritterkreuzträger!

; Für das Versenken von >15000t
4843=Gratulation. Das wird den Gegner in die Knie zwingen.
4844=Bravo. Ein exzellenter Schuss.

; Für das Versenken von >10000t
4845=Sehr gute Arbeit! Ein entscheidender Schlag.
4846=Bravo. Nehmen Sie sich vor feindlichen Zerstörern in acht.

; Für das Versenken von >5000t
4847=Saubere Arbeit. Machen Sie weiter so!
4848=Gute Arbeit! Halten Sie Ausschau nach Einzelfahrern.

; Für das Versenken von >2000t
4849=Gut gemacht! Dranbleiben!
4850=Die Versenkung wurde registriert. Überlebende sofort melden!

; Zufällige Mitteilungen
4851=Meldung erhalten. Machen Sie weiter wie befohlen!
4852=Nachricht empfangen.
4853=Kurzsignal empfangen. Erwarte nächste Status- und Wettermeldung in 24h.
4854=Meldung empfangen. Bleiben Sie wachsam.
4855=Nachricht erhalten. Nicht unterkriegen lassen!
4856=Meldung erhalten. Vorsicht vor feindlichen Flugzeugen!
4857=Meldung empfangen. Weiterer Funkverkehr ab sofort über Längstwelle 20,4kHz.
4858=Nachricht empfangen. Funkverkehr bis auf Weiteres über Kurzwelle.

; zur Motivation
4859=Seien Sie aggressiver! Wir brauchen mehr Erfolge!
4860=Seien Sie mutiger! Ran an den Feind!
4861=Kommen Sie ja nicht mit vollen Torpedorohren nach hause!
4862=Angriff! Ran! Versenken!
__________________
My Mediafire page: http://www.mediafire.com/hsie
h.sie is offline   Reply With Quote
Old 06-06-11, 05:16 PM   #1437
Gerald
SUBSIM Newsman
 
Gerald's Avatar
 
Join Date: May 2008
Location: Close to sea
Posts: 24,223
Downloads: 548
Uploads: 0


Good work,
__________________
Nothing in life is to be feard,it is only to be understood.

Marie Curie





Gerald is offline   Reply With Quote
Old 06-07-11, 03:54 AM   #1438
Stiebler
Fuel Supplier
 
Stiebler's Avatar
 
Join Date: Oct 2005
Location: London, UK
Posts: 1,237
Downloads: 29
Uploads: 4


Default

Thanks very much everyone who made comments on the idea of a U-boat surrendering/being abandoned at sea.

I take the point that one could also roll dice for a similar result, or use SH3Commander's randomising routine, but that is not really the same, is it?

You wait until until you are sunk, and then roll a die (one die, two dice) to see whether you can play again. The problem, as I stated earlier, is that then there is no incentive ever to return to the surface when the position becomes hopeless underwater. You will be sunk either deep or on the surface, you still get to roll your die. So you might as well stay submerged and hope for a miracle.

With a surrender option, you have to be on the surface first. That is an important difference. And if your radio is wrecked, then you cannot signal. That seems realistic to me.

I'm still working on the code.

Concerning hull damage as test:
There has been a lot of debate in the past about how much the crew should know of the boat's damage condition. But, realistically, it would be obvious on the surface, and fairly obvious from the extent of leaks when submerged. Long ago, as one of his first mods, H.sie produced a four-colo(u)r indication of hull-damage, white, yellow, orange. red. This is fitted to NYGM as standard. No reason why users of other mods, including GWX, shouldn't use it too.

@H.sie:
I can do the English translations for you, into naval English.

Stiebler.
Stiebler is offline   Reply With Quote
Old 06-07-11, 04:19 AM   #1439
h.sie
Admiral
 
Join Date: Jul 2008
Posts: 2,192
Downloads: 131
Uploads: 0


Default

@Stiebler: That would be very kind! Thank you! Doesn't need to be an exact translation. Could also fit your personal taste.

h.sie
__________________
My Mediafire page: http://www.mediafire.com/hsie
h.sie is offline   Reply With Quote
Old 06-07-11, 05:54 AM   #1440
Stiebler
Fuel Supplier
 
Stiebler's Avatar
 
Join Date: Oct 2005
Location: London, UK
Posts: 1,237
Downloads: 29
Uploads: 4


Default

@H.sie:
Here they are:

; General
4835=Don’t sink neutral ships, you amateur!
4836=Error in transmission! Repeat last message!

; Fuel, Torpedo or hull-damage
4837=Start return! Home base as directed!

; Congratulations for achievement of new tonnage-category
; 20000 - 40000 tons
4838=Very good results!
; 40000 - 60000 tons
4839=Congratulations! Excellent results!
; 60000 - 80000 tons
4840=Germany salutes you and your crew!
; 80000 - 100000 tons
4841=That is worth an award!
; > 100000 tons
4842=Congratulations - new wearer of the Knight’s Cross!

; For sinking >15000t
4843=Great work! That will hurt the enemy!
4844=Bravo! Excellent shooting!

; For sinking >10000t
4845=Very good work! A decisive blow!
4846=Bravo! But next time near enemy destroyers!

; For sinking >5000t
4847=Nice work! Carry on!
4848=Good work! Continue search for single ships.

; For sinking >2000t
4849=Well done! Keep at it!
4850=Sinking registered. Report any survivors immediately!

; Occasional communications
4851=Message received. Continue as ordered!
4852=Signal received.
4853=Short-signal received. Expect next status- and weather- news in 24h.
4854=Signal acknowledged. Stay alert.
4855=Message acknowledged. We have high expectations!
4856=Message received. Beware of aircraft!
4857=Message acknowledged. All further transmissions on long-wave 20.4kHz.
4858=Signal acknowledged. Use short-wave until further notice.

; For motivation
4859=Be more aggressive! We need better results!
4860=Show more courage! Charge at the enemy!
4861=You can’t come home with fully-loaded torpedo-tubes!
4862=Attack! Shoot! Sink!

[Note: RitterKreuz is always translated in English as 'Knight's Cross'. However, there is no general agreement as to whether the apostrophe (') is required. It looks more natural in place, though.]

Good luck!
Stiebler.
Stiebler is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 10:00 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.