NotRoadTypes

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

User avatar
stefino_cz
Transport Coordinator
Transport Coordinator
Posts: 268
Joined: 02 Jul 2015 08:05
Location: Czech Republic
Contact:

Re: NotRoadTypes

Post by stefino_cz »

Hi, I wanted to code road vehicle for specific roadtype but vehicle properties like road_type or current_roadtype doesn't work. So how to code vehicle what has to go only on XY label roadtype? Thanks :)
Image
User avatar
stefino_cz
Transport Coordinator
Transport Coordinator
Posts: 268
Joined: 02 Jul 2015 08:05
Location: Czech Republic
Contact:

Re: NotRoadTypes

Post by stefino_cz »

Can somebody help me with crossings tram X rail? Thanks a lot :)
tram_railroad.PNG
(3.5 MiB) Not downloaded yet
Image
User avatar
Comm Cody
Tycoon
Tycoon
Posts: 1060
Joined: 07 Mar 2008 22:21
Location: In a galaxy far far away.

Re: NotRoadTypes

Post by Comm Cody »

that's trunk OTTD behavior, if a tram track alone crosses a railroad track, then the crossing has a road on it.
Something goes here, hell if I know.
User avatar
stefino_cz
Transport Coordinator
Transport Coordinator
Posts: 268
Joined: 02 Jul 2015 08:05
Location: Czech Republic
Contact:

Re: NotRoadTypes

Post by stefino_cz »

Comm Cody wrote: 31 Dec 2019 21:26 that's trunk OTTD behavior, if a tram track alone crosses a railroad track, then the crossing has a road on it.
Yes, but if I switch off NRT, it works good. When I turn on NRT, it doesn't display tram track on crossing like in the picture above. In the picture below you can see "old" version without NRT.
Výstřižek.PNG
Výstřižek.PNG (301.48 KiB) Viewed 12969 times
Image
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: NotRoadTypes

Post by wallyweb »

User avatar
andythenorth
Tycoon
Tycoon
Posts: 5649
Joined: 31 Mar 2007 14:23
Location: Lost in Music

Re: NotRoadTypes

Post by andythenorth »

In super exciting news, the newgrf docs for NRT are now done https://wiki.openttd.org/NewGRF_Specification_Status

NFO is done and GRFCodec should just work (did when I tested).

NML docs are done. If you want to build NML yourself, the source is on Github: https://github.com/openTTD/nml Otherwise it's patience until NML 0.5 to be released, track progress of that here :) https://github.com/OpenTTD/nml/issues/43

OpenGFX support is in progress https://github.com/OpenTTD/OpenGFX/issues/9
User avatar
Gadg8eer
Traffic Manager
Traffic Manager
Posts: 190
Joined: 14 Dec 2019 14:22

Re: NotRoadTypes

Post by Gadg8eer »

Why is it that the "catenary_back" in the graphics block of NML doesn't actually draw the catenary under the road vehicle? The rear poles are showing up over the road vehicles. I thought this was implemented specifically to fix the rear catenary being drawn on top of the road vehicle?
I have Asperger's, please be easy on me about stuff. My apologies if I've been a problem for you in the past.
User avatar
Gadg8eer
Traffic Manager
Traffic Manager
Posts: 190
Joined: 14 Dec 2019 14:22

Re: NotRoadTypes

Post by Gadg8eer »

Gadg8eer wrote: 25 May 2020 20:07 Why is it that the "catenary_back" in the graphics block of NML doesn't actually draw the catenary under the road vehicle? The rear poles are showing up over the road vehicles. I thought this was implemented specifically to fix the rear catenary being drawn on top of the road vehicle?
So apparently it was an issue with JGRPP 0.34.3, I'll go to JGR before asking here next time.
I have Asperger's, please be easy on me about stuff. My apologies if I've been a problem for you in the past.
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Re: NotRoadTypes

Post by MagicBuzz »

Hello,

I'm trying to use NRT with a GS, but I don't see dedicated functions.
Right now, "RoadType" is " ROADTYPE_ROAD", "ROADTYPE_TRAM", "ROADTYPE_INVALID".
How could I get the complete list of roads, their max speed and other data if existing (is it for general vehicles, trucks, cities, country, express roads, etc.?) and use them with GSRoad ?
User avatar
jfs
Tycoon
Tycoon
Posts: 1743
Joined: 08 Jan 2003 23:09
Location: Denmark

Re: NotRoadTypes

Post by jfs »

You should be able to just create a GSRoadTypeList to get all the valid type id's, then you can query each of them for properties.
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Re: NotRoadTypes

Post by MagicBuzz »

Ok thank you, so the RoadType enum is updated by the NewGRF.
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Re: NotRoadTypes

Post by MagicBuzz »

Hello, I still have some problems with this feature.

I'm trying, from the GS, to find the list of the current available road types.

I do this:

Code: Select all

   
    local roadTypeList = GSRoadTypeList(GSRoad.ROADTRAMTYPES_ROAD);
    roadTypeList.Valuate(function(roadType) { return GSRoad.IsRoadTypeAvailable(roadType) ? 1 : 0; });
    roadTypeList.KeepValue(1);
But I get all roadtypes, even types that are still not available in game.

In the documentation of GSRoad.IsRoadTypeAvailable(roadType) is said that the current company it taken as context.
But GS doesn't have a company !

So I changed to :

Code: Select all

    local company_zero = GSCompanyMode(0);
    local roadTypeList = GSRoadTypeList(GSRoad.ROADTRAMTYPES_ROAD);
    roadTypeList.Valuate(function(roadType) { return GSRoad.IsRoadTypeAvailable(roadType) ? 1 : 0; });
    roadTypeList.KeepValue(1);
    company_zero = null;
But:
1/ I still get all the road types (?)
2/ In the Init() of my GS it might fail or return invalid roads as company 0 still not exists.

How to get the available roads based on the current game year ?
Also, I can query GetName() and GetMaxSpeed() but I would like also get some other information like presence of stripes, or any extended feature.

Edit: I moved my code from Init() to the main loop (after a Sleep(1)) and the company #0 now exists. It works fine. But I'm still convinced the GS should get a more general IsRoadTypeAvailable() that only check introduction year of the road, without needing to request a company RoadType list
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: NotRoadTypes

Post by Wahazar »

BTW, seems that many AI are not compatible with NRT (they throw messages like 'can't build road stop' etc).
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
User avatar
Gadg8eer
Traffic Manager
Traffic Manager
Posts: 190
Joined: 14 Dec 2019 14:22

Re: NotRoadTypes

Post by Gadg8eer »

McZapkie wrote: 27 Dec 2020 22:32 BTW, seems that many AI are not compatible with NRT (they throw messages like 'can't build road stop' etc).
Yeah, I noticed that too. There's no NRT compatibility in any of the AIs.
I have Asperger's, please be easy on me about stuff. My apologies if I've been a problem for you in the past.
User avatar
Andrew350
Chairman
Chairman
Posts: 768
Joined: 19 Dec 2011 07:54
Location: Washington State, USA
Contact:

Re: NotRoadTypes

Post by Andrew350 »

Not many AIs have had any active development in the last 9 months, so its not much of a surprise none of them support such a new feature :) That being said, many of them seem to handle it okay, they just don't know how to use it to their advantage.
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: NotRoadTypes

Post by Wahazar »

Andrew350 wrote: 02 Jan 2021 06:56 Not many AIs have had any active development in the last 9 months, so its not much of a surprise none of them support such a new feature :) That being said, many of them seem to handle it okay, they just don't know how to use it to their advantage.
I didn't found any AI which can handle it - they just stuck in dead loop, can't build anything.
Any idea how to fix it?
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
User avatar
Firrel
Engineer
Engineer
Posts: 118
Joined: 13 Aug 2019 17:06

Re: NotRoadTypes

Post by Firrel »

The issue is that NRT newgrfs remove the default road type. This means the AIs are selecting nonexistent road type and building road precondition fails on not selected road. To fix this, the AIs need to get the list of all road types and chose one of them. As this did not exist at their time, they wont work until updated, which is unlikely.

I think there could be a fallback to a road when the AI tries to select the default one. The problem is which road, because some vehicles cant use some roads. Or the newgrf authors could mark a road as default.
User avatar
Andrew350
Chairman
Chairman
Posts: 768
Joined: 19 Dec 2011 07:54
Location: Washington State, USA
Contact:

Re: NotRoadTypes

Post by Andrew350 »

McZapkie wrote: 03 Jan 2021 14:11 I didn't found any AI which can handle it - they just stuck in dead loop, can't build anything.
Any idea how to fix it?
Two which I know work for sure are NotPerfectAI and AdmiralAI. I'm not sure what makes them different from the other AIs, but they seem to be quite capable of building road and tram networks.

Obviously they can't actually use different roadtypes, so everything just runs on e.g. dirt roads or whatever, but it works :)
Firrel wrote: 03 Jan 2021 16:23 The issue is that NRT newgrfs remove the default road type.
Not exactly true, most (all?) roadtype sets still define a 'default' road using the ROAD label. The roads which the above AIs build are not using this label however, the AIs just seem to pick whatever's first in the list. The fact that a 10+ year old AI is successful at building roads and tramtracks while almost all others are not, leads me to believe some other assumptions are causing them to fail. But I know nothing about AIs so that's just speculation :)
User avatar
Firrel
Engineer
Engineer
Posts: 118
Joined: 13 Aug 2019 17:06

Re: NotRoadTypes

Post by Firrel »

Andrew350 wrote: 03 Jan 2021 20:44
McZapkie wrote: 03 Jan 2021 14:11 I didn't found any AI which can handle it - they just stuck in dead loop, can't build anything.
Any idea how to fix it?
Two which I know work for sure are NotPerfectAI and AdmiralAI. I'm not sure what makes them different from the other AIs, but they seem to be quite capable of building road and tram networks.

Obviously they can't actually use different roadtypes, so everything just runs on e.g. dirt roads or whatever, but it works :)
Firrel wrote: 03 Jan 2021 16:23 The issue is that NRT newgrfs remove the default road type.
Not exactly true, most (all?) roadtype sets still define a 'default' road using the ROAD label. The roads which the above AIs build are not using this label however, the AIs just seem to pick whatever's first in the list. The fact that a 10+ year old AI is successful at building roads and tramtracks while almost all others are not, leads me to believe some other assumptions are causing them to fail. But I know nothing about AIs so that's just speculation :)
I gave it a try and you are correct, the AdmiralAI can build roads using CZTR roads and Timberwolf roads. However when using RattRoads 1.0.2 and U&RaTT 0.2a, the AI fails to build any road, only some discontinuous tram tracks. From what I observed, the road they are using is the one that is selected at the start of the game, but RattRoads and U&RaTT has no road selected. I guess the issue is with your RattRoads set, sorry :D As I know only about the AI part and nothing about the NewGRF part, I think you will know better what is causing it.
User avatar
Gadg8eer
Traffic Manager
Traffic Manager
Posts: 190
Joined: 14 Dec 2019 14:22

Re: NotRoadTypes

Post by Gadg8eer »

Firrel wrote: 04 Jan 2021 09:29
Andrew350 wrote: 03 Jan 2021 20:44
McZapkie wrote: 03 Jan 2021 14:11 I didn't found any AI which can handle it - they just stuck in dead loop, can't build anything.
Any idea how to fix it?
Two which I know work for sure are NotPerfectAI and AdmiralAI. I'm not sure what makes them different from the other AIs, but they seem to be quite capable of building road and tram networks.

Obviously they can't actually use different roadtypes, so everything just runs on e.g. dirt roads or whatever, but it works :)
Firrel wrote: 03 Jan 2021 16:23 The issue is that NRT newgrfs remove the default road type.
Not exactly true, most (all?) roadtype sets still define a 'default' road using the ROAD label. The roads which the above AIs build are not using this label however, the AIs just seem to pick whatever's first in the list. The fact that a 10+ year old AI is successful at building roads and tramtracks while almost all others are not, leads me to believe some other assumptions are causing them to fail. But I know nothing about AIs so that's just speculation :)
I gave it a try and you are correct, the AdmiralAI can build roads using CZTR roads and Timberwolf roads. However when using RattRoads 1.0.2 and U&RaTT 0.2a, the AI fails to build any road, only some discontinuous tram tracks. From what I observed, the road they are using is the one that is selected at the start of the game, but RattRoads and U&RaTT has no road selected. I guess the issue is with your RattRoads set, sorry :D As I know only about the AI part and nothing about the NewGRF part, I think you will know better what is causing it.
As someone who has (re)coded multiple roadtype newgrfs (using other's graphics), I have to say I don't think it's the fault of the GRF coder any more than it is the fault of NRT, because roadsets from multiple authors are not compatible with AIs. It seems that the game itself, outside of NRT, does not select a default roadtype for AIs to use. That, or using ROADTYPE_FLAG_HIDDEN on the ROAD label like Ufiby seems to have done screws with the AIs.
I have Asperger's, please be easy on me about stuff. My apologies if I've been a problem for you in the past.
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: No registered users and 2 guests