GHS Version 10.00 Update
New features, changes, and bug fixes since version 09.50
=========== MAJOR NEW FEATURES =========
New SCREEN COMMAND Parameter For Split Screen
SCREEN [NORM|MAX] COMmand [n|OFF|ON|ONLY] parameter was added to reformat
the screen into a white display area and a black command area. The display
area receives all screen output that would otherwise have gone to the command
area, with the exception of commands themselves and command-related messages
(such as errors that fit in the command area, "End of Run File", and Report
Generator informational text).
The number of lines n for the command area (default=5) cannot be so large
that the white display area is less than 10 lines (including the divider line)
and is adjusted downwards (to a minimum of 1 command line) if given larger.
If the display area would be less than 10 lines because of user resizing,
it disappears altogether and the black command area uses all available lines,
but it reappears whenever possible with the old command area size n restored.
SCREEN COMMAND OFF (same as SCREEN COMMAND 0) causes the command area to
disappear completely and all available lines to be taken by the display area.
If command line input is needed, a one-line command area reappears temporarily
and disappears as soon as Enter is pressed. SCREEN COMMAND [ON] reverts to
the former number of command lines. SCREEN COMMAND ONLY causes the display
area to disappear completely and all available lines to be taken by the
command area (restoring the old default GHS mode).
The vessel graph watermark appears in the command area only. A new logo
appears in the display area if present and the command area otherwise; an
existing logo never switches areas. CLS clears only the display area if it
is present. When the display area is present, there is never waiting before
text scrolls off the command area.
SCREEN White|Black parameter added to set command area background to white
or black (which also applies to non-LEw Load Editor spreadsheet).
SCREEN White|Black [Display] optional parameter was added to set the background
color of the display area to white or black.
SCREEN LOGO OFF was added to turn off the logo without clearing the screen.
SCREEN COMMAND clears any logo when switching between command-only and dual
view modes (so that the logo may only appear in the display area if present
and in the command area otherwise). The display area logo is now being
preserved whenever the display area temporarily disappears due to resizing.
CLS clears the logo only if appearing in the command not display area.
New SCREEN SCROLL Parameter For Display Area Scrolling
SCREEN COMMAND modes (except for default SCREEN COMMAND ONLY) disables all
implicit waits, instead creating a scrollable collection of all screen output
written to the display area since it was last cleared. When this collection
contains more lines than will fit in the visible display area, a scroll bar
appears which can be used to select any part of the collection for viewing.
Any report command (such as RA, STATUS, etc.) starts by clearing the display
area and ends by scrolling to the top of the report if it's too large to fit
in the visible display area.
SCREEN TOP|BOTom scrolls to the top or bottom of the display area collection.
SCREEN UP|DOWn [Line] scrolls the display area up or down a page (or up or
down a line if LINE is present).
SCREEN SCRoll OFF turns off scrolling the display area, instead implicitly
waiting when the display area is full and no output file is open (the same
behavior as for SCREEN COMMAND ONLY mode). SCREEN SCRoll [ON] turns on
default scrolling of the display area when not in SCREEN COMMAND ONLY mode.
SCREEN SCRoll ALL turns off any implicit clearing of the display area so all
screen output since the last explicit CLS or CLEAR is available for scrolling.
In this mode report commands (such as RA, STATUS, etc.) do not start by
clearing the display area and do not end by scrolling to the report top.
SCREEN SCROLL bar supports keyboard shortcuts PgUp (page up), PgDn
(page down), Ctrl-PgUp (top), Ctrl-PgDn (bottom), Ctrl-Up (line up), and
Ctrl-Down (line down). These shortcuts are available not only during normal
command but also while a standard TEMPLATE dialog box is active or while
WAITing with "Press to continue" button visible.
SCREEN SCROLL mode at LOAD EDIT startup also determines scrolling for display
output produced by LEw macro buttons. This LEw scroll mode can be changed
by SCREEN SCROLL commands issued within LEw macros, but the original scroll
mode is restored when Load Editor exits.
New Menu Additions
A new View menu was added to display current GHS screen settings and allow
them to be easily changed.
Help menu added a "Web help" section.
Wizard menu added "My wizards" category, which lists any user wizard in the
program directory ending with the ".WIZMY" extension.
New Look For HELP and VIEW
HELP and VIEW programs use a new color scheme (black on white with silver
border) for a more modern and readable appearance.
Double-clicking on a word in the HELP program searches through the entire
on-line documentation for the first occurrence of the word. Subsequent
occurrences can be quickly found by pressing the "A" key (for "find Again").
New Command History
GHS keeps a history of the last 50 unique commands entered from the keyboard,
which can be accessed by repeatedly pressing Ctrl-E or the up arrow key.
Once in this mode, the up and down keys can be used to pick commands back and
forth from this history.
New GHSERIAL Module Communicates With Real-Time Gauging Systems
CUSTOM (GHSERIAL) START [configfile] [/Log | /Dump] was added to start serial
communication between GHS and external real-time systems. Communication is
configured according to the specified configfile (or GHSERIAL.DAT by default).
If /LOG parameter is present, then each received serial message is logged in
GHSERIAL.LOG for diagnostic purposes (either formatted or as a raw dump if
/DUMP was present instead of /LOG).
The GHSERIAL.DAT file is composed of serial parameter lines beginning with
the "$" character, followed by an indexed list of data items from the serial
stream. Serial parameters are as follows:
$TYPE protocol - the name of a supported serial protocol type (required).
$PORT name - serial port name (default=COM1).
$BAUD rate - baud rate in bits per second (default varies by $TYPE).
$PARITY method - 0=no parity, 1=odd, 2=even (default varies by $TYPE).
$DATABITS bits - number of data bits per byte (default varies by $TYPE).
$STOPBITS bits - number of stop bits (1, 1.5, or 2; default varies by $TYPE).
$IDFIELD field - ID field index in each record (default varies by $TYPE).
Each line in the indexed list of data items is composed of a record ID string
(which may be surrounded by quotes), separated by a space or comma, then
a data field position index. For example, a line containing "TANK6P 3"
indicates data from the 3rd field of the record marked with ID="TANK6P".
If the ID string is empty (e.g. ", 3"), then the indexed field is taken
from any common or system data not associated with particular records.
CUSTOM (GHSERIAL) READ listindex varname was added to read the current value
of the indexed item from the configured data list into the named variable.
For example, "CUSTOM (GHSERIAL) READ 5 X" sets the existing X variable equal
to the data item indicated by the 5th data line listed in GHSERIAL.DAT.
CUSTOM (GHSERIAL) STOP [/Keep] was added to stop serial communication.
If /KEEP is present, subsequent CUSTOM (GHSERIAL) READ commands can still be
used to fetch the final values of data items when communication terminated
(requires GHSERIAL.DLL with supported protocol type and permissions).
New Model Converter (MC) Importer For Latest HEC .SHP Files
MC supports import of the latest HEC file format with a .SHP extension.
As a side-effect, this import creates a condition file to set the lightship
weight and center of gravity; it has the same name as the output geometry file
but with extension .CND.
MC import of SHCP file format with an .SHC extension recognizes ShipHull 2000
format even without using /SH2000.
MC increased maximum number of points per station from 125 to 255.
New Model Converter (MC) Support For Partial Tank Property Tables
MC, GHS, and SE were made tolerant of partial tank property tables (see MC_TPF).
Formerly only complete tables were supported. It is now possible to include
only volume information, or volume plus CG information omitting the surface
properties. However MC will not supply a geometry from properties unless
complete properties are present.
New LIMIT Type
LIMIT type RASR was added to check the ratio between the absolute righting arm
and the function:
v * sin ((h-eq0) * 180 / range)
where:
v = limit value
h = heel angle
eq0 = equilibrium without heeling moment
range = angle beyond equ0 at which sine curve goes to zero
The ratio is checked at every angle for which the righting arm is calculated
between two given angles. For example,
LIMIT RASR from 5 to 60 range 90 > 0.5
checks the ratio in the interval 5 degrees to 60 degrees. The sine function
has a range between zeroes of 90 degrees. The limit is considered to be
satisfied when the ratio of the absolute righting arm to the sine function
is at least 0.5 at every angle in that range.
This type of limit is particularly useful when the righting arm curve is
complex and not well characterized by traditional measures of area, range,
maximum arm, etc.
Note that a sine curve with a range of 180 degrees with an amplitude
of 1.4 ft (0.43 m) has the following characteristics:
area to 30 = 10.74 ft-deg (0.047 m-rad)
area to 40 = 18.75 ft-deg (0.10 m-rad)
Arm at 30 degrees = 0.7 ft (0.21 m)
These values are roughly equivalent to the limits in the traditional energy
criterion. The exception is the GM, which is 1.4 ft (0.43 m) for the sine
curve and 0.5 ft (0.152 m) in the energy criterion. The RASR limit provides
for a starting angle at which the ratios are to be checked which may be set
several degrees beyond equilibrium, thus allowing the initial slope of the
RA curve (GM) to be less than would be required if the ratio checking began
at equilibrium.
The RASR limit simultaneously checks range, area and maximum RA while
guaranteeing that the righting arm curve does not dip below expected values
leading to undesirable stability characteristics.
New Styles For Custom Reports
MESSAGE REPSTART starts fancy formatting for an upcoming NOTE-generated user
report, with fields separated by two or more spaces. Any first line not
containing "---" is treated as a title line. Subsequent parameter lines
consist of one or more pairs in the format "Label: value" or "Label = value".
Initial header lines not containing "---" may have labels that span multiple
table columns. The final header line must contain "---" with each label
corresponding to a column in the table following. Each table line consists of
field information (blank or "..." fields allowed) lined up in columns, except
special summary lines marked by "--->" may have descriptions spanning multiple
columns. The first non-summary line containing "---" is a footer following
the end of the table. Any additional lines after the footer are treated as
appended information.
MESSAGE REPEND ends fancy NOTE formatting for the user report.
MESSAGE REPFONT [Left|Center|Right|OFF] was added to use the font specified
by PRINT CONFIGURE /FONT for NOTE output, justified left (default), center,
or right. MESSAGE REPFONT OFF restores the original fixed font for NOTEs.
MESSAGE REPFONT justification was established according to the following rules:
(1) Tabular text is left or right justified according to the alignment of
adjoining lines (following line has precedence over preceding if conflicting);
(2) Text without leading spaces is justified according to ME REPFONT L|C|R;
(3) Text already centered on the line is kept centered; (4) Other text is
justified as a group at its original location according to ME REPFONT L|C|R.
New Custom Plots
MESSAGE PLOTSTART "title" was added to send future MESSAGE text into a report
file as tabulated plot information with the given title. Each subsequent
MESSAGE command (other than MESSAGE PLOT commands) specifies a row of numeric
plot data for each column. The first column is the independent variable
(which must monotonically increase or decrease), against which the remaining
columns are graphed as curves.
MESSAGE PLOTLABEL [label]... was added to specify a series of column legend
labels, which may be enclosed in quotes to preserve case and spacing. This
replaces the use of the first MESSAGE line for this purpose. If the "%"
character is present in a label, then its plotted curve is scaled independently
of other columns, with the "%" replaced by the actual scale factor used when
the label appears in the legend. Note that the general scale of the plot
is based on the maximum dimensions of the unscaled curves (or of all curves
if none are unscaled). If ME PLOTLABEL does not appear, the labels "X", "Y1",
"Y2", etc. are used by default.
MESSAGE PLOTSTYLE [style]... was added to specify a series of styles for
each curve column (skipping the first column for the independent variable).
The style "L" causes straight lines to be drawn between plot points, while
the default style "C" causes smooth curves to be plotted between plot points.
If ME PLOTSTYLE does not appear, then smooth curves are used for all columns.
MESSAGE PLOTEND was added to finish the plot data commands (which may be
interspersed among NOTE commands, with the entire plot gathered together and
output when MESSAGE PLOTEND is encountered).
New Printer Support For International Page Sizes
PRINT output and previewing transparently reformats to match printer
page size (e.g. A3, ledger, etc.). When targeting to a printer whose width
is larger than 8.5 inches, all report plots and Condition Graphics output
as well as page headers and footers are automatically expanded to fit;
text output designed for 80 characters per line (such as tabular data) is
centered on the page.
Improved Print Preview Image Quality
PRINT /PREVIEW displays using much higher quality under Windows 2000 and
Windows XP. Higher-quality previewing takes more time; for faster previewing
using lower quality, toggle "Speedup" mode on the right-click menu or press
the "S" key.
PRINT /PREVIEW now automatically resizes the preview window when zooming in
or out using the "+" and "-" keys and corresponding right-click menu options.
The "0" key restores the original "Full page" window. Reduced displays
smaller than "Full page" size are now available by repeatedly pressing the
"-" key.
New DEFLECTION Command
DEFLECTion deflection[/length] command was added to set the deflection over a
length centered at the midship using the existing origin depth, trim, and heel.
If the length parameter is omitted, the overall length is used. The updated
deflection is reported to the screen and output file. DEFLECT OFF is the same
as DEFLECT 0, except that there is no reporting. DEFLECT without parameters
displays the current deflection to the screen.
Whenever any command removes deflection implicitly as a result of changing the
waterplane, "Deflection removed" is reported to the screen and output file.
New DAMSTAB /MACRO Parameter
DAMSTAB /SDI /MACRO:macname command uses the named macro to calculate
probability of survival. This is available with the /SDIC, /SDIHC and
/SDIHR versions.
For example,
DAMSTAB /SDIHC /MACRO:PROBSURV
Variables are used for input to and output from the macro. These variables
must be defined by the user and must have names as follows.
Input string variable:
DAMSTAB_TANKS - contains list of tanks flooded
Output real variables:
DAMSTAB_PS - probability of survival
DAMSTAB_MAXRA - maximum RA in current units
DAMSTAB_RANGE - range of stability in degrees
For example,
variable (str) DAMSTAB_TANKS
variable DAMSTAB_PS, DAMSTAB_RANGE, DAMSTAB_MAXRA
macro lesser
if {S}<{PS} then set DAMSTAB_PS={S}, DAMSTAB_RANGE={R}, DAMSTAB_MAXRA={MA}
/
macro PROBSURV
TANKS {DAMSTAB_TANKS}
set DAMSTAB_PS=9999
.Sfinal | .lesser
.Sinter | .lesser
.Smom | .lesser
TYPE FLOOD `Restore to flooded type
/
DAMSTAB /MACRO report includes a note indicating that probability of survival
comes via a user-supplied macro.
New PERM FLOOD Parameter
PERM [permeability [FLood] | RESTORE] [/QUiet] parameters were added. The
FLOOD parameter restores permeabilities for selected tanks from the geometry
file, and institutes a mechanism so that the specified override permeability
will be applied whenever these tanks are changed to type FLOOD, but the values
from the geometry file are applied when the type is changed to anything else.
PERM RESTORE removes this mechanism and restores the original permeabilities
from the geometry file for selected tanks. The /QUIET parameter suppresses
reporting of permeability changes. Any tank permeability overrides are now
indicated by PERM REPORT, STATUS, LOAD STATUS, TC, and the "Load details"
available by right-clicking a load value in LEw.
New TANK SHEARCF Parameter
TANK (list) SHearcf:value sets the shear correction factor for the tank list.
DRAFT line and LWL Disengagement
DRAFT "draft line"= b1@l1, b2@l2 command no longer defines the ends of the LWL
unless these had previously been undefined.
LWL and LBP commands no longer clear any "draft line" set by the DRAFT command.
LWL and LBP /NOCHECK parameter was added to skip checking whether the specified
length is sufficiently close to the length overall.
Improved Heel/Trim Solving
SOLVE default method was further improved to put priority on the appropriate
heel or trim backup method directed at the greater solving discrepancy.
SOLVE METHOD:3 is now the default also for ground point and MB solving.
SOLVE noise was reduced or eliminated, particularly for MAXVCG command.
SOLVE was capable of reaching up to 20 degrees in unusual circumstances for
the next potential solution, which could miss an intervening solution if a
righting arm peak occurred within that 20 degree span; the maximum reach in
such circumstances has been reduced to 10 degrees.
Improved GM Calculation
An improvement was made in the calculation of GM particularly with rotated
inclination axis when the GM changes rapidly at very small heel perturbations.
MAXVCG Enhancements
MAXVCG /EXTERNAL when reading the external file now considers any VCG or GM
number less than -100 to be UNDEFINED, leaving a gap in the curve.
MAXVCG /COMPOSITE:UNGAP parameter was added to allow gaps in either the original
curve or the new curve to be filled in by data in the other curve. (Without
the :UNGAP subparameter gaps are preserved.)
MAXVCG heel direction uses aft/forward terminology when AXIS exceeds 45 degrees.
MAXVCG process no longer slows unnecessarily when equilibrium angles happen
to fall outside the range of the tabulated HMMT curve.
MAXVCG process was made more tolerant of short-range heeling moment variations,
thereby avoiding some "Limit Not Verifiable" errors.
RA Enhancements
RA and MAXVCG command limit evaluations are no longer prevented by out-of-bounds
trim and zero-crossing detection has been improved.
RA /LIM handling of trim capsize was improved. When trim capsize takes place,
the report and Limit evaluation is now completed with the capsized condition
showing 90 degrees of trim and zero residual righting arm.
RA /GRAPH:CLEAN parameter was added to omit horizontal and vertical guide
hairs on the righting arm graph.
RA /LIM subparameters were added to change the way that the special-case area
limit specification (interpolated limit value) is displayed. RA /LIM:COMBINE
combines the limit pair into a one-line display rather than showing them
separately. If the ATTAINED subparameter is being used, the COMBINE
subparameter must follow it. For example, RA /LIM:AT:CO (using accepted
abbreviations).
RA command was only showing flooding point heights for angles in the same
direction as heel changes (e.g. only for starboard angles if each new RA
row increases the heel towards starboard). Now this restriction only applies
if the RA /LIM parameter is present; otherwise flooding point heights are
shown for all angles.
When capsize in trim occurs during a righting-arm curve generation and limit
evaluation (RA /LIM), the flood point height may be discontinuous at the angle
of capsize. If the discontinuity brackets zero, that angle is now considered
to be the angle of downflooding. Formerly this case yielded an undefined
angle of downflooding.
TEMPLATE Enhancements
TEMPLATE /Tip:"text" parameter was added for all non-static fields. The
tool tip text appears when the mouse has been stationary within the field
for a short time. The text is automatically wrapped to the next line if too
long, but explicit line breaks can be marked using the "|" character.
TEMPLATE @"libdir\bitmap" field and SCREEN LOGO libdir\bitmap command work
the same regardless of whether libdir is a directory or a GHS library file.
TEMPLATE REMOVE field ignores the rest of the line or until a comma following
a field separator ("|,") is encountered, thus allowing conditional loading of
individual fields within a line. Commas after field separators are otherwise
ignored, so they can be freely used at the end of a template line to take the
next line as a continuation. Just as with other continued GHS commands, if
the next line is blank, continuation proceeds to the line afterwards.
TEMPLATE field /Grey:varname parameter was added to disable and grey-out the
field if the specified "varname" variable exists and is non-zero.
TEMPLATE /ENTER[:n] parameter was added for all non-button variable input
fields (i.e. VARIABLE, PART, CHECK, and RADIO). If n is 0 or absent, then
the Enter key is disabled when the field is active. Otherwise Enter pushes
the nth button following the variable field (or preceding if n<0; if no such
button exists, Enter is disabled).
TEMPLATE /ENTER parameter may now be used for button fields to mark it as the
default push button when Enter is pressed with the focus on a variable input
field (which overrides the default by using the /ENTER[:n] parameter itself).
TEMPLATE /START parameter may be used on any button or variable field to give
it startup focus. This parameter is now disassociated from Enter behavior,
except that for backwards compatibility if a button has the /START parameter
but no button has the /ENTER parameter, then the /START button is also
treated as the /ENTER button.
TEMPLATE /POS:position[:margin] subparameter was added to specify an explicit
character margin (which may be fractional) to offset the dialog box from the
main window (overriding the default margin). For example, /POS:TOPLEFT:2
places the dialog box two character positions below and right of the upperleft
corner of the window.
TEMPLATE command uses tighter spacing for adjoining rows composed of paired
image fields with explanatory text underneath each image on the next row
(regardless of any unpaired fields in either row). Because a text field
alone on a row has special treatment, append an empty text field if necessary.
If tighter spacing is not wanted in certain cases, empty text lines may be
inserted for wider spacing.
TEMPLATE images are centered if shorter than the current row height.
Section Editor (SE) Enhancements
SE "Key Edit" mode supports "+" to multiply by 10 and "-" to divide by 10
the increment moved by arrow keys (which is multiplied again by 10 when
the Ctrl key is used). There are different minimum increment factors for
each unit, corresponding to the lowest decimal place in the point display
for that unit. The lowest minimum is 0.1 mm, available by repeatedly pressing
the minus key in MM unit mode.
SE "Key Edit" mode supports diagonal movement of points and stations using
the End, Home, PgUp, and PgDn keys, in the directions indicated by their
positions on a numeric keypad with NumLock off.
SE and DISPLAY point coordinates have additional precision.
Load Editor for Windows (LEw) Enhancements
LEw display format was improved for the reverse video spreadsheet cursor and
report headers produced by clicking macro buttons.
LEw right-clicking vessel graphic view in Tanks mode now selects the clicked
tank (same as left click) and pops up information on the tank's description,
name, contents details, and load details; in other LEw modes, just the current
part name is shown.
LEw right-clicking a tank's Contents field includes a section showing its
free surface moment and allowing the tank to be frozen to solid contents
or unfrozen to liquid contents.
LEw tank Contents field always ends in "!" if the tank is frozen.
LEw macros execute with heel varying if currently in Auto Solve mode, and with
heel fixed otherwise. If such a macro changes the heel fixing state by issuing
FIX HEEL or VARY HEEL and does not restore this state before returning to LEw,
then the Auto Solve mode is changed accordingly (i.e. Auto Solve on for VARY,
off for FIX). This behavior is not effective if LEw started with heel fixed.
To actually change LEw's heel fixing state rather than its Auto Solve mode,
this can be accomplished by a macro which first fixes or varies heel then
restarts LEw using a new LOAD EDIT command with the same parameters as before.
LOAD EDIT /SCR:NORM|MAX parameter was added to start Load Editor in a normal
or maximized window; on return, the main screen is restored to its previous
state (normal, maximized, or minimized). If the main screen is minimized
when the LOAD EDIT command occurs, then /SCR:NORM is assumed by default.
LOAD EDIT /DISPlay: [WHITE|BLACK] parameter added for LEw to force graph view
background to white or black (default is the color of the GHS command area).
Any /DISPLAY subparameters such as WHITE or TRUE modifies the default graph
views (profile and plan including sails) unless PLAN or PROFILE is present.
TCP/IP network USB and parallel security
TCP/IP network security is now available using either USB or parallel port
dongles. This new security method does not require NetBios to be enabled.
It also provides support for fast access across a large network by specifying
the dongle server's IP address or network name during installation.
New System Variables
DRLOC8 real system variable was added to SET a location (default=0) at which
draft value is to be returned by the new DRVALU real system variable.
SCRTOP and SCRBOT real system variables were added to return 1 if the display
area is at the top or bottom of its scrollable collection, default 0 if not.
These variables are useful in conjunction with the TEMPLATE /GREY field.
TLENGTH and TBREADTH real system variables were added to return the length
and breadth of the current tank selection.
TFSMMT and TFSMMT1 real system variables were added to return the true and
formal free surface moment of all selected tanks.
======= Minor New Features =======
ADD "LIGHT SHIP" *, l, t, v now allows explicitly setting the CG of LIGHT SHIP
without knowing or altering the magnitude of its weight (any of l, t, v may be
a number or an asterisk; if an asterisk, the existing value is not altered).
Formerly this form of the ADD command worked for all items other than LIGHT
SHIP; now it works for LIGHT SHIP also.
CLEAR [PROJECT] and PROJECT commands set the ERROR system variable to zero.
COPY file1 file2 command allows file2 to be a directory specification to copy
file1 into that directory. Likewise DIR specification may be a directory.
DISPLAY STATUS /SPAWN now adjoins the CG window to the side of the main window
similarly to the /SYNC parameter, except that subsequent /SPAWN instances
offset a notch from pre-existing CG windows.
DISPLAY STATUS /QUIT closes all active CG windows, not just synchronized ones.
DISPLAY STATUS Condition Graphics window is now invisible if a report file
is open.
HMMT REPORT now interprets the sense of heel angles and heeling moments
according to the AXIS setting. (Formerly it always showed P and S to
indicate negative and positive directions.)
IF [NOT] EOL THEN ... condition was added to test whether end of line or
READ DATA mode is not active.
LS /FRA report includes a frame description column unless deflection is shown.
(If SMOD stress is shown, then the frame description may be abbreviated.)
LS and TORQUE commands with both /NOPRINT and /FRAME parameters recognize
the $LOC suffix. If variables exist whose names begin with a valid frame
name (from the .FRA file) and end with the $LOC suffix, these variables
receive the frame location in the current units.
MESSAGE (REPORT) "filespec" now uses case-sensitive long file names.
MESSAGE "command always displays command line verbatim, with no capitalization,
no splitting into multiple commands after "|", no trimming comments after "`",
no continued line input if commandline ends with "," or ";", and no special
treatment of the "ELSE" keyword if inside an IF condition statement.
REPORT fancy formatting cell errors pop up a message box for the first error
encountered, but are otherwise non-fatal.
RUN /QUIET parameter is assumed for wizard run files with ".WIZ*" extension.
RUN /DIR includes "*.WIZ*" files in its run file listing.
SET STR operator was added to take everything remaining on the line as a
string, cleaning up anything that would be incompatible with commands where
a string parameter is used. In particular, quote marks (") are translated to
apostrophes (').
SET QUOTE operator was added to take everything remaining on the line quoted
verbatim, including quote marks ("). This function is useful for storing an
entire command including quotes into a string variable for later execution.
SET LEFT, RIGHT, and SLICE operators can now be combined in the same command
(e.g. SET CHAR=RIGHT 1 LEFT 3 "ABCDEFG" to set variable CHAR to "C").
SET command no longer truncates strings longer than 256 characters.
GHS32 starts minimized if driven by a run file whose first command is SCREEN
(allowing startup in SCR MIN or SCR MAX mode without a screen flash).
GHS32 now omits the key menu footer by default (to see these key assignment
labels, enter KEY SHOW or toggle the View -> Key footer menu selection).
The main screen is automatically revealed if minimized when reporting an error
without a pop-up dialog box or if waiting for user input with no visual clue.
Pressing the Esc key (or any "Exit" button) is now equivalent to pressing
the spacebar whenever waiting with the "Press to continue" button message,
except when the Esc key is pressed twice within a half-second or the screen
has been filled with lines of text with more to come, in which case remaining
command output is aborted (this exception covers multi-section TC, COMP/FORM,
and COMP/SECT screen output).
GHS32 border appearance was improved for Windows XP themed color schemes.
Retrieval of string variables containing quote marks (") is now handled
transparently even when the variable in braces is itself enclosed in quotes
(e.g. "{var1}"). Literal quote marks may be stored in a variable either by
surrounding everything in quotes and doubling each internal quote mark (e.g.
SET X="""text""") or by using the QUOTE function (e.g. SET X=QUOTE "text").
The backwards apostrophe character (`) can now be handled by enclosing it in
quotes or by using the SET STR and QUOTE operators.
======= Bug Fixes =======
CONTENTS description density was ignoring any API[60] or DEN[15] suffix in
the density parameter if API or DEN appeared in the description parameter.
DISPLAY STATUS Condition Graphics window was not releasing all its process
resources if terminated by clicking the title bar close button.
DISPLAY STATUS was failing when run from the 10th or higher instance of GHS.
DISPLAY STATUS in a boxed report misformatted the timestamp on the title line
by including an apostrophe.
DISPLAY STATUS synchronization was being terminated by READ /APPEND.
DISPLAY STATUS Condition Graphics header was not showing the draft correctly
if the DRAFT command had defined a draft line.
DISPLAY STATUS body views with flooded tanks was sometimes bleeding across
tank boundaries.
Error possibilities for "Invalid location" were fixed in several places.
Frozen tanks were not working reliably when any damaged, bubble, spilling or
WDF tanks were present (since 7.54 only).
GHS and TC fancy reports were trapping "Not enough cells on line" for
multi-page tables that included drafts in foot and inches format.
GHSCOM module was running slowly for certain commands such as reports that
produce screen output in GHS (since 9.30 only).
HELP was not including the MC command among the command list.
Help menu was not listing new topics GHSCOM, LEWOP, and LOADLEW (though
they were available from the right-click menu within GHSHELP.EXE).
IF condition THEN [...ELSE] ME "str1"str2"str3 was capitalizing str2.
IMPORT, EXPORT, and FILL commands were failing for quoted file specifications
containing spaces.
LOAD EDIT /BUTTON was at risk for an "Invalid location" run-time error.
LEw Solve button was temporarily disabled after returning from a macro which
did a SOLVE with fixed heel (which is the default when Auto solving is off).
LEw was not always redisplaying tool buttons and extra Crane/Hmmt boxes
properly when reconfigured by a macro executing a nested LOAD EDIT command.
LEw reports were garbling some special characters, which now appearing with
meaningful substitutes (such as "RAH" for "RA" followed by Greek letter "phi").
LEw LIMIT REPORT was misformatting the reverse video on its header line.
LEw reports in WAIT AUTO mode were dropping lines and neglecting the bar
header line if certain SCREEN commands (e.g. SCR H) were issued within LEw.
LEw was trapping "Real overflow" run-time error when right-clicking the load
for a tank eligible to be damaged because its boundaries contain its reference
point (since 8.60 only).
LS and TORQUE /THIN parameter is now effective.
LS and TORQUE commands ignore property table information rather than risk
trapping "DISCREPANCY" errors if any tanks are TYPE CALIBRATED.
LOAD STATUS /FORMAT:2 report was improved to prevent overflow on total lines
and avoid confusion among fancy report columns.
LOAD STATUS fancy printing was failing for very long tank names.
MAXVCG /BOTHDIR parameter was not reversing the HMMT direction and therefore
was not getting a realistic assessment of stability while heeling to port
(when heeling moments were present).
MAXVCG added score line after limits, preventing spurious "continued" message
when previewing report while still open.
MAXVCG was sometimes incorrectly reporting the GM limit margin as UNDEF.
MAXVCG and RA attained flood height limits were reported in the wrong units.
MB /WTOL and /HTOL tolerances were not being properly observed on secondary
vessels, particularly those supported by ground reactions.
MB was not solving correctly for downwardly directed interaction ground forces.
MB fixed a risk to hang in one session when another is aborted.
MESSAGE "string1"string2"string3 was capitalizing string2.
Mouse clicking and selection was not reliable for multi-monitor systems
where the primary monitor was not leftmost.
Maximizing the window on multi-monitor systems was not working properly.
PERM REPORT title was only appearing on the screen, not in the report.
PERM REPORT was adjusted for "Flooded" column to appear only if needed.
PRINT plot progress lines were triggering spurious "Press to continue" waits.
PRINT no longer traps "Degenerate mapping" for plots where all X values or
all Y values are identical, instead formatting a unit margin around them.
PRINT graphic resolution for footer bitmap images on monochrome printers was
sometimes fluctuating between pages following Condition Graphics output.
PRINT done simultaneously by multiple GHS instances with the same current
directory was not necessarily producing distinct printouts or previews.
PRINT fixed a rare program hang condition for certain Condition Graphics output.
PRINT was trapping "Expression out of bounds" run-time error if the footer
text contained more lines than fits on a page. PRINT CONFIGURE /FOOT:txtfile
now restricts footer text to a maximum of 12 lines.
RA /LIM was not calculating EQUIL limit margin correctly when an improved
equilibrium angle immediately follows a barely acceptable equilibrium angle.
RA was sometimes identifying the EQU "first intercept" location as also being
the RA0 "second intercept".
RA was occasionally failing to report its best interpolated EQU location,
instead just reporting the listed angles around it.
RA report was made 1/4 inch wider to appear more centered on the page.
RA no longer traps "ANGLES given do not include equilibrium" in rare spurious
cases when the righting arm value was extremely close to zero.
READ FILE1, FILE2 was failing to check FILE2.GF for any "Duplicate part name"
(since 8.68A only).
READ was not clearing property tables from previous reads (since 8.64 only).
REPORT is no longer delaying to trap "File inaccessible" if already open.
REPORT page completely filled before a plot page no longer causes an unnecessary
blank page and "continued next page" notification to appear in between.
REPORT fancy printing was improved in the following areas: narrow tables no
longer spread horizontally across the entire print page; much better column
colors are used for several reports (RA in particular); RA was ending with
spurious "continued next page" message after Critical Points table; several
reports were ending with a spurious blank line and missing box bottom; GROUND
report was not being properly centered; LS and TORQUE reports were misaligning
numbers marked with an asterisk; LS /LIM, LS /PER, and TORQUE /LIM were not
spotlighting limit overruns (requires updated RGDEF.DAT and RGSTYLE.DAT).
REPORT fancy printing was sometimes failing after a page ending in a NOTE.
REPORT fancy LS printing was failing for FRAME names over 11 characters or
containing numbers.
REPORT fancy printing was failing LOAD STATUS /NOHEAD.
REPORT fancy printing was misformatting lines inserted directly into a report
by alternate means such as using the VIEW command with a report open.
REPORT fancy printing was improved for COMPONENT /SECTIONS /DEPTH,
STATUS SUMMARY, and DRAFT location report.
REPORT fancy MAXVCG printing was failing for errors such as unverifiable limit.
REPORT fancy printing was failing to center subtitles and trapping "Not enough
cells on line" if the subtitle enclosed consecutive spaces.
REPORT fancy formatting was sometimes inappropriately centering NOTEs appearing
in lined-up tables and failing to give special treatment to initial tags ending
with a colon.
REPORT fancy printing no longer counts omitted separator lines against the page
maximum, thereby allowing more lines per page than for regular reports.
REPORT fancy printing was trapping on a continued table footer starting a
new page.
REPORT fancy formatting no longer suffers compounded problems if ever errors
are detected and output during report generation.
REPORT fancy formatting was improved for MAXVCG quick summary display.
REPORT fancy formatting was always centering SUBTITLE lines, instead of only
centering ones ending in "\".
REPORT fancy printing was sometimes trapping "Not enough cells on line" in
cases such as long STATUS report part names that end in numbers.
REPORT fancy RA printing was trapping "Not enough cells on line" if no spaces
were separating fields in the Min/Max and Attained columns of the Stability
Criterion section.
ROLL IMO was using an incorrect WG (height of CG above waterplane) parameter
in some cases. With zero trim or when the origin location was near the LCG
the error was small. It became more significant at large trim angles and when
the origin location was at the end of the vessel.
RUN, DIR, and TEMPLATE commands were not working for file specifications
containing multiple periods (which are discouraged in any case).
SE control arrow keys in "Key Edit" mode were failing to move points or
stations in larger increments than the corresponding non-control arrow keys
(since around version 8.00 only).
SHELL OPEN "document" preserves the case of the document string being opened
(which can be useful for URLs and mailto e-mail addresses).
SOLVE was occasionally capsizing due to a bug that sidetracked the search for
an improved solution when a weak solution had already been found.
SOLVE default method was not exercising its backup trim solving capability
when the heel is fixed (as happens internally in commands like MAXVCG).
SOLVE /METHOD:1 and /METHOD:2 were sometimes ending up capsized due to improper
recovery from a temporarily-capsized intermediate result.
TC /SOUND was not showing the appropriate sounding values and units unless the
load list was prefixed by "SOUNDING:" or "ULLAGE:".
TEMPLATE @"filespec" DIR and FILE fields were mistakenly displaying "filespec"
on a button face in the directory or file selection dialog.
TEMPLATE box fields were not being sized properly if a BREAK appears within
the box or if the box's label is wider than its contents.
TEMPLATE check boxes and radio boxes were not being aligned properly if
any variables or push buttons appeared on the same row.
TEMPLATE execution using the /PERSIST parameter was not cleaning out the stack
of all active macros and templates before executing any ESC macro when the
system variable ERROR=0. Now error handling is uniform regardless of whether
the /PERSIST parameter is present.
TEMPLATE RADIO button fields appearing at the top of a template were not
working properly.
TEMPLATE drop-down list controls were failing to have the correct default
item select at startup if the variable was the single character "A", "F", "P",
or "S" (i.e. the vessel direction suffixes).
TEMPLATE lines starting with "" as a placeholder but continuing with further
fields were displaying in the line's first field area (since 9.20C only).
TORQUE plot was having excessive scale when all table values were zero.
VARIABLE and WRITE commands were failing to properly save and restore
variables containing quote marks.
WRITE command was not properly saving REPORT file names containg spaces.
WRITE command was not saving TYPE CALIBRATED information.
Previous Version Update Features
Copyright (C) 2008
Creative Systems, Inc.