GRF encoder tool: GRFMaker [under development]

Discussions about the technical aspects of graphics development, including NewGRF tools and utilities.

Moderator: Graphics Moderators

User avatar
Ameecher
Tycoon
Tycoon
Posts: 11919
Joined: 12 Aug 2006 15:39
Contact:

Post by Ameecher »

AndersI wrote:
Ben_K wrote:I seem to be quite regularly getting 'Out ofMemory' error when using GRFMaker.
Could be that you have a sprite line where not every sprite starts at the same row, I think I got "Out of memory" when I had that.
That's what I thought of too. I get that too when the sprites are not at least 2px apart.
Image
Tom0004
Chairman
Chairman
Posts: 822
Joined: 01 Jul 2007 22:33
Location: Manchester, UK

Re: GRF encoder tool: GRFMaker [under development]

Post by Tom0004 »

is there anywhere we can get a hold of this program ?

or to we still need to get intouch with Szappy, i only ask as it seems he's not been to the forums for awhile.

if so, can some on please PM me his email address,

i've emailed his MSN/WLM address given by the site, but have yet not received a reply,

also sorry for bumping what seems to be a dead topic now :oops:

regards

0004tom
Last edited by Tom0004 on 08 Aug 2007 16:24, edited 2 times in total.
User avatar
Purno
Tycoon
Tycoon
Posts: 16659
Joined: 30 Mar 2004 12:30
Location: Almere, The Netherlands

Re: GRF encoder tool: GRFMaker [under development]

Post by Purno »

I'm trying to get an updated version of GRF Maker too. PMing Szappy doesn't help at all...
Contributor to the The 2cc Set and Dutch Trainset. Inventor of the Metro concept. Retired Graphics Artist.
Image Image
Download TT | Latest TTDPatch | OpenTTD | OpenTTDCoop | BaNaNaS: OpenTTD content system | 2048² OTTD scenario of the Netherlands
GRF Codec | GRF Crawler | GRF Maker | Usefull graphics & tools sites | NML Documentation Wiki | NFO Documentation Wiki
All my graphics are licensed under GPL. "Always remember you're unique, just like everyone else."
BobDendry
Tycoon
Tycoon
Posts: 2215
Joined: 06 May 2004 09:10
Location: Sydney

Re: GRF encoder tool: GRFMaker [under development]

Post by BobDendry »

There is no updated version. gl2 and Szappy haven't been seen in a long time.
Formerly known as Lachie
User avatar
Purno
Tycoon
Tycoon
Posts: 16659
Joined: 30 Mar 2004 12:30
Location: Almere, The Netherlands

Re: GRF encoder tool: GRFMaker [under development]

Post by Purno »

I did have a somewhat older version (3.01B), I now was able to get v3.03B, which was an updated version for me :wink:
Contributor to the The 2cc Set and Dutch Trainset. Inventor of the Metro concept. Retired Graphics Artist.
Image Image
Download TT | Latest TTDPatch | OpenTTD | OpenTTDCoop | BaNaNaS: OpenTTD content system | 2048² OTTD scenario of the Netherlands
GRF Codec | GRF Crawler | GRF Maker | Usefull graphics & tools sites | NML Documentation Wiki | NFO Documentation Wiki
All my graphics are licensed under GPL. "Always remember you're unique, just like everyone else."
Tom0004
Chairman
Chairman
Posts: 822
Joined: 01 Jul 2007 22:33
Location: Manchester, UK

Re: GRF encoder tool: GRFMaker [under development]

Post by Tom0004 »

WhiteHand wrote:There is no updated version. gl2 and Szappy haven't been seen in a long time.
then how would one recomend, one getting his hands on such a program ?
User avatar
Purno
Tycoon
Tycoon
Posts: 16659
Joined: 30 Mar 2004 12:30
Location: Almere, The Netherlands

Re: GRF encoder tool: GRFMaker [under development]

Post by Purno »

One recommended me to get in touch with Aegir.
Contributor to the The 2cc Set and Dutch Trainset. Inventor of the Metro concept. Retired Graphics Artist.
Image Image
Download TT | Latest TTDPatch | OpenTTD | OpenTTDCoop | BaNaNaS: OpenTTD content system | 2048² OTTD scenario of the Netherlands
GRF Codec | GRF Crawler | GRF Maker | Usefull graphics & tools sites | NML Documentation Wiki | NFO Documentation Wiki
All my graphics are licensed under GPL. "Always remember you're unique, just like everyone else."
User avatar
Aegir
Tycoon
Tycoon
Posts: 2884
Joined: 09 Feb 2004 10:02
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by Aegir »

