GHS Version 14.00 Update

New features, changes, and bug fixes since version 13.50

=========== MAJOR NEW FEATURES =========

New Touch Screen Support for Windows Tablets

Main and auxiliary programs zoom in & out when using a mouse wheel with the Ctrl key held down, or when moving fingers apart & together on a touch screen.

Main and auxiliary programs support touch scrolling along with other tablet, pen, and scroll bar improvements.

Press-and-tap (pressing on a target while tapping with a second finger) as well as two-finger-tap around a target location are provided as alternatives to press-and-hold for right-clicking on touch screens.

Tablets and other devices with small screens (less than 50 square inches) fill the screen when the maximize button is pressed or SCREEN MAX is entered. Full-screen maximization can be forced for other screens using SCREEN MAX:0. Maximization is now more aggressive to fill the screen as much as possible.

New Section Editor (SE) Undo and Redo Changes

SE supports undoing and redoing recent changes. Keying Ctrl-U undoes the last change that was not yet undone from the stack of recent changes. Keying Ctrl-R redoes the last change undone by Ctrl-U that had not been redone. Repeated Ctrl-U and Ctrl-R keying goes back & forth through recent changes.

New ADD Fixed Weight Features

ADD "description" DELTA lcg, tcg, vcg allows "?" to be specified for any or all of the center of gravity values. Giving "?" for lcg is set such that righting arm in trim becomes zero, "?" for tcg is set such that righting arm in heel becomes zero, and "?" for vcg is set to zero (i.e. the baseplane). Omitting all three CG values defaults to "?, ?, ?".

ADD ["description"] * /[P]LEN:l1[,l2] can be used to distribute an existing weight item over the given length.

New Free Surface Moment (FSMMT and FSMFLOOR) Features

FSMMT f1, f2 @ b2, f3 @ b3 supports up to three functions that define the formal free surface over different load ranges. The main function f1 is applied for a load within the boundary values b2 and b3, alternate function f2 is applied at or below load boundary b2, and third function f3 is applied at or above load boundary b3. For example, FSMMT = MAX, 0 @ 0.02, 0 @ 0.98 sets FSM to the maximum value for loads greater than 2% but less than 98%, or to zero for loads closer to empty or full. FSMMT commands using just one or two functions continue to work unchanged.

FSMFLOOR /PRINT optional parameter was added to write the minimum free surface moment values to the current output device instead of to the screen.

New PART and READ Geometry File Checking Features

PART /CHECK command was added to run a check on the current part selection and list the origin depths where any reversals between positive and negative waterplane area occur at the present heel and trim.

READ /CHECK parameter was added to trap parts that have negative waterplane at any upright depth.

READ command now always traps for any "Duplicate part name", as do auxiliary programs like PM and MC. Note SE still permits reading geometry files with duplicate parts so they can be repaired using its NAME part RENAME command.

New Righting Arm (RA) Features

RA tabulation is now supported beyond 180 absolute degrees of heel, providing a full 360 degree relative range around the starting heel angle.

RA /SIZE:* option was added to reuse sizes from the last RA plot.

RA /LIM shows the note "Maximum RA must exceed tolerance to evaluate equilibrium limits" to explain why limits are shown as undefined when a very weak equilibrium was found with insubstantial maximum righting arm. In such cases, this note replaces trapping the error "ANGLES given do not include equilibrium" when the ANGLES list is short.

VARY AXIS:ZEROTRIM precision and reliablity were greatly improved, now finding axis at precisely zero trim except for extremely high heels in RA reports.

New STATUS Residual Righting Arm Features

STATUS /RESidual:OFF|ONLY parameter was added to specify the appearance of residual righting arm information in the weight versus buoyancy reconciliation. Previously only absolute "Righting Arms" appeared, but now "External Arms" and "Residual Righting Arms" lines appear if any heeling or trimmming moments are present, with any equilibrium discrepancies highlighted on the "Residual" line. The old behavior with just "Righting Arms" can be specified using /RES:OFF, or only "Residual Righting Arms" by itself can be specified using /RES:ONLY

STATUS INERTIA along with GYRADL, GYRADT, GYRADV, TINERTL, TINERTT, and TINERTV system variables now support frozen as well as intact tanks.

New Advanced Features (AF)

DAMSTAB now eliminates tanks from the damage extent based on the vertical location of their tops instead of their bottoms (with lowest tanks eliminated first as before), respecting the upper horizontal bulkhead locations, since they are already considered when calculating the probability for a given extent of damage.

New Condition Graphics (CG) Features

DISPLAY STATUS, SE, and Load Editor vessel views greatly improved display quality of convoluted and concave shapes.

DISPLAY STATUS profile and body views now shade ground point triangle marks from bright green (for points with the greatest reaction force) down to dark grey (for no reaction). For points not in contact, a tiny green point is added along with a vertical line descending to the present ground level, so non-touching points can be distinguished from similarly-colored points with small reaction forces.

DISPLAY STATUS plan views at or below cut planes (e.g. @WPL:BE) now show circular marks for ground points inside the specified region. Note that unlike the default profile view, no ground points are included in the default plan view without specifying a cut plane.

DISPLAY STATUS PLAN @ WPlane [:BElow] /SYNC continually shows the plan view at (or below) the waterplane as the depth changes during synchronization.

DISPLAY STATUS body views now show a wavy external waterline for waves having non-zero encounter angle. Note that when solving for equilibrium, transverse waves are actually linearized as they cross each section, which is reflected by body views showing the waterline inside flooded tanks as a non-wavy line.

DISPLAY STATUS profile views at or beyond cut planes (e.g. @12) now show waves having non-zero encounter angle in the specified cut plane rather than the default centerplane.

DISPLAY STATUS outboard profile views at or beyond cut planes (e.g. @0:BE:OUT) are now excluding critical points outside the specified region. The size of critical point arrow numbers was increased slightly.

DISPLAY STATUS plan views at or below cut planes (e.g. @WPL:BE) now show arrows marks for critical points inside the specified region. Note that unlike the default profile view, no critical points are included in the default plan view without specifying a cut plane, but a solitary BElow subparameter can be used to specify all points below an infinitely high cut plane.

DISPLAY STATUS profiles & plan views were improved to avoid covering up front tanks in complicated deducting & wrap-around cases, making front deductions visible and hiding rear deductions.

DISPLAY STATUS profiles & plan views were improved by considering heel and trim quadrants when ordering tanks from back to front.

DISPLAY STATUS body views were improved to avoid covering up loaded tanks by deducting components in other tanks.

DISPLAY STATUS profile and plan views no longer show automatically-constructed deck edge lines for any components other than HULL\HULL.C, instead just showing the lines explicitly marked in the geometry file.

TYPE (saillist) SET /COLOR:cn now also sets colors in Condition Graphics for sails not having a surface model.

TYPE SET /TILT:angle optional parameter was added to tilt sail surface model coordinates about the rotated longitudinal axis by the given angle counterclockwise looking down in Condition Graphics.

New Load Editor (LE & LEw) Features

LOAD EDIT title bar "X" close button and Alt-F4 now exit Load Editor instead of closing the main program. The old "Exit" button in LEw was removed as its functionality had become redundant. The Esc key can also still be used to exit LE, but as before it always first confirms "OK to exit Load Editor?" to guard against inadvertent key strokes. Note that prior to this change, the user could choose between the "Esc" button to close LE and return to the main program, or the "X" button to close both LE and the main program; the latter ability can be easily recreated by defining a button for a macro that QUITs using the /MACRO or /BUTTON parameter.

LOAD EDIT /OMIT:EXIT parameter needed to be changed since the exit button was removed. Rather than delete the parameter, /OMIT:EXIT now triggers a pop-up confirmation dialog box, "OK to exit Load Editor?", before exiting back to the main program, when either the "X" button or Alt-F4 are pressed.

