Deciphering the actors.static/Part IV: Taxi ways
#1

Reading the taxi ways starts after reading the bridges, runway points and buildings. There are three types of ways: The firsts are straight on the runway, the seconds are the taxi ways from the runways to the parking areas and the last the ways from the taxi ways to the parking points. To store them all the actors tool uses the outChiefsRoad.txt. To define the different ways the outChiefs.txt is used, whereas "Chief Armor.1-BT7" is a runway way, "Chief Vehicles.GAZ67" is a taxi way and "Chief Vehicles.WillisMB_US" is a parking way. This is not mandatory, of course. The actors tool uses up to 4 decimals for the positions and seems to round up or down sometimes, i don't think that matters. As usual the actors tool adds some constants, and because reading the taxi ways is a little bit confusing i add what the actors tool is writing to its files after reading the values for better comparison. As mentioned in Part I you can read the floats as proper floats directly from memory after reading them as integers and changing them to Small Endians, if you are using them:

;Reading runway ways
chiefs = 0
i1 = readinteger
;writing "[Chiefs]" to the outChiefs.txt

For i2 = 0 To i1 - 1
;writing Str(i2) + "_Chief Armor.1-BT7 1" to the outChiefs.txt
Next

For i3 = 0 To i1 - 1
i4 = readinteger
;writing"[" + Str(chiefs) + "_Chief_Road]" to the outChiefsRoad.txt
chiefs = chiefs + 1
For i5 = 0 To i4-1
f1.f = readfloat
f2.f = readfloat
If i5 < i4-1
;writing f1 and f2 and this "120.00 0 2 2.361111..." stuff to the outChiefsRoad.txt
Else
;writing f1 and f2 and "120.00" to the outChiefsRoad.txt
EndIf
Next
Next

;Reading taxi ways
i1 = readinteger
For i2 = 0 To i1 - 1
;writing " " + Str(i2 + chiefs) + "_Chief Vehicles.GAZ67 1" to the outChiefs.txt
Next

For i3 = 0 To i1 -1
i4 = readinteger
;writing "[" + Str(chiefs) + "_Chief_Road]" to the outChiefsRoad.txt
chiefs = chiefs + 1
For i5 = 0 To i4 - 1
f1.f = readfloat
f2.f = readfloat
If i5 < i4-1
;writing f1 and f2 and this "120.00 0 2 2.361111..." stuff to the outChiefsRoad.txt
Else
;writing f1 and f2 and "120.00" to the outChiefsRoad.txt
EndIf
Next
next

;Reading parking ways
i1 = readinteger
For i2 = 0 To i1 - 1
;writing " " + Str(i2 + chiefs) + "_Chief Vehicles.WillisMB_US 1" to the outChiefs.txt
Next

For i3 = 0 To i1 - 1
i4 = readinteger
writing "[" + Str(chiefs) + "_Chief_Road]" to the outChiefsRoad.txt
chiefs = chiefs + 1
For i5 = 0 To i4 - 1
f1.f = readfloat
f2.f = readfloat
If i5 < i4-1
;writing f1 and f2 and this "120.00 0 2 2.361111..." stuff to the outChiefsRoad.txt
Else
;writing f1 and f2 and "120.00" to the outChiefsRoad.txt
EndIf
Next
Next

That's it with the taxi ways and the actors.static so far. Till now i never tried to rewrite a actors.static, so i don't know how difficult it might be to revert the process for doing that.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)