UFO.HST File Format

UFO.HST File Format

I have added some things for 3rd party programmers that I have no plans of using myself.

The first thing is two "Shells" in HOST.EXE. I have 270K for lower memory free when host 3.20 shells.

The first shell takes place after all the player commands are assimilated into the host and all cheat checks are done.

HOST will shell out to a program named AUXHOST1.EXE and pass the current HSTdata path to it, ie: AUXHOST1.EXE game1\

HOST will also shell out to a batch file named AUXHOST1.BAT and pass the current HST data path to it, ie: AUXHOST1.BAT game1\

All data will be saved before the shell and all data will be reloaded after the shell. All files will be closed before the shell.

Any changes to the HST files and SHIPXY.HST will be used by the host after it resumes.

The second shell will take place just before the RST files are made (after all normal host commands are finished). This second shell will be to a program called AUXHOST2.EXE.

It will also shell out to a second batch file at this point. This second shell will be to a batch file called AUXHOST2.BAT.

Host will only try to shell if these programs or batch files exist.

The Windows version of host 3.20 (WHOST.EXE) will shell out to AXWHOST1.EXE and AXWHOST2.EXE. WHOST.EXE will not continue running until AXWHOST1.EXE has completed its run. WHOST.EXE will also pass the complete game data path to the AXWHOST1.EXE as a command line.

AXWHOST1.EXE c:\plan1\univ1\

AXWHOST2.EXE c:\plan1\univ1\

Version 3.20 Programs

DOS Windows

----------------------------------

HOST.EXE WHOST.EXE

AUXHOST1.EXE AXWHOST1.EXE

AUXHOST2.EXE AXWHOST2.EXE

AUXHOST1.BAT AXWHOST1.BAT

AUXHOST2.BAT AXWHOST2.BAT

----------------------------------

The other thing added is the ability for 3rd party programmers to add objects to the Version 3.5 for Windows starcharts.

'This is its MS-Basic Type format:

'size = 78

Type UFOTYPE

marker As Integer

nm As String * 20

info1 As String * 20

info2 As String * 20

x As Integer

Y As Integer

warp As Integer

heading As Integer

rangeP As Integer

rangeS As Integer

edge As Integer

parent as Integer

End Type

The name of the file will be UFO.HST and it will be in the normal HST game universe file area.

The file will be made up of 100 records of UFOTYPE in order from 1 to 100.

first byte of each record = (UFONUMBER - 1) * 78 + 1

If UFO.HST is found then it will pass the info to the version 3.5 player's starchart.

marker as integer '0 = no object, 1 to 15 = color of

'object on starmap

'( color = QBColor(ufo.marker) )

'( Quick Basic color format )

'The object will show up as a X

'with a square around it

nm as string * 20 'The name of the object

'this will be shown on the starmap

'at high ZOOM levels

info1 as string * 20 'extra info that the starmap

'will show if object is selected

info2 as string * 20 'ditto

X as integer '( X , Y ) coordinates

Y as integer

warp As Integer 'the warp speed of the object

'ranges from 0 to 15

heading As Integer 'heading in degrees

'0 = UP

'90 = Right

'180 = Down

'270 = Left

rangeP As Integer 'Range that a planet that you own can

'see the object

rangeS As Integer 'Range that a ship see the object

edge As Integer 'The outer edge of the object

'ranges from 0 to 5000 light years

'The edge will be plotted as a colored

'circle on the Version 3.5 starchart

'color of circle = marker color

'The radius of the circle equals edge

parent as Integer 'the ID number of the parent program

'this is to tell all programs who owns

'this UFO record

This feature will only turn on if a UFO.HST is found in the HST data directory.

If you are programming an add on for host and will be using the UFO.HST you can request to have a range of ID numbers assigned to you. You will need at least one ID number for each program that you write. Please have your program check the UFO record to see if the record is in use by another program, before writing new data. Please uses only your assigned parent ID numbers.

Assigned Parent ID numbers:

101 to 150 Dan Gale

151 to 200 Jan Peter Dijkstra

201 to 250 Sean Martens

300 to 310 Norman Violet

311 to 350 Scott Zissell

------------------------------------------------------

Tim

Cocomax@aol.com (Tim Wisseman)

Content Previous Next