LOAD EDIT opens an initial "Select Geometry File" dialog box if no geometry file has been READ.

ADD /NOTE:"note" parameter was added so that Load Editor would show the specified note in its spreadsheet footer when the cursor is in the Description column. If no note has been defined for an item or if its description is being edited, then the default "Name to locate" hint appears in the footer. The /NOTE parameter is also available for the BOOM and GROUND commands.

New Longitudinal Strength (LS) Features

LS /SIZE:max[,min] parameter was added to set the General Scale of the plot so the top is at least max and optionally the bottom is at most min. Assuming this range is large enough to include any expected curve values, this provides uniform scaling for easy comparison of a series of LS plots.

LS /SIZE:* option was added to reuse sizes from the last LS plot, along with all associated scale factors.

LS /FRAme:CURVEs optional parameter was added to show just frame location points in table curves, including any weight and buoyancy columns, but omitting frame descriptions.

LS /NOTable:PLOTONLY subparameter was added to write only the plot data without any table, summary, or screen output.

LS frame file format now permits longitudinal locations to be followed by an optional "M" suffix for meters (the default is feet).

TORQUE /FRAME now shows frame locations in the table (just like LS /FRAME).

New Part Maker (PM) Features

ENTER PM added a SURFACE (complist) [mingap] command to generate surfaces for shapes used by the listed parts or components. Optional mingap specifies the smallest surface patch size in the longitudinal direction, which can be used to prevent excessive detail in the surface model. DISPLAY STATUS recognizes shape surfaces and will show the surface patches of components using such shapes.

ENTER PM command DISPLAY clicking the close box (or keying Alt-F4) returns to Part Maker from DISPLAY instead of exiting the program.

ENTER PM now supports unlimited CYLINDER, SPHERE, and ELBOW statements for each shape.

New Sensor Interface (SI) and Tank Gauging Communication Features

CUSTOM (GHSERIAL) READ listindex varname [extravar1]... supports extra variable names that are read from the record ID for listindex added to the corresponding $READPLUSn parameter. This allows separate ranges of record IDs to be used for different kinds of data for the same tanks (such as load levels along with density values). $PLUSFIELDn parameters may also be configured to specify the field number for the nth extra READ variable, providing support for extra fields using the same record ID (where $READPLUSn=0) but different field numbers in the same record. $PLUSFIELD0 parameter specifies the field number for writing using $WRITEPLUS. If $PLUSFIELDn isn't specified, then the field number for listindex is used.

New Dialog Box (TEMPLATE) Features

TEMPLATE field DIR pops up an enhanced resizable directory selection dialog box similar to the FILE selection dialog box, allowing creation of new directories, direct access to the desktop and other special places, etc. This enhanced dialog is also used for "Change directory" and directory dialogs available from the menu. The old dialog is still used with /SHORT, which restricts selection to the starting directory.

TEMPLATE /SIZE:size parameter now accepts a multiplier value times the SMALL menu character size (so /SIZE:1 is the same as /SIZE:SMALL).

TEMPLATE /FONT:"font[:pointsize],..." parameter supports optional point sizes for each font in the list.

TEMPLATE field FILE /EXT:"extensions" parameter now allows each series of extensions to be followed by a parenthesized type description for inclusion in the "Files of type" drop-down list (e.g. /EXT:"PF, PPF (Print), RF (Run)")

TEMPLATE dialogs using colored buttons were sometimes enlarging fonts and truncating text due to an inconsistency introduced in Windows Vista, so the logic was rewritten to work around this problem and improve the general precision of dialog box layouts.

TEMPLATE text fields and labels no longer need to be surrounded by quotes when beginning with numbers, simplifying drop-down list control definitions.

New System Variables and Other VARIABLE features

