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)