SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   SH5 Mods Workshop (https://www.subsim.com/radioroom/forumdisplay.php?f=249)
-   -   [REL] R.S.D. - Reworked Submarine Damage (https://www.subsim.com/radioroom/showthread.php?t=207093)

vdr1981 11-03-13 03:39 AM

Quote:

Originally Posted by sober (Post 2136867)
How does this mod change my gameplay !
Now i tend to travel at night on the surface and hide below during the day because of aeroplanes if i am near an airbase .
I am not likely to raid ports whereas before without the mod it was common practise .
I dont want to be discovered by unknown ships and my position radioed in if i am near ports .
If i encounter enemy ships i will dive and do a hydrophone check to see if there are no escorts around whereas before most times i didnt bother .
On sighting planes it is an immidiate crash dive so i do a lot of depth checking . Hydrophone checking then depth checking whereas before the mod i wouldnt bother .
I am very nervous about attacking ships on the surface now so i use torpedoes whenever possible whereas before without this mod i would attack ships with the deck gun all the time .
I now tend to really plan my routes staying well away from the coast and air space whenever planning a route .


Heh, when I saw that large font i was like "crap, something is broken again"...:D

Luckily, it is not... :cool:

Trevally. 11-03-13 08:17 AM

Quote:

Originally Posted by sober (Post 2136867)
How does this mod change my gameplay !
Now i tend to travel at night on the surface and hide below during the day because of aeroplanes if i am near an airbase .
I am not likely to raid ports whereas before without the mod it was common practise .
I dont want to be discovered by unknown ships and my position radioed in if i am near ports .
If i encounter enemy ships i will dive and do a hydrophone check to see if there are no escorts around whereas before most times i didnt bother .
On sighting planes it is an immidiate crash dive so i do a lot of depth checking . Hydrophone checking then depth checking whereas before the mod i wouldnt bother .
I am very nervous about attacking ships on the surface now so i use torpedoes whenever possible whereas before without this mod i would attack ships with the deck gun all the time .
I now tend to really plan my routes staying well away from the coast and air space whenever planning a route .

Quote:

Originally Posted by vdr1981 (Post 2136932)
Heh, when I saw that large font i was like "crap, something is broken again"...:D

Luckily, it is not... :cool:

Sounds great - cant wait to try:sunny:

THE_MASK 11-06-13 01:09 AM

http://www.youtube.com/watch?v=M2RyqWIcjB4

vdr1981 11-06-13 09:37 AM

Quote:

Originally Posted by sober (Post 2138126)

It looks like video montage for me...:hmmm:

vdr1981 11-11-13 12:49 PM

Quote:

Originally Posted by vdr1981 (Post 2136323)
Work in progress!

External ballast tanks will be highly sensitive to enemy fire, even on smaller calibers and they wont be repairable at open seas. Even with all external tanks destroyed and flooded, submarine will still have necessary buoyancy to stay on surface, however, underwater operations will be significantly effected, from minor maintaining depth problems to complete inability to perform any kind of underwater operations.

P.S. Plj, the manual really rocks! :yeah:

I'm afraid I must to give up from external ballast tanks concept.

Leakage into external tanks with the boat surfaced (Table 1).
Leaks into external tanks are not dangerous for the boat. The reserve buoyancy in each case gives enough displacement, which also is not affected by trim change. In the case of flooding all external main ballast tanks, and main ballast and reserve fuel oil tanks, including regulating tanks, regulating and reserve fuel oil tanks, and negative buoyancy tanks, the pressure-proof main ballast tank 3 gives enough displacement of 47.00 m³ with level immersion.
The buoyancy when external tanks are flooded is (values are rounded, regulating tanks, regulating and reserve fuel oil tanks, and negative buoyancy tanks are half full):


This is not possible to simulate in SH5 because we do not have access to manual controls for submarine ballast tank and dive planes. I can simulate extra weigh cause by flooded external ballast tanks but problems will start if you try to dive in these conditions.

Mikemike47 11-11-13 10:36 PM

Quote:

Originally Posted by vdr1981 (Post 2139937)
I'm afraid I must to give up from external ballast tanks concept.

This is not possible to simulate in SH5 because we do not have access to manual controls for submarine ballast tank and dive planes. I can simulate extra weigh cause by flooded external ballast tanks but problems will start if you try to dive in these conditions.

That is fine. We shall survive without ballast tank and dive planes.
We love your dedication and enthusiasm. You gave us something better that Ubisoft did not finish. :yeah: Something is better than nothing. Thank you for your hard work and all others :arrgh!::salute:that helped on this project.

gap 11-14-13 12:26 PM

@ Vecko

can you please have a look at the following chart? It contain a little piece of information that you might be interested in :03:

https://docs.google.com/spreadsheet/...lE&usp=sharing

vdr1981 11-14-13 12:37 PM

Tnx Gap and as always, very professional ...:up:

One depth charge near your boat and only trained ear of sonar man will be able to hear something...One more , and you can say good bay to KDB until you reach home base... :03:

gap 11-14-13 01:01 PM

Quote:

Originally Posted by vdr1981 (Post 2140854)
One depth charge near your boat and only trained ear of sonar man will be able to hear something...One more , and you can say good bay to KDB until you reach home base... :03:

:sign_yeah:

also notice that the KDB couldn't stand diving depths beyond ~100 m. There are ways to simulate it, through the 'Crash Depth' zone property, but you should create a new zone for the KDB alone. :yep:

Now combining KDB's vulnerability with the ability to fit it together with the GHG, would be very cool: if either of them gets destroyed\damaged, you can still rely on the other (unless you manage to destroy it as well :O:). I am going to create a quick patch for testing this possibility in game. Fingers crossed :up:

vdr1981 11-14-13 01:29 PM

Quote:

Originally Posted by gap (Post 2140861)
:sign_yeah:

also notice that the KDB couldn't stand diving depths beyond ~100 m. There are ways to simulate it, through the 'Crash Depth' zone property, but you should create a new zone for the KDB alone. :yep:

Now combining KDB's vulnerability with the ability to fit it together with the GHG, would be very cool: if either of them gets destroyed\damaged, you can still rely on the other (unless you manage to destroy it as well :O:). I am going to create a quick patch for testing this possibility in game. Fingers crossed :up:

Cpy Gap!

I never had luck with crash depth value form zones.cfg, it looks like it only works with AI units, but I'm still testing that...

Right now I'm experimenting with "colisionable object" controller for KDB object...

gap 11-14-13 02:05 PM

Quote:

Originally Posted by vdr1981 (Post 2140872)
I never had luck with crash depth value form zones.cfg, it looks like it only works with AI units, but I'm still testing that...

:-?

Quote:

Originally Posted by vdr1981 (Post 2140872)
Right now I'm experimenting with "colisionable object" controller for KDB object...

Never seen this controller used elsewhere than on unit root nodes, but worth a try anyway :up:

vdr1981 11-14-13 02:31 PM

Nice..."Crash depth" works fine, I dont know what I was testing before, maybe I tried to apply it to special zone ID...Who knows...:D

I got some interesting preliminary results regarding colisionable obj. controller applied to KDB main node, like damage taken from water pressure/depth...

I think this will work...One way or the other, KDB will be killed when submerged to deep... :03:


http://s6.postimg.org/gwtvgo5bl/SH5_...4_20_17_52.jpg

gap 11-14-13 03:58 PM

Quote:

Originally Posted by vdr1981 (Post 2140899)
Nice..."Crash depth" works fine, I dont know what I was testing before, maybe I tried to apply it to special zone ID...Who knows...:D

I got some interesting preliminary results regarding colisionable obj. controller applied to KDB main node, like damage taken from water pressure/depth...

I think this will work...One way or the other, KDB will be killed when submerged to deep... :03:

:up: :woot:

Does the KDB get destroyed as soon as you reach the set depth? If possible, it would be cool if it took gradual damage :03:

gap 11-14-13 08:56 PM

Quote:

Originally Posted by gap (Post 2140861)
...you should create a new zone for the KDB alone...

No need for it. While digging in upcge files for hydrophone settings, I have noticed that the GHG/Balkon slot got the zone ID #139 assigned (UHydrophReceivers), whereas the KDB uses the zone ID 209 (UKDBReceivers). I think you can safely use them on sensors' 3d models as well.

On a side note, I have finally discovered how equipment linking bones on U-boat 3d models, are connected with equipment slots in upcge files: for each slot there is an ExternalNodeName3D entry, pointing to the corresponding bone. I wonder how I had missed it before :doh: For hydrophones we have:


Code:

;------------------------------------------------------------
;                        RADIO ROOM
;------------------------------------------------------------

[UserPlayerUnit 1.Compartment 5.EquipmentSlot 2]
ID= EqSlot41
NameDisplayable= Hydrophone-Apparatus-EquipmentSlot-Name
Type=NULL
AcceptedTypes=NULL
UserCustomizable=No
IDLinkEquipmentIntervalDefault1= NULL, NULL, EqpGhGStation
ExternalNodeName3D= NULL
ExternalDamageZoneTypeID3D= 49
GUIPlaceHolderIndex= 1
GeneralDescription= Hydrophone-Apparatus-General-Description
TechnicalDescription= Hydrophone-Apparatus-Tehnical-Description

...

;------------------------------------------------------------
;                        BOW TORPEDO
;------------------------------------------------------------

[UserPlayerUnit 1.Compartment 7.EquipmentSlot 3]
ID= EqSlot53
NameDisplayable= Hydrophone-Receivers-EquipmentSlot-Name
Type=NULL
AcceptedTypes=NULL
UserCustomizable=No
IDLinkEquipmentIntervalDefault1= NULL, NULL, EqpGHG
ExternalNodeName3D= H01
ExternalDamageZoneTypeID3D= 139
GUIPlaceHolderIndex= 4
GeneralDescription= Hydrophone-Receivers-EquipmentSlot-General-Description
TechnicalDescription= Hydrophone-Receivers-EquipmentSlot-Tehnical-Description

[UserPlayerUnit 1.Compartment 7.EquipmentSlot 4]
ID= EqSlot54
NameDisplayable= Hydrophone-Receivers-EquipmentSlot-Name
Type=NULL
AcceptedTypes=NULL
UserCustomizable=No
IDLinkEquipmentIntervalDefault1= NULL, NULL, NULL
ExternalNodeName3D= H02
ExternalDamageZoneTypeID3D= 209

The first slot is used for the hydrophone station. Its ExternalNodeName3D (marked in orange) is set to 'NULL', because that station doesn't require any linking node, being internal to the radioroom. The second and the third slots are used respectively for GHG/Balkon and for KDB sensors, and their ExternalNodeName3D settings point exactly to the nodes H1 and H2, which are the hardpoints where those equipments get attached on boat's hull. :yep:

Also notable is the usage of the IDLinkEquipmentIntervalDefault lines (in green). They are used for setting the equipment fitted by default aboard any new boat; the first and the second slots are set respectively to 'EqpGhGStation' and 'EqpGhG', because the GHG is the default hydrophone; the third slot is set to 'NULL' because it is empty by default, and it requires the selection of an upgrade for being "filled up". The names used here are the equipment ID's set in Equipment.upc, marked in blue below:

Code:

;Hydrophones
;============================================================================================================

[Equipment 24]
ID=EqpGhGStation
NameDisplayable= Hydrophone Station
FunctionalType= EqFTypeSonarStation
EquipmentInterval= NULL, NULL
EquipmentSlotType=NULL
ExternalLinkName3D= NULL;
Hitpoints= 100
DamageDescription1= NULL,        0,        0.2,        0,        1,        1,        small malfunction,                0,        0,        NULL,        0.3,        0.4,        4
DamageDescription2= NULL,        0.2,        0.6,        0,        1,        1,        Misaligned Axis,                0,        0,        NULL,        0.5,        0.4,        10
DamageDescription3= NULL,        0.6,        1,        0,        1,        1,        fuse blown,                        0,        0,        NULL,        1,        0.2,        15

[Equipment 25]
ID=EqpGHG
NameDisplayable= GHG
FunctionalType= EqFTypeHydrophoneSensor
EquipmentInterval= NULL, NULL
EquipmentSlotType=NULL
ExternalLinkName3D= GHG9,data\Objects\Sensors\UBoot_Sensors
Hitpoints= 100
DamageDescription1= NULL,        0,        0.2,        0,        1,        1,        small malfunction,                0,        0,        NULL,        0.3,        0.4,        4
DamageDescription2= NULL,        0.2,        0.6,        0,        1,        1,        Misaligned Axis,                0,        0,        NULL,        0.5,        0.4,        10
DamageDescription3= NULL,        0.6,        1,        0,        1,        1,        fuse blown,                        0,        0,        NULL,        1,        0.2,        15
DamageDescription4= NULL,        0.9,        1,        0,        1,        1,        Sonar Head broken,                0,        0,        NULL,        1,        1,        15

[Equipment 26]
ID=EqpKdbStation
NameDisplayable= Hydrophone Station
FunctionalType= EqFTypeSonarStation
EquipmentInterval= NULL, NULL
EquipmentSlotType=NULL
ExternalLinkName3D= NULL;
Hitpoints= 100
DamageDescription1= NULL,        0,        0.2,        0,        1,        1,        small malfunction,                0,        0,        NULL,        0.3,        0.4,        4
DamageDescription2= NULL,        0.2,        0.6,        0,        1,        1,        Misaligned Axis,                0,        0,        NULL,        0.5,        0.4,        10
DamageDescription3= NULL,        0.6,        1,        0,        1,        1,        fuse blown,                        0,        0,        NULL,        1,        0.2,        15

[Equipment 27]
ID=EqpKDB
NameDisplayable= KDB
FunctionalType= EqFTypeHydrophoneSensor
EquipmentInterval= NULL, NULL
EquipmentSlotType=NULL
ExternalLinkName3D= KDB_type9,data\Objects\Sensors\UBoot_Sensors
Hitpoints= 100
DamageDescription1= NULL,        0,        0.2,        0,        1,        1,        small malfunction,                0,        0,        NULL,        0.3,        0.4,        4
DamageDescription2= NULL,        0.2,        0.6,        0,        1,        1,        Misaligned Axis,                0,        0,        NULL,        0.5,        0.4,        10
DamageDescription3= NULL,        0.6,        1,        0,        1,        1,        fuse blown,                        0,        0,        NULL,        1,        0.2,        15
DamageDescription4= NULL,        0.9,        1,        0,        1,        1,        Sonar Head broken,                0,        0,        NULL,        1,        1,        15

[Equipment 28]
ID=EqpBalkonGerat
NameDisplayable= Balkon Gerat
FunctionalType= EqFTypeHydrophoneSensor
EquipmentInterval= NULL, NULL
EquipmentSlotType=NULL
ExternalLinkName3D= BalkonGerat,data\Objects\Sensors\UBoot_Sensors
Hitpoints= 100
DamageDescription1= NULL,        0,        0.2,        0,        1,        1,        small malfunction,                0,        0,        NULL,        0.3,        0.4,        4
DamageDescription2= NULL,        0.2,        0.6,        0,        1,        1,        Misaligned Axis,                0,        0,        NULL,        0.5,        0.4,        10
DamageDescription3= NULL,        0.6,        1,        0,        1,        1,        fuse blown,                        0,        0,        NULL,        1,        0.2,        15
DamageDescription4= NULL,        0.9,        1,        0,        1,        1,        Sonar Head broken,                0,        0,        NULL,        1,        1,        15

[Equipment 29]
ID=EqpBalkonGeratStation
NameDisplayable= Hydrophone Station
FunctionalType= EqFTypeSonarStation
EquipmentInterval= NULL, NULL
EquipmentSlotType=NULL
ExternalLinkName3D= NULL;
Hitpoints= 100
DamageDescription1= NULL,        0,        0.2,        0,        1,        1,        small malfunction,                0,        0,        NULL,        0.3,        0.4,        4
DamageDescription2= NULL,        0.2,        0.6,        0,        1,        1,        Misaligned Axis,                0,        0,        NULL,        0.5,        0.4,        10
DamageDescription3= NULL,        0.6,        1,        0,        1,        1,        fuse blown,                        0,        0,        NULL,        1,        0.2,        15

Also note that the third slot is missing its GUIPlaceHolderIndex. If you wanted the KDB sensor to be displayed in the damage UI, you should add it and set it to an unused UI slot... but I bet that you have done it already :03:

There is more: how do the game know which equipment slots are involved for each upgrade? We should take a look in the UpgradePackSlot and FunctionalSubsystem sections of each upcge file:

Code:

;************************************************************
;
;                        UpgradePackSlot
;
;************************************************************

[UserPlayerUnit 1.UpgradePackSlot 3]
ID= UpgHydrophone
NameDisplayable= UpgSlotHydrophone-Name
Type=NULL
AcceptedTypes= UboatType7Hydrophone
UserCustomizable=Yes
IDLinkUpgradePackSlots= EqSlot41, EqSlot53, EqSlot54
IDLinkUpgradePackSlotsIntervalDefault1= NULL, NULL, UpackUb7GHG
;IDLinkUpgradePackSlotsIntervalDefault2= 1941-01-01, 1945-12-31, UpackUb7KDB
;IDLinkUpgradePackSlotsIntervalDefault3= 1941-01-01, 1945-12-31, UpackUb7Balkon

...

;************************************************************
;
;                        FunctionalSubsystem
;
;************************************************************

[UserPlayerUnit 1.FunctionalSubsystem 8]
ID= ListeningGear
NameDisplayable= Hydrophone
FunctionalType= SensorHydrophone
IDLinkFunctionalSubsystemSlots= EqSlot41, 1, EqSlot53, 0, EqSlot54, 0

You see? The slots are called here by their ID. I don't know what the numbers beside each slot in the FunctionalSubsystem are meant for, but discovering it shouldn't be too hard. You should take note of the slots order used in the above sections because it is the same used in UpgradePacks.upc:

Code:

; Hydrophone-Sonar
;=========================================================

[UpgradePack 3]
ID= UpackUb7GHG
NameDisplayable=UpackIXGHG-Name
Info=UpackIXGHG-Info
Notes=UpackIXGHG-Notes
FunctionalType= UpFTypeSensorSonar
UpgradePackSlotType= UboatType7Hydrophone
Type=NULL
ImageIndex=19
UnitUpgradePackIntervalOptionCurrent= NULL, NULL, 0
UnitUpgradePackIntervalOptions1=NULL, NULL, 1000
IDLinkUpgradePackElements= EqpGhGStation, EqpGHG, NULL
TrackingID=500

[UpgradePack 4]
ID= UpackUb7KDB
NameDisplayable=UpackIXKDB-Name
Info=UpackIXKDB-Info
Notes=UpackIXKDB-Note
FunctionalType= UpFTypeSensorSonar
UpgradePackSlotType= UboatType7Hydrophone
Type=NULL
ImageIndex=12
UnitUpgradePackIntervalOptionCurrent= NULL, NULL, 0
UnitUpgradePackIntervalOptions1=1939-09-01, NULL, 2000
IDLinkUpgradePackElements= EqpKdbStation, NULL, EqpKDB
TrackingID=501

[UpgradePack 5]
ID= UpackUb7Balkon
NameDisplayable=UpackIXBalkon_Gerat-Name
Info=UpackIXBalkon_Gerat-Info
Notes=UpackIXBalkon_Gerat-Notes
FunctionalType= UpFTypeSensorSonar
UpgradePackSlotType= UboatType7Hydrophone
Type=NULL
ImageIndex=13
UnitUpgradePackIntervalOptionCurrent= NULL, NULL, 0
UnitUpgradePackIntervalOptions1=1943-01-01, 1943-10-01, 4000
UnitUpgradePackIntervalOptions2=1943-10-01, 1944-03-01, 2000
UnitUpgradePackIntervalOptions3=1944-03-01, NULL, 1500
IDLinkUpgradePackElements= EqpBalkonGeratStation, EqpBalkonGerat, NULL
TrackingID=502

The IDLinkUpgradePackElements line tells the game which equipments are to be used for each upgrade, and in which slot they go. The first slot is always used, because it is meant for the station, but either the second or the third slot are always NULL, because GHG/Balkon sensors are never used together with the KDB... at least not until now, because I want to try if two sensors of the same functional type can be used together :03:

Let's take a step back to default equipment settings now; if, for a given u-boat type, we wanted to leave the GHG as default early-war hydrophone, switching to the KDB during mid-war, and to the Balkon during late-war, the following settings should be used in sub's upcge file:

Quote:

EqSlot41:
IDLinkEquipmentIntervalDefault1= NULL, 1941-12-31, EqpGHGStation
IDLinkEquipmentIntervalDefault2= 1942-01-01, 1943-12-31, EqpKdbStation
IDLinkEquipmentIntervalDefault2= 1944-01-01, NULL, EqpBalkonGeratStation

EqSlot53:
IDLinkEquipmentIntervalDefault1= NULL, 1941-12-31, EqpGHG
IDLinkEquipmentIntervalDefault2= 1942-01-01, 1943-12-31, EqpKdb

EqSlot54:
IDLinkEquipmentIntervalDefault1= 1944-01-01, NULL, EqpBalkonGeratStation

UpgHydrophone (UpgradePackSlot section):
IDLinkUpgradePackSlotsIntervalDefault1= NULL, 1941-12-31, UpackUb7GHG
IDLinkUpgradePackSlotsIntervalDefault2= 1942-01-01, 1943-12-31, UpackUb7KDB
IDLinkUpgradePackSlotsIntervalDefault3= 1944-01-01, NULL, UpackUb7Balkon
This is just an example: the stock usage of the GHG as sole hydrophone fitted by default aboard Type VII u-boats is correct, but there is another cool usage for interval options; I am still not sure about it, but I think that UnitUpgradePackIntervalOptionCurrent settings in UpgradePacks.upc and/or EquipmentInterval settings in Equipment.upc, can be used for simulating in game the forced retirement of some equipments already fitted aboard, as it happened for the deck gun, the KDB hydrophone, or the Metox radar warning receiver :sunny:

vdr1981 11-15-13 03:16 AM

Like I said before , those UPC's are brain killers...:D

Is this what you're trying to accomplish Gap?

For example, we can edited balkon gerat upgrade pack form this...
Code:

[UpgradePack 9]
ID= UpackUb7Balkon
NameDisplayable=UpackIXBalkon_Gerat-Name
Info=UpackIXBalkon_Gerat-Info
Notes=UpackIXBalkon_Gerat-Notes
FunctionalType= UpFTypeSensorSonar
UpgradePackSlotType= UboatType7Hydrophone
Type=NULL
ImageIndex=13
UnitUpgradePackIntervalOptionCurrent= NULL, NULL, 0
UnitUpgradePackIntervalOptions1=1943-01-01, 1943-10-01, 4000
UnitUpgradePackIntervalOptions1=NULL, 1943-10-01, 4000
UnitUpgradePackIntervalOptions2=1943-10-01, 1944-03-01, 2000
UnitUpgradePackIntervalOptions3=1944-03-01, NULL, 1500
IDLinkUpgradePackElements= EqpBalkonGeratStation, EqpBalkonGerat, NULL
TrackingID=502


to this...
Code:

[UpgradePack 9]
ID= UpackUb7Balkon
NameDisplayable=UpackIXBalkon_Gerat-Name
Info=UpackIXBalkon_Gerat-Info
Notes=UpackIXBalkon_Gerat-Notes
FunctionalType= UpFTypeSensorSonar
UpgradePackSlotType= UboatType7Hydrophone
Type=NULL
ImageIndex=13
UnitUpgradePackIntervalOptionCurrent= NULL, NULL, NULL
UnitUpgradePackIntervalOptions1=1943-01-01, 1943-10-01, 4000
UnitUpgradePackIntervalOptions1=NULL, 1943-10-01, 4000
UnitUpgradePackIntervalOptions2=1943-10-01, 1944-03-01, 2000
UnitUpgradePackIntervalOptions3=1944-03-01, NULL, 1500
IDLinkUpgradePackElements= EqpBalkonGeratStation, EqpBalkonGerat, EqpKDB
TrackingID=502

And result will be this...

Balkon apparatus ready for action underwater...
http://s6.postimg.org/jid89eyup/SH5_...5_08_51_52.jpg


...and also KDB receiver is there...
http://s6.postimg.org/ekznoawvl/SH5_...5_08_52_17.jpg


...and because of changes from RSD, both devices are properly shown in damage menu...
http://s6.postimg.org/rdnro88hd/SH5_...5_08_52_33.jpg
:cool:
*Pictures taken from "Final Years" campaign...Type VIIC/41

Now , what I'm worried about is, how game will react in case of damage/destruction of single component because we only have "single pair" of virtual headsets simulated in SH5. :hmmm:


All times are GMT -5. The time now is 07:36 AM.

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.