REACT1 system variable was added to return the upward reaction force of the last accessed ground point, as marked by GROUND "description" /ACCESS.

TINERTLT, TINERTTV, and TINERTVL system variables were added to return the products of inertia of selected intact tanks around their own centers. These products can be collected with the moments of inertia TINERTL, TINERTT, and TINERTV to complete a tank's inertia matrix about its center.

TLCF and TTCF system variables were added to return the longitudinal and transverse Center of Flotation of the current tank.

TPERM system variable was added to return the average permeability of the selected tanks.

WPBEAM system variable was added to return the waterplane beam.

SET command error reporting was improved, trapping "Value needed before operator" if a binary operator was preceded by nothing or another operator. Setting a string variable to a numeric expression traps "Invalid string operation". Ending a numeric expression with an operator traps "Invalid numeric operation" instead of "No such variable".

SET variable = value1 PLUS value2 was not setting the variable to "Undefined" when value1 was undefined, instead performing a misleading computation. Similar problems occurred using other binary operators (e.g. TIMES) and when value2 was undefined as the result of a unary operation (e.g. SQRT -1). The MINUS unary operator now works properly when combined with other operators (e.g. SET X = 5 PLUS MINUS SQRT 4).

IF comparisons now treat the string "Undefined" the same as the empty string, so invalid SET results (such as division by zero or non-numeric arithmetic) may be tested using IF {X}="" THEN or IF {X}=UNDEFINED THEN statements.

======= Minor New Features =======

AXIS MINGM was improved when the mininum GM axis was far from the initial axis or occurred within a wide range of axes with very similar GM values.

CHANGE command supports tank descriptions up to 25 characters, which are shown in full in TC & TS report headers, PDESCR system variable, etc. Note these descriptions are still truncated to 20 characters in Load Editor and reports with tight column spacing.

CONTENTS, FSMMT, LOAD and other tank-only commands trap "Bad tank name" instead of "Bad part name" on tank list errors. However PERM command helpfully traps "Only allowed for tanks; use COMP /EFF to set effectiveness" when mistakenly used with non-tank parts.

COPY sourcedir destdir was added to copy a directory along with all of its files and subdirectories. Any file copy error is reported but does not stop the copy process for the remaining files in the directory.

DRAFT @ keyword for keywords FP, MP, and AP now trap "Bad parameter" if these were not defined by command LBP fp,mp,ap or LWL fp TO ap.

ECHO OFF command itself is no longer echoed.

KEY DEFAULT "Menu" assignment for F9 now runs the Executive wizard if no MENU macro is defined after running any MENU.LIB.

LCG, TCG, and VCG command parameter may be prefaced by an asterisk to indicate that the present value is to be incremented or decremented (e.g. VCG *+1).

LIMIT GM AT EQU0 angle is now supported.

LIMIT reports now describe FLOODHT AT POINT limits as "Flood/Tight Height at point", because this limit includes both normal & weathertight flood points.

LIMIT reports abbreviate "Flood" and "RAzero" if necessary to prevent truncation of long limit descriptions. Likewise long limits abbreviate "(no moments)" if necessary instead of deleting this entire phrase. LIMIT angles now accept FLOOD as a synonym for FLD.

Main program [/R:]runspec parameter may specify a command line (which should be enclosed in quotes if it contains special characters like "/" or "|").

Main program initialization tolerates read-only media when double-clicking on print files and geometry files.

MAXVCG and other reports that draw smooth plot curves now use linear interpolation when necessary to prevent distortion possible when large differences exist in the gap distance between adjoining plotted points.

MAXVCG /ID:source now includes the source in the report title.

MESSAGE SEND and SOLVE SEND command lines are no longer displayed by the receiving session unless command echoing has been enabled using ECHO ON.

NOTE now always sends messages to the screen even when entered from the keyboard.

PAGE number maximum was increased from 9,999 to 99,999.

