PDA

View Full Version : Add a Navy to Dangerous Waters



OneShot
12-26-2005, 08:18 PM
The following text is copied & pasted from a tutorial written by JSteed and all credit goes to him (unless stated otherwise in the TXT file). Take note that when you edit your DB you should keep an unmodified DB handy. First because you might make errors and your game may crash, unless you want to be an expert in reinstalling DW a unmodified DB comes quite handy. Second, if you play online nobody else will have your DB modifications, hence it will lead to problems in game, especially if you create missions which involve your new navy's. So always make a backup of your Database first and keep it handy.

*** Add a Navy ***

How To Add New Units With DWDBEdit
Sept. 11, 2005
by jsteed

This is a short tutorial on how to create a new navy for use in DW. It assumes that you have already placed DWDBEdit.mdb and ReadWriteDWDB.exe in the DW Database folder.

Getting Started

1. First, go to the DW Database folder and double click on DWDBEdit.mdb. The program will start and the Form Navigator will be on the screen.

2. Press the Import/Export Databases button. A panel labeled Import Export will appear.

3. Press the Import New Data button. A warning message will appear. Click Yes since we have no db in the program yet. A directory panel will now appear.

4. Go to the DW Database folder and click on it. Then click OK. A DOS box will appear telling you what files are being imported. When it disappears, click the red 'X' on the folder browser to get rid of it. You are now back to the Form Navigator. You can now browse, edit, add to the DW databases.

Add A Navy

We will add the Polish navy. It will consist of one sub, an Alfa. You can of course add any vessels you like by following these same general steps.

1. Press the Country Database button. A list of countries will appear. By clicking on any one, the db data will appear at the right. We want to add a new country, so press the small button at the bottom that has an arrow and star on it. The number of records will now change from 19 to 20 and the text boxes at the right will all be blank.