[rant]

NO!

Stop telling people to ask me for the program! I I only host it, I am not allowed to distribute it for people, everyone has to get permission from Szappy and gl2, I have no authority on the matter. I am getting tired of having to answer PM and Emails constantly, and having to tell them the same thing over and over.

I'm only allowed to hand it out, really, to TTDPatch developers and other such 'gurus', basicly, to people that the GRFMaker devs couldn't possibly say no to.

To be honest, GRFMaker is of very little use* in it's pre-alpha testing stage if Szappy and gl2 aren't around. Nobody else has the source to it, so when bugs are found, or features are missing (That happens quite a lot), you're stuck having to either: a) kludge it, b) write it in a manual NFO block, or c) sit on your hands and wait.

For the hideously ultra basic operations people are trying to use GRFMaker for (Simple sprite replacements), really, write it in NFO. Really. GRFMaker is not some magic bullet that will eradicate having to understand the mechanics of NFO. At the end of the day, you still need to learn the language. GRFMaker just makes it easier to build and manage large sets, so that you can focus on things like your action2 chain logic instead of something like syntax and endianess.

*Note, for trains and vehicles, you're largely safe, since a lot of features for trains have been around for a while longer than newstations, newhouses, newindustries, et cetera. But still, you're stuck working on your own, the only two proficient vehicle coders I know who use GRFMaker are Whitehand and AndersI, but their knowledge is limited in comparison to Szappy and gl2, and trust me, you will have questions that only they, or a TTDPatch Dev/Guru NFO coder can answer, and getting help from a TTDPatch Dev or Guru NFO coder still requires you to [img]know%20NFO[/img].

[/rant]
Currently working under the name 'reldred' on Github, and Discord.
NFO/NML coder, part-time patch writer for JGRPP, and all round belligerent.

14:40 <orudge> I can't say I discriminate against any particular user
14:41 <Aegir> orudge: I can!
User avatar
Purno
Tycoon
Tycoon
Posts: 16659
Joined: 30 Mar 2004 12:30
Location: Almere, The Netherlands

Re: GRF encoder tool: GRFMaker [under development]

Post by Purno »

Aegir wrote:the only two proficient vehicle coders I know who use GRFMaker are Whitehand and AndersI
Well, I seem to be able to code quite nicely with GRF Maker too...
Contributor to the The 2cc Set and Dutch Trainset. Inventor of the Metro concept. Retired Graphics Artist.
Image Image
Download TT | Latest TTDPatch | OpenTTD | OpenTTDCoop | BaNaNaS: OpenTTD content system | 2048² OTTD scenario of the Netherlands
GRF Codec | GRF Crawler | GRF Maker | Usefull graphics & tools sites | NML Documentation Wiki | NFO Documentation Wiki
All my graphics are licensed under GPL. "Always remember you're unique, just like everyone else."
User avatar
jvassie
Tycoon
Tycoon
Posts: 3421
Joined: 18 Dec 2002 18:00
Location: High Wycombe, England
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by jvassie »

Purno wrote:
Aegir wrote:the only two proficient vehicle coders I know who use GRFMaker are Whitehand and AndersI
Well, I seem to be able to code quite nicely with GRF Maker too...
Plus Hyronymus and I have been coding in for quite a long time too..
(British) Modular Stations Set - Thread: | Website:
Swiss Set - Thread: | Website:
Route Map Creator
My Screenshot Thread
User avatar
Aegir
Tycoon
Tycoon
Posts: 2884
Joined: 09 Feb 2004 10:02
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by Aegir »

Indeed, I can count lots of other people who use GRFMaker to great effect, but I still vote Whitehand and AndersI as being probably being my top two coders using GRFMaker. Whitehand especially when it comes to helping other users with their coding. When he isn't being a prat, that is.
Currently working under the name 'reldred' on Github, and Discord.
NFO/NML coder, part-time patch writer for JGRPP, and all round belligerent.

14:40 <orudge> I can't say I discriminate against any particular user
14:41 <Aegir> orudge: I can!
User avatar
AndersI
Tycoon
Tycoon
Posts: 1732
Joined: 19 Apr 2004 20:09
Location: Sweden
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by AndersI »

Sure, GRFMaker is not a substitute to learning NFO coding, but it really does help me. My Swedish trains wouldn't be coded at all if it wasn't for GRFMaker. Period. Plain NFO coding is too time consuming. I don't want to count bytes, convert numbers to hex, write opcodes as hex bytes etc. I want to code my trains and get them into the game (with as many features as I can learn). But that's another - unfortunately quite dormant - thread here on the forums.

It is a pity that the development of GRFMaker seems to have stopped without the source being released to let others continue - being a Delphi programmer both by profession and hobby, there sure are things I would like to 'fix'.
User avatar
Csaboka
Tycoon
Tycoon
Posts: 1202
Joined: 25 Nov 2002 16:30
Location: Tiszavasvári, Hungary
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by Csaboka »

AndersI wrote:It is a pity that the development of GRFMaker seems to have stopped without the source being released to let others continue - being a Delphi programmer both by profession and hobby, there sure are things I would like to 'fix'.
Actually, I do have the sources of v3.03, with some modifications added. The modifications are there for the bugs and limitations that came out while coding TTRS3. Working around all of them would have had ill effects on my sanity...

I respect gl2 for working on this program so much, but to be honest, the source code is horrible. Variable and function names with 1-3 characters for a name, almost no comments, huge case statements instead of object hierarchies and virtual methods, hard-coded "magic" limits, to mention the worst ones. (One example: 2500 entries should be enough for everyone, right? Except that TTRS3 uses 3460...)

My personal opinion is that we would be better off with developing an open-source alternative from scratch. Delphi may not be the best choice for the language; C++ with a cross-platform library would probably be more flexible. (I have installed wxWidgets and did some small experiments, it is probably good for the job, and porting to Linux should in theory only need a recompile.) I don't really have time to do it myself currently, though. The foundation of this program could be shared with the "human-readable NFO" compiler, which was discussed in another topic.
Reality is that which, when you stop believing in it, doesn't go away.—Philip K. Dick
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by DaleStan »

AndersI wrote:I don't want to count bytes,
You don't have to. Not since November of 2004 have you had to count bytes.
AndersI wrote:convert numbers to hex,
You don't have to. This is more recent, but it's still been over a year since NFORenum and GRFCodec learned to read decimal numbers.
AndersI wrote:write opcodes as hex bytes
What do you mean by "opcodes"? If you mean the <op>/<operation> bytes in adv. var2, 7, 9, D, and GRM, you don't have to. At least in most cases. A few outliers still don't have escapes, but those are the new ones that GRFMaker wouldn't know anyway.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
User avatar
AndersI
Tycoon
Tycoon
Posts: 1732
Joined: 19 Apr 2004 20:09
Location: Sweden
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by AndersI »

Csaboka wrote:Delphi may not be the best choice for the language
Delphi is always the best choice of language :-)

Jokes aside, C++ may be better if portability is important, sometimes it is, sometimes it isn't. My guess is that the 'target customers' for GRFMaker are probably mostly Windows users, so I still think a 'Windows only' version is much better than 'no version at all'.

In theory, Pascal can also be portable, using for example FPC (Free Pascal Compiler), but as I have no experience with it, I don't know how it works out in reality. In theory, Delphi programs should be 'easy' to port to FPC...

@DaleStan:Sorry, it seems I haven't really read up on the capabilities of GRFCodec - actually I'm at a loss where the documentation and examples are found, can't find much in the TTDPatch Wiki. And http://www.ttdpatch.net/grfcodec/ doesn't seem to have much either, unless you count the change history. http://www.tt-forums.net/viewtopic.php?f=26&t=26846 is a discussion thread, searching for GRFCodec gives too many results, searching for "grfcodec documentation" gives too few. Where should I look?
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by DaleStan »

The NFO spec is a good place to look. "grfcodec -?" may also contain UI.

Looking at the first two pages of posts in which I've said "grfcodec", and some link chasing, turns up:
http://users.tt-forums.net/dalestan/grf ... sions.html
http://www.tt-forums.net/viewtopic.php?f=26&t=24845
http://www.tt-forums.net/viewtopic.php?f=26&t=26338

I haven't updated the first one in ages, but what it specifies is correct.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
User avatar
AndersI
Tycoon
Tycoon
Posts: 1732
Joined: 19 Apr 2004 20:09
Location: Sweden
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by AndersI »

OK, so of the documents you recommend,