PERM permeability FLood allows an optional slash before FLOOD to ensure the command behaves as intended even when a slash is accidentally included.

Project menu was redesigned and simplified with improved selection dialogs.

PROJECT projname no longer clears the geometry file nor closes any open report when the new project name is the same as the old one.

REFPT MIN & MAX (and likewise for CRTPT, PULL, ADD, WEIGHT, etc.) allows a slight tolerance for rounding errors instead of always trapping "No such point" when specified coordinates are not precisely within geometry boundaries.

TC increased the maximum number of load values from 1,001 to 10,001. If the load list is unterminated (ends with ellipses "..."), then TC stops when just full or empty, as if the appropriate /STOP:FULL or /STOP:EMPTY parameter had been included.

VIEW and HELP searches no longer return to the main program when the Enter key is pressed, instead searching again for the next occurrence; note that Enter still returns when no search is active.

VIEW /WRAP no longer wraps lines with table columns separated by three or more spaces.

WAIT for "Press to continue" exits for the Enter key as well as Esc and Space.

WATER maximum specific gravity was raised from 1.25 to 1.35, with an improved error message when out of range.

WRITE (COMmands) filespec was added to write the most recent commands entered at the command line to the specified file. These are the same commands that are available by pressing Ctrl-E, Up-arrow, and Down-arrow keys from the command line.

======= Bug Fixes =======

CONTENTS was sometimes trapping spurious "Substance is disabled" errors when running an old SAVE file after setting a new tank contents in the geometry file.

COPY file1 [file2] /CODE was not preserving file date and time.

DELETE "filespec" PARTS was failing for file specifications enclosed in quotes.

DISK /QUIET parameter was causing corrupt screen output when used with reports like STATUS (since 9.02A only).

DISPLAY was sometimes showing incorrect plan view outlines when arc points were present near the deck edge.

DISPLAY STATUS was ignoring TYPE UNSET for sails with side designations in their part names.

DISPLAY STATUS was showing blank views of vessels with cranes in rare cases.

DISPLAY STATUS no longer traps "No such item" if no tanks are present in the part list or the geometry file.

DISPLAY STATUS was trapping "System fault 1" when non-standard part names contained separator characters.

DISPLAY STATUS profile views at or beyond cut planes (e.g. @0:BE) were not excluding ground points outside the specified region.

DISPLAY STATUS ground point triangles were sometimes being cut off, but views are now scaled so these marks are fully shown.

DISPLAY STATUS PROFILE:OUTBOARD was not always showing sail structures as outboard of enclosed sail containers.

DISPLAY STATUS /SYNC was not automatically refreshing changes from TYPE SET sail surface model parameters like /MOVE, /TOP, etc.

DRAFT /PRINT without a draft location was printing the draft at zero instead of the LCF, unlike DRAFT to the screen.

ENTER GS was trapping "No such item" for TANK POCKETS ON command in GSDEMO.RF (since 13.38A only).

ENTER into programs like GS and PM was sometimes trapping "Unable to open file" when more than nine instances of the main program were active.

ENTER PM was sometimes making the inserted station interval too large.

ENTER PM command JOIN was sometimes failing to correctly shorten components when applying a VECTOR (since 12.00 only).

ENTER PM command JOIN was sometimes failing to correctly update the "L:" miscellaneous line in the geometry file (since 12.00 only).

ENTER PM, MC, and SE were ignoring all but the last sounding tube when more than one appears for a tank in a Geometry File, but now only the first sounding tube is used in order to match the main program.

ENTER PM statement CONTENTS GAS was not setting specific gravity 0.740 due to a spelling confusion between GASOLINE and GASOLENE. All three spellings are now supported by Part Maker and the main program, with the contents description shown as "GASOLINE".

ENTER PM command CHOP was sometimes trapping an "invalid location" run-time when repeated at locations already chopped.

ENTER PM command CHOP FWD loc was sometimes incorrectly deleting parts having their forwards precisely at the chop location.

