.newContentHi EQUB HI(HookSectionFrom) EQUB HI(HookFirstSegment) EQUB HI(HookSegmentVector) EQUB HI(HookSegmentVector) EQUB HI(HookDataPointers) EQUB HI(HookUpdateHorizon) EQUB HI(HookFieldOfView) EQUB HI(HookFixHorizon) EQUB HI(HookJoystick) EQUB HI(xTrackSignVector) EQUB HI(yTrackSignVector) EQUB HI(zTrackSignVector) EQUB HI(trackSteering) EQUB HI(trackSignData) EQUB HI(trackSignData) EQUB HI(HookFlattenHills) EQUB HI(HookMoveBack) EQUB HI(HookFlipAbsolute) EQUB HI(Hook80Percent) EQUB &59 \ This byte pads the block out to exactly 20 bytesName: newContentHi [Show more] Type: Variable Category: Extra tracks Summary: High byte of the two-byte address that we want to poke into the main game code at the modify locationContext: See this variable in context in the source code References: This variable is used as follows: * ModifyGameCode (Part 1 of 3) uses newContentHi
This is also where the zTrackSegmentI table is built, once the modifications have been done. The block is padded out to be exactly 20 bytes long, so along with the newContentLo block, there's one byte for each inner segment z-coordinate.
[X]
Subroutine Hook80Percent (category: Extra tracks)
Set the horizonTrackWidth to 80% of the width of the track on the horizon
[X]
Subroutine HookDataPointers (category: Extra tracks)
If the current section is dynamically generated, update the data pointers
[X]
Subroutine HookFieldOfView (category: Extra tracks)
When populating the verge buffer in GetSegmentAngles, don't give up so easily when we get segments outside the field of view
[X]
Subroutine HookFirstSegment (category: Extra tracks)
Move to the next to the next segment vector along the track and calculate the segment vector
[X]
Subroutine HookFixHorizon (category: Extra tracks)
Apply the horizon line in A instead of horizonLine
[X]
Subroutine HookFlattenHills (category: Extra tracks)
Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height
[X]
Subroutine HookFlipAbsolute (category: Extra tracks)
Set the sign of A according to the direction we are facing along the track
[X]
Subroutine HookJoystick (Part 1 of 2) (category: Extra tracks)
Apply enhanced joystick steering to specific track sections
[X]
Subroutine HookMoveBack (category: Extra tracks)
Only move the player backwards if the player has not yet driven past the segment
[X]
Subroutine HookSectionFrom (category: Extra tracks)
Initialise and calculate the current segment vector
[X]
Subroutine HookSegmentVector (category: Extra tracks)
If the current section is dynamically generated, move to the next segment vector, calculate it and store it
[X]
Subroutine HookUpdateHorizon (category: Extra tracks)
Only update the horizon if we have found fewer than 12 visible segments
[X]
Variable trackSignData (category: Track data)
Base coordinates and object types for 16 road signs
[X]
Variable trackSteering (category: Extra tracks)
The optimum steering for non-player drivers on each track section
[X]
Variable xTrackSignVector (category: Extra tracks)
The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign
[X]
Variable yTrackSignVector (category: Extra tracks)
The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign
[X]
Variable zTrackSignVector (category: Extra tracks)
The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign