Page 1 of 1

Newgrf specs - OpenTTD vs TTDPatch

Posted: 30 Aug 2006 16:47
by uzusan
Does anyone know if there is a list of the parts of a grf file that are used in openttd?

I found these two pages:
http://wiki.openttd.org/index.php/Newgrf
http://wiki.ttdpatch.net/tiki-index.php ... phicsSpecs

However neither of them have a list of which parts that openTTD uses. The second page has a similar sort of thing for TTDPatch.

Im just looking for a guide so that i can create a grf file for openTTD.

Re: Newgrf specs - OpenTTD vs TTDPatch

Posted: 30 Aug 2006 16:52
by DaleStan
uzusan wrote:Does anyone know if there is a list of the parts of a grf file that are used in openttd?
Yes. Read the source.

There is no other listing of what parts of NewGRF are supported by OpenTTD.
uzusan wrote:Im just looking for a guide so that i can create a grf file for openTTD.
Don't.

Create it for TTDPatch, and then add code to Open to make it work there too.

Re: Newgrf specs - OpenTTD vs TTDPatch

Posted: 30 Aug 2006 16:55
by uzusan
DaleStan wrote: There is no other listing of what parts of NewGRF are supported by OpenTTD.
Does this change often then?
DaleStan wrote: Create it for TTDPatch, and then add code to Open to make it work there too.
Ill have a look at the code and see if i can figure out what extra stuff is required for openTTD.

Thanks for your reply.

Posted: 30 Aug 2006 17:07
by Born Acorn
You'll want to talk to peter1138 and mart3p. Those guys are pretty much the only people doing newgrf suppors. (pasky too, but that was all the inital support)

Re: Newgrf specs - OpenTTD vs TTDPatch

Posted: 30 Aug 2006 17:43
by DaleStan
uzusan wrote:
DaleStan wrote:There is no other listing of what parts of NewGRF are supported by OpenTTD.
Does this change often then?
Every time someone changes it.

Which is not an answer, I know.

This is far from an official list, but my understanding is as follows:
Actions 0..A, C, and 10..12 have a good chance of working (but see below for more on actions 00..04)
Actions B and D work partially.
Actions E, F, and 13 do not work.

For actions 0..4:
Features 00..04 have a very good chance of working.
Feature 05 will not work.
Feature 06 may work.
Feature 07 may work, but only for action 0.
Feature 08, prop 08 will work, prop 09 will not work, others probably will not work.
Feature 09..0B will not work.
Feature 0C will work.

For anything more specific than that (eg which properties/variables/callbacks work), you'll have to read the source, or do what Born Acorn said. Except that if you have feature 07 questions, poke Belugas too.

Posted: 30 Aug 2006 20:57
by mart3p
I presume we are talking about what is working in the latest version of the trunk. NewGRF support is very much a work-in-progress, the trunk already has far better support than 0.4.8.

DaleStan’s list is mostly correct except (AFAIK) for the following:
Action E will work
Action 11 won't work - peter1138 is working on it.
Action 12 won't work with the trunk code but works with the utf-8 branch

For actions 0..4:
Feature 07 will not work - belugas wrote a patch for this but I’m not sure of its current status.
Feature 08 props 0A..0F will work -this was added by belugas about a week ago.
Feature 0C will not work
Born Acorn wrote:You'll want to talk to peter1138 and mart3p. Those guys are pretty much the only people doing newgrf suppors. (pasky too, but that was all the inital support)
Don't forget belugas :)

Posted: 30 Aug 2006 22:53
by uzusan
Cheers everyone. i think the info you guys have posted should be enough for me. Ill have a play about and see what i can come up with.

Posted: 31 Aug 2006 14:52
by belugas
mart3p wrote: For actions 0..4:
Feature 07 will not work - belugas wrote a patch for this but I’m not sure of its current status.
Feature 08 props 0A..0F will work -this was added by belugas about a week ago.
Feature 0C will not work
Feature 07 : should be in trunk sometimes in some undetermined futur
Feature 09, 0A, 0B : Might too, even further in time
Feature 0C : i THINK it might work with some stuff not in trunk yet due to REAL LIFE affecting SOMEONE ;)