ordering newly found systems suggestions please

Freeform discussion about anything related to modding Transcendence.
Post Reply
Militia Captain
Militia Captain
Posts: 846
Joined: Tue Nov 05, 2013 9:56 am

Mon Apr 08, 2019 5:43 am

The Captain's Log mod showed information for systems and stations in the system.
It did this by having a list of nodeIDs which showed info screens for the selected nodeID in the order of the list. Information on stations and their items, etc, was stored for each system so it could be accessed when not in that system
Game versions when the mod was written had Eridani as the only known system at game start. As another system was set known it was added to the node list.
This list could have the order of the nodeIDs changed by the mod so the systems appeared in the sequence desired by the player. This feature wasn't really important in SOTP which is fairly linear but in large mods like The Network where the topology branches all over the place it was very useful.

I want to add this feature to the Commander's Log mod and am looking for ideas on how to do it.
Using the same method as Captain's Log is tricky. At game start in current game versions there are 7 systems already known, SE, BA, SK, CD, C9, PJ, and A7. So adding C1 to the node list when the player finds the stargate in Eridani would result in it being listed after Dantalion (A7). Although this entry will be able to be moved in the list by the player it would be better if it was added after SE and before BA. Similarly C3 would best be placed after C1 and before BA, etc.

Possibly the newly discovered nodeID could be compared to a full list of all nodes in the topology from (sysGetNodes). Its position in the list of all nodes could be used somehow to place it in the known node list.
Or the positions of the currently known nodes could be checked against the full list and the new node placed between the next lowest and next highest position of known nodes.
Has anyone got any ideas about how to do this?
Possibly sorting nodes by topology distance from either SE or G2 might help. Or by level. Or by system attributes.

All info stored by the mod is under nodeID lists or keys so accessing the information isn't a problem, just how to show the systems in the most convenient way for the player.

I think there is the additional complication of the topology expanding during a game. I've seen comments about this being possible now but don't know how it works.

Stupid code. Do what I want, not what I typed in!

Militia Captain
Militia Captain
Posts: 561
Joined: Tue Mar 05, 2013 8:26 am

Mon Apr 08, 2019 8:30 am

Maybe just always generate the list of known systems with (filter (sysGetNodes) node (sysIsKnown node)) ?

With a bunch of non-contiguous systems known, allowing manual reordering and deciding how to maintain the order as you discover systems seems like more trouble than it's worth. I guess you could sort them by 'lastVisited property or keep track of when they were first visited and use that, but it's not clear that's more convenient, especially if you jump around and visit them in a weird order.

Post Reply