1. Unzip scninj.zip into a temporary directory. You should have been emailed details of where to find the password to unzip the file.
2. Run the setup.exe program you have just unzipped. This will read the SceneryInjector.cab file and install files on to your computer. The file apigid32.dll will be installed into your windows\system directory, and prompt you for a directory to install the sceneryinjector.exe file. Setup also creates an entry in your start|programs list.
This program saves information in your system registry.
There is no uninstall program.
Start the programs in the following order. If you do not start in this order errors will occur.
Computer A
1. Start FS98
2. Put FS98 into slew mode by typing Y
2a Ensure that joystick (if fitted) is disabled by typing K
3. Start SceneryInjector. The injector should give a status message about listening on port 0x747.
3a Use the options menu to configure the SceneryInjector with the correct version of PS1 and FS.
Computer B
4. Start PS1IPCFS
5. Start IPC32HSI using the command line "IPC32HSI 111.222.333.444" where 111.222.333.444 is the IP address of computer A. The SceneryInjector should give a status message to indicate that the connection was successful.
6. Start PS1 and enable PS1IPCFS using F11 and ctrl-F12 in the usual way.
The pitch and roll data extracted from PS1 is to the nearest degree. For example, this means that your aeroplane is either pitched up at 1 degree or 2 degrees, never 1.5 degrees. This causes some jumping of the display which can be very noticeable especially when on final approach. In order to smooth the display, and get better frame rates, the SceneryInjector attempts to figure out your rate of turn, rate of roll etc, and set FS accordingly. When this works it looks good, when it goes wrong the aeroplane jumps back to it's correct position at the next full update.
Don't expect 18 frames per second! The data is captured from PS1 at just over 18 times a second, and you should see the received data counter increasing at that rate. But the data is only inserted in to FS when FS is ready, and on my machine I've not seen faster that 8 times a second. I am interested in reports from users with fast computers (e.g. 600Mhz and fancy graphics cards). You can adjust the timers used to insert data into FS on the Options/Preferences page.
The PS1 scenery and FS scenery are not aligned perfectly. This means that when you position yourself in PS1 at Heathrow on RW27L, the visual generated by FS will almost certainly NOT be where you expect! There are several reasons for this, the world models, coordinate systems and accuracies used all play a part. Each FS scenery will have different effects even for the same area!
In practice, the discrepancies tend to be a around a couple of hundred meters, not really relevant when you are at FL350 but very nasty when you are on short final. In order to make it look like you are landing on the runway, I added a facility to adjust positions! I just didn't like landing on the grass at Heathrow.
A file called OFFSET.TXT should be placed in the same directory as the SceneryInjector. A sample is included below and should be in the distribution copy. You will almost certainly need to create your own file for the FS scenery that you have installed on your machine.
; OFFSET.TXT, \SceneryInjector, JPC, 08/01/2000 ; Scenery Injector Position Offset File - Sample ; Copyright (c) John Cavanagh 2000 ; ; Description: ; The format of this file is: ; PS1Lat,PS1Lon,FSLat,FSLon,Radius ; where: ; PS1Lat, FSLat are in the form Nddmm.mm (N or S) ; PS1Lon, FSLon are in the form Wdddmm.mm (W or E) ; Radius is measured in nautical miles N5127.95W00025.84,N5127.85W00025.93,10 ; EGLL/27L N5128.65W00025.73,N5128.62W00025.89,10 ; EGLL/27R
As an example, each line in the offset file says, "When you are within Radius miles of PS1Lat, PS1Lon, move the displayed position in FS to FSLat, FSLon". If you are in range of more than one PS1Lat,PS1Lon pair, the closest is used. This allows each runway end to be accurately positioned. In the sample file above, both parallel runways are specified. Should you start your approach to 27L from the north the SceneryInjector will most likely initially work off 27R's offset, but this will change to 27L once the threshold of 27L is closer to you.
Setting an radius of more than 1/4 of the earth's circumference will cause unpredictable results.
1. Set the position in PS1 using the "New Position/Time" menu, for example EGLL27L. Exit the PS1 "New Position/Time" menu and continue the flight in PS1 (this step is important) so you can actually see the runway in the PS1 outside view.
2. Wait a few seconds for FS to jump to the new position and settle down (this can take up to 5 seconds). Note the position that FS now believes itself to be - this should be in red at the top of the page, if it isn't then hit Shift-Z a couple of times. This position is the PS1Lat, PS1Lon position.
3. Turn off position updating from PS1 but calling up the PS1IPCFS program (hit F11) and then typing Control-F12. You will see that the SceneryInjector received packet counters stop increasing.
4. Use the arrow keys in FS to position your view point at the correct place on the runway. Note the position, which is your FSLat, FSLon position.
5. Type these positions in to the Offset.TXT file, and add a radius, say 10 miles.
6. Repeat for all the airports you use!
Note: The SceneryInjector only reads the Offset.TXT file once when it starts up. If you modify the Offset.TXT file you will need to restart SceneryInjector.
The current offset being used is displayed by the SceneryInjector. Should you wish to disable scenery offset adjustment, use the Options menu.
Lots of testing is required. A PS1.3 version is currently being tested and will be available soon. Any suggestions you have are very welcome.
Please fly around and let me know what problems you encounter. One of the biggest problems is the runway alignment between PS1 and FS98 sceneries. Sometimes the alignment is good, and others it is very bad.