- one "isn't updated in ages" (but correct as far as it stands)
- one is a proposal with no reference to if and when it was/will be implemented
- one is a thread where I can find the sources to a revision that implements (most of?) the proposal (probably)
- one is the 'official' thread for grfcodec (probably), but it stops at version 0.9.9
- the link in your sig takes me to a page showing version 0.9.10, this page leads to three other documents, also describing some aspects of grfcodec (but not the proposal).

Thanks for the link digging, but this is leading off in too many directions. I'd prefer one 'master document' where I could find everything that is relevant for the current version. Like:

- Purpose (we all know that)

- How to use (encoding, decoding)

- Extensions to the plain NFO format (which 'shortcut' constructs exists, what output options creates which extended format, etc.)

- Advanced use (the more esoteric options)

- Revision history

Keeping that one, single document in one well documented place would make it possible for others to 'keep current' with the capabilities of grfcodec.
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by DaleStan »

AndersI wrote:- Purpose (we all know that)
- How to use (encoding, decoding)
- Extensions to the plain NFO format (which 'shortcut' constructs exists, what output options creates which extended format, etc.)
- Advanced use (the more esoteric options)
- Revision history
As you said, we all know #1, so I'll leave that one alone.

#2 and #4, are, IMO, properly documented on the other end of "grfcodec -?", and that's where you'll find them. You'll also get basically the same result if you run grfcodec with no arguments. And there aren't really that many esoteric options. -b and -u are probably the most esoteric, and they're also among the oldest.

#3 is documented on the wiki. If you want to know about the extensions that are useful in advanced variational action 2s, see "VarAction2Advanced". If you want the extensions that are useful for GRM, see the GRM documentation. And so on. The assumption here is that if you can remember which byte does what, you don't need the extensions, but if you can't, you're going to be looking them up on the wiki, at which point you'll get both the byte and any meaningful alternative formats.

There is one exception, though: If you want the extensions that only NFORenum recognizes, read the NFORenum docs, which are not on the wiki.

#5 is found in the same place as the grfcodec download. Or, if you want the version that applies to the most recent public source of GRFCodec, it's in svn, and a more detailed version is here, though it may be harder to extract the signal from that list.

Feel free to mash these all together into one place, but I guess I don't personally see the point. Everything's exactly where I'd expect to find it, and keeping up multiple sets of documentation is
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
BobDendry
Tycoon
Tycoon
Posts: 2215
Joined: 06 May 2004 09:10
Location: Sydney

Re: GRF encoder tool: GRFMaker [under development]

Post by BobDendry »

The one biggest trouble with GRFMaker users at present is that they expect it to be the holy grail of coding, ie "Plug sprites in and out pops mah GRF". It doesn't work like that. While NFO isn't required per se, if you want any support whatsoever from the real NFO wizards such as DaleStan or Pikka, you're going to have be able to talk to them in atleast basic NFOspeak. With Szappy and gl2 out of the picture as of late, your best bet for support for GRFMaker is myself, AndersI and Aegir. Aegir is certainly the best if you're after support for anything stationary pretty much, though I can swing around the Industry sprite blocks if you so desire. For vehicles, you definitely want myself or AndersI, depending on what timezone you're in, for the best and quickest reply.
That said, the best way to learn GRFMaker well is to just stuff around with it until you find out what you're trying to do. I can honestly say that, along with A LOT of help with Aegir, is what set me onto the path to the competent coder I am today.
Formerly known as Lachie
User avatar
Csaboka
Tycoon
Tycoon
Posts: 1202
Joined: 25 Nov 2002 16:30
Location: Tiszavasvári, Hungary
Contact:

Re: GRF encoder tool: GRFMaker [under development]

Post by Csaboka »

Good news for the GRFMaker users!

GL2 has agreed to release the source code of GRFMaker under the terms of GPL v3. This means that someone who can code in Delphi and is willing to fight the bugs can take over development.

The source code can be downloaded from my TT-Forums webspace. The only modifications I've done to it is adding a small readme, copyright notices required for enforcing the GPL and the text of the GPL itself.

Anyone downloading the sources please be aware that the code is often cryptic, contains some Hungarian identifiers and the few comments in the code are all in Hungarian. I can help with the meanings of Hungarian identifiers and comments, but you have to cope with cryptic code yourself :)
Reality is that which, when you stop believing in it, doesn't go away.—Philip K. Dick
Post Reply

Return to “NewGRF Technical Discussions”

Who is online

Users browsing this forum: No registered users and 5 guests