ENTER PM statements CYLinder and DIAMeter now avoids making duplicate stations.

ENTER PM command FIT using optional insulation thickness parameters was sometimes producing a bad fit.

ENTER PM statement SPACING was sometimes using slight smaller spacing than specified (since 10.38 only).

ENTER PM was sometimes not respecting the TOP statement for nonstandard hulls where the section curves do not close.

ENTER PM fixed an occasional negative-offset error resulting from SHELL applied to centerline components.

ENTER PMX run by TABLE_OF_OFFSETS wizard was sometimes trapping "Aborted by operator".

FILL and FIXUP commands were sometimes triggering an "invalid index" run-time error (since 13.28A only).

FIXUP was not removing any irrelevant component description following "\", instead deleting the containing part; now these component names are fixed with the warning "Removed component description".

FL command was sometimes unnecessarily trapping "WEIGHT ERROR #1" when trying to find an initial limiting floodable length.

FL command was sometimes failing to report the forwardmost valid center of floodable length.

GHS /GMRA was not allowing the righting-arm curve to be used for obtaining the GMT value at equilibrium when external heeling moments were present.

GROUND /LINEAR was acting in the wrong direction for negative ground forces.

GROUP receiving of contents using the <- connective mode was stopping prematurely at the first sending tank having default 100% fraction.

HMMT * behavior was undetermined for heeling moment functions that mix positive and negative values, so now traps "Cannot set direction for moment functions that reverse sign" in this case.

HMMT REPORT no longer turns off any pre-roll angle stored by HEEL *-ROLL.

HMMT WIND /BAND was sometimes adding an extra top or bottom band because of tiny rounding error differences.

HMMT WIND /BAND was not applying full shielding in rare cases where multiple non-adjacent components should have been shielded by the same larger component that happened to appear later in the geometry file

LIMIT command traps "Only the first limit angle can be based on equilibrium" instead of truncating or comparing in the wrong direction when EQU, EQU0, or n%EQUPlus is used for the second or third angle.

LIMIT GM now traps "Invalid limit angle" instead of acting erratically for angles other than EQUIL and UPRIGHT.

LOAD FLOWC risked trapping "stack overflow" run-time error when pressed-full tanks were recursively connected to each other using CRTPT /TANK /INSIDE.

LOAD SOUNDING:n was leading to imprecise STATUS TANKS results in rare cases.

Load Editor was allowing irrelevant load entry and display for DECK and PRESSURIZED tanks.

Load Editor exit was trapping "zero or negative divisor" run-time error in rare cases.

LS processing interrupted by keyboard entry was sometimes trapping "Negative waterplane area" when TYPE CALIBRATED tanks are present (since 13.38E only).

LS /NOWEIGHT was sometimes trapping "PSI ERROR - WEIGHT DISCREPANCY" (since 13.26A only).

LS /LIM summary was including the wrong "(Sagging)" or "(Hogging)" tag on the Largest Bending Moment/limit line if the maximum moment/limit percentage occurred in a different direction than the absolute maximum moment.

LS was sometimes showing spurious zero-weight items and small non-zero bending moment extending past the end of the vessel for BOOMs using the /PED parameter.

LS was unnecessarily trapping "Missing section moment of inertia at end" in cases of tiny differences between geometry file and SMOD end locations.

Main program startup was sometimes trapping "Inaccessible working directory" unnecessarily (since 11.92B only).

MAXVCG /EXTERNAL:file command was ignoring any /ID:source parameter, which is now used as the default source but can still be overridden on each external data line by including optional source identification text.

MAXVCG /LOOKUP "Source" column identifications were sometimes changing at a slightly wrong displacement when the environment was not fresh water.

MAXVCG /LOOKUP was unreliable when the number of LCG or TRIM values exceeded the number for the original MAXVCG command that generated the lookup table.

