[comp.sys.amiga.games] Harpoon Data Format. LONG MESSAGE!

felixh@tornado.Berkeley.EDU (Felix Hack) (11/07/90)

Warning!   This message is long and detailed.  Read only if interested
.  in editing Amiga Harpoon data files.  I'm sorry about all those darn
periods in front of most of the lines; I had trouble uploading this by
modem if I didn't have them.
.
.     I am gratified by the e-mail response to my message about editing
.the data files for Amiga Harpoon.  Some asked for me to post my modified
.data files.  My problems with that are first that it's probably
.illegal, second at 700K (uncompressed, pre-UUencode) it's
.way to long, third that I am not anywhere near done with the
.corrections and changes I wish to make, and last that you may not
.agree with the changes that I made.  Instead I'll give a
.description that'll allow anyone to modify the data files themselves.  As
.to what changes to make, that depends on your taste and energy, though I
.am sure some modifications are almost obligatory (like changing the
.type 65 torps on the Echo II to something different; unfortunately I
.don't know platform weapon codes yet).
.     I use Newzap, but any decent sector editor should work fine.
.Of course, you should only modify a backup copy of the original disks.
.
.     The file GIUK.dat contains all the info the game requires to play
.scenarios in the Norwegian Sea area.  That includes data for all the
.platforms (ships, subs, aircraft), the sensors they have, and the
.weapons the carry.  The data starts around sector 250, with platforms,
.weapons, and sensors covered in that order.
.     The first time you want to find something you may have to do it
.manually or do a restricted ASCII search (i.e. "BQ" for BQQ-5") until
.you've found it and know the exact spelling (or note which sector it's
.located in).
.
.     In general the name of the system/platform FOLLOWS its data.
.
.
.  Sonars:
.
.    The numbers in the game are quite different from those in the
.latest data annex for the miniatures game.  This is where I have made
.the most modifications.
.
.     I will use the BQQ-5 as an example.  Its hex data looks like this:
.
.        - A0 - FA 02 50 3C {switch to ASCII} HBQQ-5 {11 spaces} H
.
.   (from here on out "-" stands for "00".  Space characters are hex 20)
.
.Breakdown:
.
.   00 A0 : active detection range in hex, units are tenths of miles.
.           Thus, A0 (hex) = 160 (dec) -> 16 miles.
.
.   00 FA : passive detection range, 25 miles.
.
.   02 : number of convergence zones
.
.   50 : active detection chance (in hex, becomes 80%)
.
.   3C : passive chance (here 60%)
.
.    H : hull sonar.  The H at the end of the name probably has no game
.        effect; this H is the real code
.
.
.
.  Radars:
.
.    The reference example is the SPY-1.  Its hex data looks like this:
.
.          07 D0 40 50 4B {now ASCII} SPY-1 {11 spaces} HF
.
.Breakdown:
.
.   07 D0 : detection range vs a large target, in the same units as
.           before.  Thus 7D0 (hex) = 2000 (dec) -> 200 miles.
.
.   40 : unknown, probably related to radar type
.
.   50 : detection probability (here 80%).
.
.
.
.  Torpedoes:
.
.     I found very few differenes between the torpedo data and that
.found in the latest data annex; I modified the Tigerfish to make it
.correspond to the Mod 2 model.
.   Here the example is, of course, the Mk48 ADCAP.  It goes like this:
.
.  - 4B - 96 - 96 - FA 1A 80 02 3C 28 50 01 32 {ASCII} Mk48 ADCAP Torp
.
.Breakdown:
.
.  00 4B : damage vs subs, here 75 points.
.
.  00 96 : damage vs ships, 150 points.
.
.  00 96 : range at high speed, 15 miles.
.
.  00 FA : range at low speed, 25 miles.
.
.  1A 80 02 : unknown, probably code the weapon type, wire guidance(?)
.
.  3C : max speed, here 60 knots
.
.  28 : min speed, 40 knots
.
.  50 : probability of a hit, 80%
.
.  01 32 : unknown
.
.     Note that the game weapons display doesn't show the high speed/short
.range option.  Has anyone seen dual-speed torps run at high speed?
.

.  SSMs:
.
.    The main example is the Harpoon 1B.  Here goes:
.
.  2D 02 58 - - - 1E 02 31 01 4B - 0B 0B 03 23 - - {ASCII} Harpoon 1B
.
.Breakdown:
.
.  2D : unknown
.
.  02 58: max range, 600 tenths of miles, or 60 miles.
.
.  1E : minimum range, 3 miles.
.
.  02 31 : speed, 561 knots.
.
.  01 : unknown
.
.  4B : probability of a hit, 75%
.
.  0B 0B : codes for the max and min altitudes the missile flies at.
.          0B = Very Low, 0C = Low, 0D = Medium, 0E = High, and so on.
.
.  I don't know what the remainining codes do.  I am wary of such
.unknowns because they may interact with the known data.  While they
.probably don't relate to numerical data like ranges and speeds whose
.codes are known, they could perhaps interact with height data to
.determine whether a missile on final approach is a 'crossing target'
.and so on.  Since the boardgame has two missile sizes I would expect
.one of the unknowns to represent this, but I haven't cross-compared yet.
.
.
.  SAMs:
.
.    These have some similarities to SSMs because they can often be
.used in such a role.  Their data helps to fill in some of the blank
.spots in the SSM data format.
.    Here's an example of SAM, using SM1MR:
.
. 05 - - 01 5E - 1E 05 9A 01 3C 3C 0E 0E 02 24 - - {ASCII} SM1MR/RIM-66B
.
.Breakdown:
.
.  05 : damage (vs ships)
.
.  01 5E : air range, 35 miles.
.
.  1E : minimum range, 3 miles.
.
.  05 9A : Speed, 1434 knots
.
.  01 : unknown
.
.  3C : chance of hit vs surface targets, 60%
.
.  3C : chance of hit vs air targets, 60%
.
.  0E : max altitude of target, high
.
.  0C : min altitude of target, low
.
.  02 24 : unknown
.
.
.  Subs and Ships:
.
.  Note that all sensors have implied reference numbers determined by
.the order of listing and starting at zero within each type.  Hence the
.type 162 sonar, being the first sonar listed (sector 295) is number 0,
.the BQQ-5, being the 16th, gets hex number 0F, and so on.  This number
.doesn't appear within the sensor data itself.
.  My example is the LA (not improved) class sub.  Because there's so
.much data, and I know very little, I'm going to sketch out how it
.looks in pieces.  First there is
.
.               1B 0F E8 9F [18 x FF]
.
.    I don't know what the first 4 bytes do, but the FF are most likely
.dummy placeholders.
.
.    Next is the sequence
.
.               B8 0F  B8 10  B8 1C  A8 0A  [4 x FF]
.
.     These are the sensors.  The codes are two-character pairs, with B8
.standing for sonar and A8 for radar, followed by the number of the
.sensor as described above.  The trailing dummy FFs pad out the listing.
.Other platforms with more or less radars and sonars would have a
.correspondingly changed number of FFs.
.     Here the B8 0F is the BQQ-5, the B8 10 is the BQS-15, the B8 1C is
.the TB 16 array, and the A8 0A is the BPS-15 radar.
.
.    Then follows:
.
.        - 6B  -37 -30 -6E - F6  20 0F {+ more unknown stuff}
.
.     The 6B is the number of damage points, the 20 the submerged speed,
.and the 0F the surfaced speed.  I don't know about the others.
.
.
.     I strongly recommend the Harpoon Data Annex, new edition, to
.anyone who plays the computer game.  Other reference works (Combat
.Fleets of the World, World Naval Weapons Systems) may be helpful as
.well, but the annex already has most of the data in convenient form.
.(Exception: missile speeds are only given in terms of distance
.per 30 second turn, not in knots as in previous editions).
.
.     Here's a quick discussion of what I did to bring sonars up to the
.standards of the data annex.  While making these changes I also had to
.modify ships and subs, in some cases changing sonar numbers (where new
.types were added), in others deleting types (like the BQS-15 and Type
.197) ships and subs.  While working on Trafalgar, I chose the 2026 (not
.2046) array (since I ran out of free slots).

.   Main changes:
.     Replaced the type 162/162M with a passive version of Shark Gill
.(for Kilos), the 162 is so pathetic (0.6 mile detection range)
.that it should not be missed.  Naturally I had to delete all references
.in the ships that carry it (mainly older UK ships).
.     The types 186 and 187 were replaced by type 2026 and 2051.  They
.weren't needed when I upgraded the Oberon's sonars.
.     The type 197 (previously for Swiftsure) was replaced with Bull
.Nose, a Soviet ship sonar.  The older MF Hull type is now represented
.by three sonars and this is one of them.
.     Type 2001 replaced by Steer Hide, a Soviet dipping sonar distinct
.from Mare Tail.
.     Type 2052 replaced by passive Shark Teeth for Tango.  I couldn't
.find any unit that used the 2052, it's a UK sub sonar.
.     BQS-15 replaced by Shark Fin, the sub variant of old MF Hull.
.     LF Type A -> Moose Jaw
.     LF Type B -> Shark Teeth
.     LF Type C -> Horse Jaw
.     LF Type D -> Shark Gill
.     LF VDS -> Horse Tail
.     MF Hull -> Bull Horn
.     I also noticed that the data for the Soviet sonobuoy was blank; I
.provisionally placed some data in it because the US sonobuoys (DIFAR
.and DICASS) do have data.  Perhaps this is a bug.
.
.     I hope this gets you started in correcting and modifying Harpoon.
.If you should discover what other codes mean, please post or e-mail me
.so I can add to this description.