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.