MAXVCG /LOOKUP of source identification text was not reliable when the list of displacements or trims was monotonically decreasing instead of increasing.

MAXVCG /LOOKUP was allowing insufficient trim tolerance for large vessels when no reference length had been defined by LBP or LWL commands.

MAXVCG plot curves were using unnecessary straight lines between points (since 13.26C only).

MB command SOLVE PRIMARY tolerance was increased for triggering the "Spacing of interaction points X and Y differs on secondary vessel" warning.

MB solving was sometimes thrashing when external moments were present.

MC /MAXGAP%:n parameter was ineffective for geometry files with zero length due to missing HULL part, but now uses any nominal LOA value set by Part Maker in such cases.

MC file.DXF imports were incorrectly converting the radius for ARC entities when non-unary transverse /SCALE factor was specified.

MC file.DXF /3D exports were trapping "ARC must be in X-Y plane" if any arc-connected points were present, but now avoids the error by exploding them into multiple standard points.

MC file.DXF /2D /LAYERS:ALL imports were sometimes trapping an "expression out of bounds" run-time error instead of reporting "Invalid label".

MC file.SHP imports were not allowing symmetric stations having all non-positive transverse coordinates.

Menu key (right of spacebar on most keyboards) and Shift-F10 were neglecting to pop up the right-click menu at the mouse cursor.

MESSAGE SEND ON communication between program sessions was trapping "Value out of range" (since 13.28B only).

MESSAGE (REPORT) was hanging on file access errors (since 9.16H only).

NOTE messages containing ^C0D (carriage return) and ^C0A (line feed) control characters were misformated when sent to the screen.

OUTFLOW bottom damage probability was too conservative by using the minimum distance down to the shell, not to the lowest point of the bottom shell at any given longitudinal location as per MARPOL MEPC.122(52) Explanatory Notes for Regulation 23.9 (since 13.36B only).

OUTFLOW log file note "Ignoring tanks under 30 cu.m totalling ... cu.m" was reporting the total small tank volume scaled down by 35 times too much.

OUTFLOW log file "minimum from ... to hull" note for minimum bottom distance was incorrectly repeating the point location information from minimum sides distance (since 13.36A only).

OUTFLOW log file notes for minimum distance to hull now identify the same closest point for symmetric port and starboard tanks in cases where multiple points share the same minimum distance.

PRINT /PREVIEW for data files opened with DISK file.DAT was inserting a spurious blank line above the header (since 10.72B only).

RA /LIM was sometimes reporting an incorrect RA0 limit angle near EQU in cases where the righting arm curve has multiple humps (since 9.30 only).

RA /LIM no longer checks for trapping "EQU0 is out of range" errors when LIMITS include FLD but not the EQU0 limit angle and no CRT /TIGHT points have been defined.

RA /LIM was sometimes starting from EQU or EQU0 found far away in the opposite direction and with opposite sign from the first listed heel angle, instead of using a closer EQU or EQU0 angle with the same sign.

RA /LIM /FSM sometimes failed to trap "EQU0 is out of range" error when multiple LIMITs specified the FLD limit angle.

RA report notes were sometimes showing undefined heeling moment for HMMT WIND if recently invalidated by a new condition and HMMT REPORT had not been done (since 10.50 only).

RA plot was sometimes showing GM lines not tangent to the curve at equilibrium in cases of weak righting arm extended over a wide range of heel angles.

READ errors were mispositioning the cursor in SET ERROR -3 and -4 modes.

READ /QUIET was clearing part of the spreadsheet when run inside a LEw macro.

REPORT /BOX:COLOR|BW fancy reports improved justification of NOTE table columns by looking at rows further up or down and past separator lines to resolve any justification direction ambiguity.

REPORT file.DAT was inconsistently acting similarly to DISK file.DAT by only writing nondisplay output, but trapping an error if PRINT /PREVIEW was done and afterwards writing all output to the file; now REPORT file.DAT works the same as REPORTs for all other file extensions.

