Skip to content

lane connector should hide tracks that are not connected #734

@kianzarrin

Description

@kianzarrin

Depends on #782

image

Setting max turn angle is one way of disconnecting sharp tracks. But it limited to disconnecting by angles. More customizable way of doing this is using lane connector.

To do this we need to patch NetNode.RenderNode() NetNode.PupulateGroupData() and NetNode.CalculateGroupData() . specially around the check flags code.

Use the same version of Harmony as Hide TMPE crosswalks and NS2 to be compatible with those mods. (boformer told me NS2 is buggy and different versions of NS2 don't work with each other :( )

EDIT:

Tasks:

  • Create a small test mod for fast testing.
  • Write code to check if two tracks should draw connect texture/mesh ShouldDrawConnectTexture().
  • import TranspilerUtil code from RM Crosswalks Mod
  • Insert ShouldDrawConnectTexture() in every place where there is a check for direct connect inside NetNode.RenderNode() to support close camera.
  • Test/Debug
  • Optimise: create array/cache to store whether tracks are connected so that it does not have to recalculate every frame.
  • harmony: Fix harmony compatibility with NS2. (I think its NS2 that needs to change it harmony)

PLAN: see #734 (comment)

This task needs to be divided into several steps:

  1. exclude unconnected direct train connections one a per segment basis
  2. exclude unconnected direct train connections one a per direction basis
  3. support lod (die hards can use ULOD mod can be used until this is supported). PS: lane connector should post UpdateNode()
  4. exclude unconnected direct train connections on a per lane basis for custom assets that have more than one pair of tracks.

Metadata

Metadata

Assignees

Labels

DependentThis issue is blocked by another issue.EPICCollation of related issuesLANE ROUTINGFeature: Lane arrows / connectorsfeatureA new distinct featurein-progressThe problem is being solved currently

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions