PDA

View Full Version : AutoDrive broken in beta TRS2019 build 96191 and beta Tane SP3HF1 build 96202



pguy
September 3rd, 2018, 02:05 PM
Just to report (before sending a bug report tomorrow to N3V helpdesk) that it seems that builtin driver command AutoDrive <kuid2:192081:4:4> by Brummfondel is now broken in both beta TRS2019 build 96191 and beta Tane SP3HF1 build 96202.

After analysis, it seems that the script compiler is now more strict, and no longer supports some script API call with ambiguous parameters like null.
It may become a big problem, as the scripts by Brummfondel are encrypted (.gse files) and if we have the compiler diagnosis we are not able to locally fix the problem. And as Brummfondel is no longer active in Trainz, it may be difficult to obtain an updated version

And as many users of Interlocking Towers or of EITS do prefer to autodrive their train this is not a good news for all ITs and EITs users

Regards.
Pierre.

pflindley
September 3rd, 2018, 02:54 PM
Dear Pierre,

Thanks for reporting this problem. I believe that it needs urgent attention by N3V.

Peter.

blueodessey
September 3rd, 2018, 03:04 PM
:D As a side note, in T:ANE SP-2 I have some faulty assets, and several, it seems that T:ANE does not like the term "NULL" if I recall, says it is not a valid number, the last I remember, Null means Zero, which is a valid number, unless I have something backwards........

:confused: However that being the case, what do you do with an Null in an Asset, or does it have to be recreated..........By the Author who owns the Asset?

null
nəl/

adjective
adjective: null


1.
having no legal or binding force; invalid.
"the establishment of a new interim government was declared null and void"


synonyms:
invalid, null and void, void; Moreannulled, nullified, canceled, revoked
"their marriage was declared null"








antonyms:
valid


2.
having or associated with the value zero.

Mathematics
(of a set or matrix) having no elements, or only zeros as elements.
lacking distinctive qualities; having no positive substance or content.
"his curiously null life"


synonyms:
invalid, null and void, void; Moreannulled, nullified, canceled, revoked
"their marriage was declared null"








antonyms:
valid









nounliterary

noun: null; plural noun: nulls


1.
a zero.

a dummy letter in a cipher.
Electronics
a condition of no signal.
a direction in which no electromagnetic radiation is detected or emitted.







verbElectronic combine (a signal) with another in order to create a null; cancel out.

pguy
September 3rd, 2018, 04:30 PM
Hi.

To be more precise, the problem is a problem of supporting polymorphism calls in object programming, which is the case of autodriving, where you can either select in the script API one of this interfaces :






public native void
SetAutopilotTarget (https://forums.auran.com/trainz/classTrain.html#a44) (Trackside (https://forums.auran.com/trainz/classTrackside.html) obj)


public native void
SetAutopilotTarget (https://forums.auran.com/trainz/classTrain.html#a45) (Track (https://forums.auran.com/trainz/classTrack.html) track)


public native void
SetAutopilotTarget (https://forums.auran.com/trainz/classTrain.html#a46) (JunctionBase (https://forums.auran.com/trainz/classJunctionBase.html) junction)



When you call SetAutopilotTarget(…) to set the target destination, the compiler find which SetAutopilotTarget to use from the type of the parameter passed. But when you request to autodrive with no target destination, you will call SetAutopilotTarget(null) which is ambiguous ...

With the last beta builds the compiler rejects now the ambiguous SetAutopilotTarget(null) which was accepted before in the previous builds. And it seems that Brummfondel's Autodrive script is making some calls with SetAutopilotTarget(null) which is now rejected by the compiler in the last beta builds with the consequence of breaking any session using Brummfondel's autodrive driver command.

And with the script code being encrypted as a .gse without access to the source, I don't see any simple solution to solve the problem. I only hope that Chris or any N3V programmer will find a solution to enable Autodrive commands to work again in future builds …

Regards.
Pierre.

pguy
September 3rd, 2018, 11:21 PM
Hi.

One interesting point : I have looked at all the preceeding versions of Autodrive driver command by Brummfondel available on DLS. The interesting point is that if both current release 4 and preceeding release 3 have their script encrypted, on contrary preceeding release 2 is not encrypted.
So it is possible via download this version to download version 2, which contains the same error as rellease 4, but as we have access to the script source it is possible to locally do the modifications to create a new release derived from release 2 which this time compiles with no error. Of course, we will loose all the modifications and enhancement brought by release 3 and 4, but at least we have an Autodrive command doing the job …

If the Content Repair Group is interested, I can send them a cdp with this updated release 2 so that it can be uploaded to DLS as a new release 5 to make Autodrive commands still work with the new compiler doing more strict checks on ambiguous parameters …

Regards.
Pierre.

JCitron
September 3rd, 2018, 11:28 PM
Pierre,

I recommend contacting Paul Cass on this. I'm not speaking for him, but I'm sure he would definitely welcome this due to the critical nature of Auto Drive.

clam1952
September 4th, 2018, 07:41 AM
Just requested that it gets put on the repair list, then we can upload Pierre's fix version, needs to be on the list so we can upload the fix.

(CRG Co-ordinator)

clam1952
October 10th, 2018, 06:38 PM
Fixed version now available on the DLS, thanks to Pierre for doing the hard work.

wallner
October 12th, 2018, 07:25 AM
As a general remark on the scirpts by Brummfondel. They are still available as non encrypted versions via his website http://www.js-home.org/trainz/index.php