REPORT without a filename was doing nothing when a report was already open, but now closes the old report file and opens a new one using any Run File or PROJECT name in effect (if none, the old report name is reused).

REPORT /BOX:COLOR|BW fancy reports were not centering \note\ lines for notes longer than 75 characters.

REPORT /BOX:COLOR|BW fancy reports were sometimes inserting a spurious blank page before LS /NOTABLE:PLOTONLY plots.

REPORT /BOX:COLOR:BW fancy GROUP reports were sometimes trapping "not enough cells on line" when showing large negative Reference Point heights.

REPORT /BOX:COLOR:BW fancy MAXVCG reports were sometimes trapping "not enough cells on line" when adjoining columns contained "UNDEF" or "LARGE".

ROLL IMO calculation for UF1 factor was using 1.108 s/(ft^1/2) instead of more precise 1.10417 conversion from 2.0 s/(m^1/2) specified in IMO Severe Wind and Rolling Criteria.

SCREEN GRAPH was trapping a "whole overflow" run-time error while showing watermark graphics for vessels with extremely convoluted sail parts.

SE command NAME part\component was not asking "Want to create part\component?" before creating a new component if not found.

SE was omitting items with zero effectiveness.

SE and DISPLAY no longer draw a keel line through stations composed of closed off-center lobes.

SOLVE was occasionally failing to find heel solutions far distant from the initial heel angle.

SOLVE LCG, SOLVE TCG, SOLVE VCG, and SOLVE MAXVCG were taking no action instead of trapping "LIGHT SHIP not present" in cases where the Light Ship weight was zero but other fixed weights were present.

SOLVE MAXVCG and SOLVE MAXWEIGHT were not trapping "No Limits set" if no stability criteria had been defined.

SPECIAL WPLUP was disregarding any external heeling or trimming arms when detecting equilibrium.

STATUS waterplane header line was not showing the correct direction tags (trim Fwd or Aft, heel Port or Stbd) for AXIS angles between 135° and 225°.

TANKS command selection using /IN, /OUT, /BOT, and /TOP parameters was sometimes excluding centerline tanks that expand aftwards (since 11.64 only).

TC reports restored an extra decimal place of precision for GML and GMT that was eliminated in version 11.40A so very large GM values could be displayed; now precision is reduced only when necessary for particular GMs while all other GM values are shown with full precision.

TC report sounding values were not always based on the current heel and trim when DEPTH was undefined.

TC /SOUND was not always using current external waterplane heel and trim to compute sounding for frozen tanks.

TC and STABILITY commands were trapping "Bad part name" for tank lists longer than 80 characters.

TEMPLATE field parameter /Underline was not working properly (since 13.42C only).

TEMPLATE fields DIR and FILE were sometimes trapping an "invalid location" run-time error when renaming or creating items in the selection dialog box.

TEMPLATE /LIST:pattern was not listing any names.

TEMPLATE field VARIABLE and PARTS drop-down list controls were not processing Up Arrow and Down Arrow keys correctly.

TEMPLATE dialogs were trapping "Macro not found" in rare cases where program initialization had not completed due to a "Missing working directory" error.

TEMPLATE dialogs avoid risking a rare "invalid location" run-time error.

TEMPLATE variable field drop-down lists were incorrectly doubling any underscore ("_") characters in the label and associated value lists.

TEMPLATE execution was trapping "stack overflow" run-time error in rare cases where multiple templates were directly executing subtemplates.

TEMPLATE field /Tip:"text" parameter now works with fields disabled by /Grey.

TEMPLATE field @"^image" was trapping "Invalid @image bitmap" if no .BMP or .JPG extension was specified and the image file was relative to the program directory not the user library path.

VARY AXIS:MINGM and AXIS:ZEROTRIM were not working properly for MAXVCG.

Previous Version Update Features

Copyright (C) 2013 Creative Systems, Inc.