2. Add an index number. This has to be a unique number, no other county can have it. The convention used by DW I believe is to number the countries in the order that they appear in the ISO code after removing some dependencies, (http://www.geocities.com/Colosseum/Track/7635/2ltrcode.html). So for Poland, we will use the number 162. Now add the name Poland and the abbreviation PL to the appropriate boxes.

3.Before we can add the Alfa, we need to create a few other things first. We need to create two launchers. So now close the Country db and open the Launcher Database. Press the arrow + star button to create a new entry. Use an index # of 1200. We will name it Alfa Tubes P. In the Sound box type, torpfiresub. In the Ammo 1 box, select SET -65 Torpedo, and in the Rnds 1 box,
type 4. In Ammo2, choose 53-65K Torpedo, and for Rnds 2, 4. For Ammo 3, choose SS-N-15 Starfish and in Rnds 3 type 1. In Num Tubes type 3, (the Alfa has 6 tubes total), in Columns type, 3, in Rows type, 1, and in Max Guidable, type, 1. In the RPM box type, 2, Swap Time and Reload Time, type 400 and 180 respectively, (the Alfa had automated loading, so it was most likely quite fast). In the # Reload Sets, type 0. In the Attributes box check Unrotatable. In the Heading box type 315, for Pitch type 0, for Half Cone type 110, and for CHeading, type 315. Now come the last set of boxes. These are the location of the tubes in the 3D model. For subs, these numbers are not very critical. We'll use the values from the Kilo, a sub of similar size; XPos = -3.78,
YPos = 25.57, ZPos = -1.39, XTLC = -3.67, YTLC = 24.48, ZTLC = -0.22, XBRC = -3.89, YBRC = 26.67, ZBRC = -2.56.

It is actually easier to copy and paste these numbers using the table view of the Launcher db, (push the Datasheet View button, which is the 2nd icon from the left on the toolbar).

Now create an Alfa Tubes S to take care of the starboard side. Use all the same values as the port tube except the index number which should be 1201, CHeading and Heading should both be 45. Change the appropriate launcher locations so they match those of the Kilo, Index # 981.

4. Next, we need to create the sensors used on the Alfa. Close the Launcher db and open the Sensor Database. Create a new entry with an index # of 400. Give it a Display Name of MGK-1000 Yenisei/Squid Arm MF Act Sonar and a Unique Name of MGK-1000 Yenisei AS. Class is Active and Counter Sensor is Active Intercept. Range 1 is 200000. All other Ranges and all Levels are 0, (we won't use acoustic walls). Set Max Spd to 17, Tgt Min Alt to -3000, Tgt Max Alt to 0, Op Min Alt, (min operational altitude), to -1500,
Max Op Alt to 0, Min Freq to 0, Max Freq to 3900, DT to 9, (Active sonar model is broken so no number here works correctly. If SA ever fixes its game this will detect an 688 at about 7nm.) Next set Horz Center, Horz Sweep, Vert Center, and Vert Sweepto 0. Set Cone to 150, (this is a half cone, so the coverage area is really 300 deg.) Set the Min and Max Width to 0.1 and the Update time to 45. Now select No Error for the Error Range. Set the positions, X,Y & Z to 0. The # Trackers is 2, Sierra Char is S and Root
Tracker is K. Finally, click on the Attribute Tab. Check Transmission Loss, Sea State, Target Aspect, Target Size, Platform Noise Report Bearing and Report Range.

That's one down and 4 more to go! I'll just list the values for the rest.

Index 401
Display Name MGK-1000 Yenisei/Squid Arm LMF Passive
Unique Name MGK-1000 Yenisei PS
Class Passive
Counter Sensor None
All Levels 0
Range 1 200000 All the others = 0
Max Spd 12
Tgt Min Alt -3000
Tgt Max Alt 0
Op Min Alt -1500
Op Max Alt 0
Min Freq 300
Max Freq 3500
DT -3
Horz Center 0
Horz Sweep 0
Vert Center 0
Vert Sweep 0
Cone 150
Min Width 0.1
Max Width 0.1
Update 5
Error Range 2-4deg @20 kyd
X, Y, Z 0
# Trackers 2
Sierra Char S
Root Tracker A
Attributes Trans Loss, Sea State, Tgt Noise,
Platform Noise, Rpt Bearing, Rpt ID, Rpt Freq

Index 402
Display Name Bukhta/Snoop Head Surface Search Radar
Unique Name Bukhta Radar
Class Radar
Counter Sensor ESM
(Radar model simplistic, we must use Range/Level)
Level 1 255 All the others = 0
Range 1 70000 All the others = 0
Max Spd 0
Tgt Min Alt 0
Tgt Max Alt 100
Op Min Alt 0
Op Max Alt 100
Min Freq 0
Max Freq 0
DT 0
Horz Center 0
Horz Sweep 0
Vert Center 0
Vert Sweep 0
Cone 0
Min Width 3.5
Max Width 3.5
Update 15
Error Range No Error
X, Y, Z 0
# Trackers 0
Sierra Char R
Root Tracker Leave it blank
Attributes Trans Loss, Sea State, Tgt Aspect,
Tgt Size, Show Grnd Clutter, Earth Curve,
Rpt Bearing, Rpt Range, Rpt Course, Rpt Spd

Index 403
Display Name MG-509 Radian/Mouse Roar HF Active
Unique Name MG-509 Radian HF
Class Active
Counter Sensor Active Intercept
All Levels 0
Range 1 200000 All the others = 0
Max Spd 13
Tgt Min Alt -3000
Tgt Max Alt 0
Op Min Alt -1500
Op Max Alt 0
Min Freq 0
Max Freq 18200
DT 15
Horz Center 0
Horz Sweep 0
Vert Center 0
Vert Sweep 0
Cone 45
Min Width 0.1
Max Width 0.1
Update 30
Error Range No Error
X, Y, Z 0
# Trackers 0
Sierra Char S
Root Tracker Leave it blank
Attributes Trans Loss, Sea State, Tgt Aspect,
Tgt Size, Platform Noise, Rpt Bearing, Rpt Range

Index 404
Display Name Bukhta/Bald Head ESM
Unique Name Bukhta ESM
Class ESM
Counter Sensor None
Level 1 255 All the others = 0
Range 1 100000 All the others = 0
Max Spd 0
Tgt Min Alt 0
Tgt Max Alt 100000
Op Min Alt 0
Op Max Alt 100000
Min Freq 0
Max Freq 0
DT 0
Horz Center 0
Horz Sweep 0
Vert Center 0
Vert Sweep 0
Cone 0
Min Width 0.1
Max Width 0.1
Update 0
Error Range No Error
X, Y, Z 0
# Trackers 0
Sierra Char E
Root Tracker Leave it blank
Attributes Earth Curve, Rpt Bearing, Rpt ID

5. Next, we need to build an engine for the sub. Close the Sensor db and open the Thrust Database. Create a new entry with the following values.

Index 25
Name Noisy Nuke Sub
Use As Master Throttle Checked
Engine Type Standard Nuclear
Fuel Type None
(None of these values are used for AI subs except the Min/Max dB)
Min RPM 0
Max RPM 200
Min Pitch 30
Max Pitch 30
Min dB 5
Max dB 20
Prop Eff 25
Prop Length 7.0
X pos 0
Y pos -50
Z pos 0
Phi 0
Theta 0

6. Now we need to create a sonar profile for the Alfa. Close the Thrust db and open the Profile Database. Again, create a new entry. Give it an Index # 0f 260 and a Name of Alfa SSN. The frequencies will be 103, 197, 400, 797, 1209. Both TPK and Blades are 7.

7. Now we can create an Alfa! Close the Profile db and open the Object Database. Below I list the values I use.

Index 600
Name Alfa SSN
Sound sub_nuke
BB Sound BB_sub_nuke.wav
Doctrine SubDef
Obj Type Sub
Sim Type Sub
Sonar Profile Alfa SSN (We just created this)
These X sec have no relationship to the others in DW's db. I use my own
algorithms to set these values. You too can use your own.
Active Sonar X sec 94
FC Radar X sec 40
IR X sec 86
MAD X sec 56
Pas X sec 74
Radar X sec 40
Visual X sec 42
Mast Hgt 4.94
Length 79.6
Width 9.5
Draft 7.1
Wgt 3210
Drag 0.4
Min Spd 0
Max Spd 41
Min Alt -400
Max Alt 0
Turn Radius 500
Climb Angle 35
Fuel 0
Armor 100
Value 750
Min Hit 5
Priorities
AAW 0
ASW 1
Comm 0
Mine 0
Recon 3
Strike 0
SUW 1
poK 0 (just for weapons)
Min Range 0
Max Range 0
Transit Dist 0
Now go to the Attribute page
Only one is checked in DB CM Flags
Acoustic
Now go to the Airstrip, Sensor, etc page
Launcher
Alfa Tubes P
Alfa Tubes S
Sensor
MGK-1000 Yenisei Active Sonar
Active Intercept (the 3rd one)
MGK-1000 Yenisei Passive Sonar
Bukhta ESM
Visual (the 1st one)
Bukhta Surface Search Radar
MG-509 HF Sonar

8. Now close the Object DB and open the Class Database. Create a new entry. The Index # is 400, Name is ALFA, Ship Class is SSN and the country to select is Poland. That one was easy. Close the db.

9. Next open the Entity Database. Here we can make as many Alfa's as we like, each one being a seperate entity. For our purposes, we will only make one, the K-316. Create a new entry.
Index 2000
Name K-316
Ship Number 73
Class ALFA
Object Name Alfa SSN

10. Finally we come to the last db, the 3D Database. For this part we have two choices. The best choice is to extract the Alfa model from SC/SCX 3D.grp. There are 9 files to extract, Alfa.bmp, Alfa_d.bmp, Alfa_Pt1.bmp, Alfa_Pt1_d.bmp, Alfa_Pt2.bmp, Alfa_Pt2_d.bmp, AlfaPROP.bmp, Xalfa.j3d and XAlfa_d.j3d. These then have to be placed in the DW 3D.grp file. Or an easier solution is to just use the Kilo model as a poor substitute. I will show how to use both. First create a new entry.

Name Alfa SSN (must be exactly the same as the Object name)
Low Model XAlfa.j3d (KiloIrn877_6b_m.j3d)
Med Model XAlfa.j3d (KiloIrn877_6b_m.j3d)
High Model XAlfa.j3d (KiloIrn877_6b.j3d)
Dmg. Model 1 XAlfa_d.j3d (DYNAMIC DAMAGE)
Dmg. Model 2 leave blank
Comment do what you will
Waterline 3.9 (3.64)
Number of Parts 1 (1)
Select Empty 1 and overwrite it.
Part Name 1 prop_l (prop_l)
Animation Type Spin Rotation (Spin Rotation)
Rotation Axis Y (Y)
Angular Spd 4 (4)
Now press Apply

That's it. Simple and straightforward!

11. Now we need to export the db back to the Database folder. Press the Import/Export button, then press the Export Data To DW button. If you want to make a backup of the original db, leave the check in the Make Backup box. Press Yes to the message that pops-up. Now select the Database folder and press OK. If everything was done correctly, you should now be able to make
scenarios with a Polish Alfa.