After A Bit Of Technical Route Building Advice

Discussion in 'General Discussion' started by OldVern, Jan 30, 2023.

  1. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Trying to get my reworked Sulitjelma route ready for Steam Workshop and tearing my hair out over this.

    The validation keeps displaying:
    Route uses unrecognised blueprint set: Developer\AddOn
    Route uses unrecognised blueprint set: DerekSiddle\RailSimulator

    I have already been into the routeproperties.xml and manually edited out both entries. The first appears to be an error of some kind, the second was the now defunct Kuju foliage pack which then got uploaded to UKTS and never officially adopted. RW Tools used to delete/replace any occurrence of these assets on the route.
    No provider boxes ticked that shouldn't be.

    So why is Steam Workshop still detecting the two above blueprints? What other file(s) do I need to manually change to fix this?

    Any help much appreciated, thanks.
     
  2. atomicdanny

    atomicdanny Staff Member

    Joined:
    Mar 14, 2017
    Messages:
    391
    Likes Received:
    353
    I think basically there is a stray file somewhere that uses that, so you basically have to look through the entire route to find it sadly. (could be something RWTools missed, personally i'd copy the folder, and then use serze master to do everything (in the copy) - use notepad ++ to search for "DerekSiddle" and find the files that mention it (same for Developer or Addon). They at least you can see where it's mentioned :)

    (I have this with my routes and where i removed the modellers station pack - there were still references to it )

    This is actually on steam somewhere?
    upload_2023-1-30_11-30-27.png
     

    Attached Files:

    Last edited: Jan 30, 2023
  3. torfmeister

    torfmeister Guest

    I'm using MassSearchAndReplaceTool to quickly find asset occurances. Just select your route's folder, and do a recursive search for the two strings. In a matter of seconds it displays the list of files. You do not even have to unserz the bins for this to work! (when searching only) There is no encryption or compression - bins are just tokenised, preserving original data strings.

    I suppose you mean "RSderek" not "DerekSiddle".

    I've searched your original route and got these results

    Search for "developer"
    1.png

    Search for "derek"
    2.png
    3.png
     
    Last edited by a moderator: Jan 30, 2023
  4. atomicdanny

    atomicdanny Staff Member

    Joined:
    Mar 14, 2017
    Messages:
    391
    Likes Received:
    353
    "You do not even have to unserz the bins for this to work!"

    I only do that for mass replacing folders of assets (rather than individual items :) )

    I was unaware of such a tool (don't suppose you could point me in that direction - It's something that could really help me :) )
    Anyway - I mentioned "Dereksiddle" because of the first post :) "Route uses unrecognised blueprint set: DerekSiddle\RailSimulator"

    I guess derek released some assets long ago when RailSimulator was still a thing or the early days of Railworks :) (so had that folder)
     
    • Like Like x 1
  5. torfmeister

    torfmeister Guest

    I think Dereks' asset folder has always been "RSderek". I do not find an occurance of "siddle" in the route's files :)

    https://www.4dots-software.com/multiple-search-replace/
     
    Last edited by a moderator: Jan 30, 2023
    • Like Like x 1
  6. atomicdanny

    atomicdanny Staff Member

    Joined:
    Mar 14, 2017
    Messages:
    391
    Likes Received:
    353
    He has used that one too :) (I mean if workshop is saying the folder is not recognised - it must have existed ;) )
     
  7. torfmeister

    torfmeister Guest

    But OldVern's route has no reference to "DerekSiddle" (at least the original UKTS version that I've got) - that's what made me think it was a typo.

    Workshop gives warning because "RSderek\RailSimulator" is invalid - "RSderek\WearValleyRailway" would be ok.
    The RSderek\RailSimulator folder is content not published on Steam.
     
    Last edited by a moderator: Jan 30, 2023
  8. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    I think "DerekSiddle" was the original foliage pack with three gorse bushes, the hogweed and foxglove.
    Correct that Wear Valley is now RSDerek.

    I'll digest the above and see if I can identify what's flagging the error.
     
    • Like Like x 1
  9. torfmeister

    torfmeister Guest

    Righto :)
     
    Last edited by a moderator: Jan 30, 2023
  10. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Curious... The Search & Replace does indeed identify the bin files as containing "Derek", but when I open in RW Tools, the Find function can't locate the entry.
     
  11. torfmeister

    torfmeister Guest

    What I'd do now is unserz the bins it found, and manually remove the asset references with Notepad++.

    Might really be some sticky stuff that TS editor can't remove - G-Trax had these issues when backdating Stevens Pass to GN Cascadian iirc, so TSTools reports missing assets that aren't used.

    If you need assistance, upload the zipped route folder to workupload.com and send me a PM with the link. I'll do the cleanup.

    :D
     
    Last edited by a moderator: Jan 30, 2023
    • Helpful Helpful x 2
  12. triznya.andras

    triznya.andras Well-Known Member

    Joined:
    Jun 29, 2019
    Messages:
    1,793
    Likes Received:
    2,174
    Yes, it should come with pretty much every old route.
    Note! Do you actually have TS since 2009! Wee, you might know things :) I mean a lot of release dates have been changed to something newer. I just noted a few things about the Class 158.
    Anyway, back to your question: https://steamdb.info/app/208316/subs/
    upload_2023-1-30_15-50-25.png
     
  13. atomicdanny

    atomicdanny Staff Member

    Joined:
    Mar 14, 2017
    Messages:
    391
    Likes Received:
    353
    I don't know about the release dates - I don't have access to that (but also those that would make changes wouldn't tell me :) ). Perhaps something like an update caused it - but I wouldn't know for certain.
     
  14. torfmeister

    torfmeister Guest

    That's RSDL\Foliage01
     
  15. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Good news... ish.
    I've found one of the entries in a bin file. Question now is how much of the text block do I need to remove to delete the reference without corrupting the route?

    Trouble1.jpg
     
  16. Reef

    Reef Well-Known Member

    Joined:
    Jul 27, 2018
    Messages:
    2,717
    Likes Received:
    1,772
    My best guess is to it's next repeatable instance, for example (grabbed from first tile in woodhead because that was first in my routes folder)

    Code:
                <BlueprintID>
                    <iBlueprintLibrary-cAbsoluteBlueprintID>
                        <BlueprintSetID>
                            <iBlueprintLibrary-cBlueprintSetID>
                                <Provider d:type="cDeltaString">RSC</Provider>
                                <Product d:type="cDeltaString">Woodhead</Product>
                            </iBlueprintLibrary-cBlueprintSetID>
                        </BlueprintSetID>
                        <BlueprintID d:type="cDeltaString">scenery\vegetation\moor_long.xml</BlueprintID>
                    </iBlueprintLibrary-cAbsoluteBlueprintID>
                </BlueprintID>
                <ReskinBlueprintID>
                    <iBlueprintLibrary-cAbsoluteBlueprintID>
                        <BlueprintSetID>
                            <iBlueprintLibrary-cBlueprintSetID>
                                <Provider d:type="cDeltaString"></Provider>
                                <Product d:type="cDeltaString"></Product>
                            </iBlueprintLibrary-cBlueprintSetID>
                        </BlueprintSetID>
                        <BlueprintID d:type="cDeltaString"></BlueprintID>
                    </iBlueprintLibrary-cAbsoluteBlueprintID>
                </ReskinBlueprintID>
                <Name d:type="cDeltaString">WH Grass_Moor_long</Name>
                <EntityID>
                    <cGUID>
                        <UUID>
                            <e d:type="sUInt64">5031488852697816355</e>
                            <e d:type="sUInt64">9842400523466318252</e>
                        </UUID>
                        <DevString d:type="cDeltaString">1c641d23-7074-45d3-ac21-54fa203b9788</DevString>
                    </cGUID>
                </EntityID>
            </cDynamicEntity>
            <cDynamicEntity d:id="-2145595928">
                <Component>
                    <cSceneryRender d:id="987770072">
                        <DetailLevel d:type="sInt32">10</DetailLevel>
                        <Global d:type="bool">0</Global>
                    </cSceneryRender>
                    <cPosOri d:id="1132010896">
                        <RFarMatrix>
                            <cFarMatrix d:id="1132010908">
                                <Height d:type="sFloat32" d:alt_encoding="000000C0BA597240" d:precision="string">293.608</Height>
                                <RXAxis d:numElements="4" d:elementType="sFloat32" d:precision="string">-0.8732874 0.0000000 -0.4872052 0.0000000</RXAxis>
                                <RYAxis d:numElements="4" d:elementType="sFloat32" d:precision="string">0.0000000 1.0000000 0.0000000 0.0000000</RYAxis>
                                <RZAxis d:numElements="4" d:elementType="sFloat32" d:precision="string">0.4872052 0.0000000 -0.8732874 0.0000000</RZAxis>
                                <RFarPosition>
                                    <cFarVector2 d:id="1132010960">
                                        <X>
                                            <cFarCoordinate>
                                                <RouteCoordinate>
                                                    <cRouteCoordinate>
                                                        <Distance d:type="sInt32">0</Distance>
                                                    </cRouteCoordinate>
                                                </RouteCoordinate>
                                                <TileCoordinate>
                                                    <cTileCoordinate>
                                                        <Distance d:type="sFloat32" d:alt_encoding="0000006082ED6B40" d:precision="string">223.422</Distance>
                                                    </cTileCoordinate>
                                                </TileCoordinate>
                                            </cFarCoordinate>
                                        </X>
                                        <Z>
                                            <cFarCoordinate>
                                                <RouteCoordinate>
                                                    <cRouteCoordinate>
                                                        <Distance d:type="sInt32">0</Distance>
                                                    </cRouteCoordinate>
                                                </RouteCoordinate>
                                                <TileCoordinate>
                                                    <cTileCoordinate>
                                                        <Distance d:type="sFloat32" d:alt_encoding="000000001A2F4440" d:precision="string">40.368</Distance>
                                                    </cTileCoordinate>
                                                </TileCoordinate>
                                            </cFarCoordinate>
                                        </Z>
                                    </cFarVector2>
                                </RFarPosition>
                            </cFarMatrix>
                        </RFarMatrix>
                    </cPosOri>
                    <cEntityContainer d:id="-2099087056">
                        <StaticChildrenMatrix/>
                    </cEntityContainer>
                    <cCollisionComponent d:id="1158942736"/>
                </Component>
    You'll notice that the next line will be <BlueprintID> all the way to </Component> and repeat and repeat and so on.
     
    • Helpful Helpful x 1
  17. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Thanks Reef. I'm having one more go with RW (TS) Tools, see if it can kick the items off, if not then time to back up the scenery folder and do it the hard way!
     
  18. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Success!
    That got rid of the RSDerek items. The awkward one is going to be identifying this:
    trouble2.jpg

    Update:
    Going back into the original routeproperties, the "blank" entry has this id 729406160 so looking for that in the bin files seems the next step.
     
    Last edited: Jan 30, 2023
    • Like Like x 1
  19. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Which didn't work. Oh well more detective work tomorrow...
     
  20. torfmeister

    torfmeister Guest

    That ID is arbitrary and only used in the RouteProperties for internal memory organization.

    Just go through all the files and manually delete the xml nodes referring to Developer\Addon...

    Then delete the empty BlueprintSetPreload sections.

    After you have finished everything, go into Route Editor, make a small change, and save again to be sure all files are in correct format.
     
    Last edited by a moderator: Jan 30, 2023
    • Helpful Helpful x 1
  21. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Thanks Torf, I'll do that tomorrow. Got a feeling it may be in other than the Scenery folder as a quick run through with the Bulk Search Tool didn't throw anything up.

    I never realised there would be this much work involved in untangling the route for the Workshop!

    Only five more routes to go after this one done...

    Edit:
    Just done a bit more detective work with the original route on the main PC and have identified that Provider "Developer" and Product "AddOn" is referring to:
    C:\Program Files (x86)\Steam\SteamApps\common\RailWorks\Assets\Developer\Addon\railnetwork\trackrules\example_track_rule.bin
    Not sure why that's being referenced as originally it was AllTrack rule which I've since swapped to the Wutachtalbahn one with the exception of the tunnel sections. So it looks like I need to track that down tomorrow and eliminate it.
     
    Last edited: Jan 30, 2023
  22. torfmeister

    torfmeister Guest

    Yes, that's a thing with the trackrules. Once you use a specific one in your route it will stay in the files, even if you select that track and change the rule. Needs manual xml hacking :)
     
    • Helpful Helpful x 1
  23. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Success! After a final tussle with a few bin files in roads and lofts, all non permitted Providers and Products have been eliminated. All that remains now is to have a quick fly through the route, check no fences have turned into rivers or similar and it should be good to go.

    Many, many thanks to everyone in this thread for their help and advice.
     
    • Like Like x 3
  24. KTL_Rob Powell

    KTL_Rob Powell Well-Known Member

    Joined:
    Aug 18, 2018
    Messages:
    216
    Likes Received:
    284
    Glad to hear that you think you've got it :)
     
  25. atomicdanny

    atomicdanny Staff Member

    Joined:
    Mar 14, 2017
    Messages:
    391
    Likes Received:
    353
    Yay! :)
    (seems a bit spammy but needed to be said :) )
     
    • Like Like x 1
  26. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Yes it should be on the Workshop now, but needs the 30 "Likes" before I can finalise it.
     
    • Like Like x 1
  27. atomicdanny

    atomicdanny Staff Member

    Joined:
    Mar 14, 2017
    Messages:
    391
    Likes Received:
    353
    I've discovered that it doesn't (or at least there is a bug that has some how been missed - i've finalised a route with 15 before :) ) - but equally though I wouldn't suggest putting final right away - just in case say something got lost when putting it on workshop :).
     
  28. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Good point. Anyhow it looks as if there is a slight delay between the upload and public visibility.

    Time to decide on the next one, probably Tanigumi which might get a bit of a Sacramento Northern style rework.

    Vale Of Rheidol and Further North probably further down the list, mainly because I'm contemplating a possible extension - Vale Of Rheidol put the main line in to Machynlleth and Further North would like to bring down to Helmsdale or Brora.
     
  29. KTL_Rob Powell

    KTL_Rob Powell Well-Known Member

    Joined:
    Aug 18, 2018
    Messages:
    216
    Likes Received:
    284
    Done. Hope it gets finalized soon so people can create content for it :)
     
    • Like Like x 1
  30. torfmeister

    torfmeister Guest

    Just subscribed and liked, Vern! :D
     
    • Like Like x 1
  31. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Thank you!
     
  32. Oystein

    Oystein Well-Known Member

    Joined:
    May 24, 2018
    Messages:
    180
    Likes Received:
    274
    Nice to see the route on Steam workshop :) Too bad that DTG won't allow custom assets. That doesn't seem to be any problem for Transport Fever. Maybe I'll finish one of the locomotives that used to run on that line, have to take a dive into my project folders :D
     
  33. OldVern

    OldVern Well-Known Member

    Joined:
    Nov 2, 2020
    Messages:
    11,922
    Likes Received:
    23,935
    Yes it's a shame. TBH one of the reasons I've largely been building new projects in Trainz, even though the driving experience is appalling as always, is the available assets and ease of access on the Download Station. TSC is a primitive mess by comparison, not to mention the editing processes. Spent a whole afternoon this afternoon on Tanigumi using RW Tools to manually replace 63 3D Trains tree types. Without RW Tools there would be no easy way to do that. Then I had to manually edit the routeproperties.xml to remove reference to 3DT as a provider. Don't get me wrong, I'm quite enjoying bringing a new lease of life to these routes, but by god DTG did not make it easy.

    What worries me is now Mike Simpson has taken (a well deserved) retirement from RW Tools, is what happens if things change in the future and DTG don't provide equivalent utilities that can do all this file swapping and xml/bin editing (which should all be within the editors and utilities with a WYSIWYG interface anyway).
     

Share This Page