NFORenum v3.4.6 released (NFO renumberer and linter)

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

Moderator: Graphics Moderators

Locked
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

Which was the last version that worked?
From what directory are you running NFORenum?
What command line are you using?

If you can create a .renum directory in C:\ (you'll have to use the command line for this), that may hide the problem.

Failing that, typing set HOME=<directory> at the command line will work at least until you close that console, and possibly until your next reboot.
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
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

Oh, and one more thing: What's the output of "dir /a C:\"?
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
Jezulkim
Chairman
Chairman
Posts: 844
Joined: 04 Jan 2004 09:40
Location: Finland/Suomi

Post by Jezulkim »

DaleStan wrote:Which was the last version that worked?.
I don't know, since I didn't update the program for a while, until now. The version that's working for me is: v2.6.1
From what directory are you running NFORenum?
Running from "D:\Transport Tycoon\sprites"
What command line are you using?
None, I'm just dragging the file to the renum.exe. And because that didn't work I used: renum *.nfo That works but is much slower.
If you can create a .renum directory in C:\ (you'll have to use the command line for this), that may hide the problem.
This didn't help me, it still says the same.
Oh, and one more thing: What's the output of "dir /a C:\"?
Disc in drive C is LEVY1
Disc's serial number is 1C2F-19DE
Directory: C:\
... A bunch of files and folders were shown here ...
31 file(s) 2 806 256 bytes
10 directory(s) 979 865 600 bytes free
That was in finnish so I had to translate it.
Image
In order to protect the visitors of this site,
TTO Full Conversion!
This post has been lol 1337 times.
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

I ask a whole bunch of questions, and it turns out that the answer to the first one was what I needed.

I now have a theory, and if it is correct, v2.6.4 will work, but v2.8.0 will not. (Those are the .zip files. The .rars are here: v2.6.4, v2.8.0, and the bz2balls are here: v2.6.4, v2.8.0.)
Please confirm this.

I'm not sure how much help it will be, since I can currently only test on Linux and WinXP, but what version of Windows are you running? I'm assuming it's 98 or Me?
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
Wile E. Coyote
Tycoon
Tycoon
Posts: 8515
Joined: 08 Jul 2004 22:14
Skype: wile.e.coyote2
Location: Belgrade, Serbia
Contact:

Post by Wile E. Coyote »

DaleStan wrote:These are the list of things NFORenum will (sometimes) auto-correct:
Action 0 <num-props>
Action 0 <num-info>
House/industry tile extended format standard action 2 <num-sprites>
Variational action 2 <nvar>
Random action 2 <nrand>
Action 3 <num-cid>
Action 4 <num-ent>
Action 7/9 <varsize>
Action A <num-sets>
Action E <num>
Action 12 <num-def>

Did I miss anything?
I suggest to correct number of sprites to skip in actions 7/9 if it's greater than remaining to end of NFO (to appropriate number or maybe to 00).
Serbian rail set with Serbian scenario (ECS, PBI, FIRS and Tourist set compatible) Website | Topic and download | Latest version: 03.06.2015.
Serbian tram set Tracking table | TTD Patch tram set Latest version: 17.06.2015. | Open TTD Remix Latest version: 11.07.2015.
WIN-DOS GRF Converter Topic and download | Version 0.2.1: 09.01.2005.


Runner-up in "Best avatar Forums award" for years 2006 and 2010!
User avatar
Jezulkim
Chairman
Chairman
Posts: 844
Joined: 04 Jan 2004 09:40
Location: Finland/Suomi

Post by Jezulkim »

I'm using 98.
DaleStan wrote:I now have a theory, and if it is correct, v2.6.4 will work, but v2.8.0 will not. (Those are the .zip files. The .rars are here: v2.6.4, v2.8.0, and the bz2balls are here: v2.6.4, v2.8.0.)
Please confirm this.
All those archives seem to be broken, I tried the winrar's repair function but that couldn't make them work. Anyways, I tried the version 2.8.6., and that gave me the same error as the latest nfo renum.
Image
In order to protect the visitors of this site,
TTO Full Conversion!
This post has been lol 1337 times.
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

Jezulkim wrote:All those archives seem to be broken,
They should be fixed now, but the fact that 2.8.6 also doesn't work basically tells me that my theory is correct.
I'll see if I can fix the problem. In the mean-time, if you can compile, please test the following calls:

Code: Select all

mkdir("C:/1");
mkdir("C:\\2");
mkdir("C:\\/3");
mkdir("C:\\\\4");
mkdir("C:\\windows/5");
mkdir("C:\\windows\\6");
mkdir("C:\\windows\\/7");
mkdir("C:\\windows\\\\8");
(or similar calls with the same slash order) and tell me which ones succeed and which ones fail.
(IIRC, you'll have to #include <direct.h> to compile.)
Wile E. Coyote wrote:I suggest to correct number of sprites to skip in actions 7/9 if it's greater than remaining to end of NFO (to appropriate number or maybe to 00).
That'll require multi-pass linting; something I don't have yet, but I'll add it to my TODO.

I can check that action 7/9 aren't skipping past the end of the file, though.
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
Jezulkim
Chairman
Chairman
Posts: 844
Joined: 04 Jan 2004 09:40
Location: Finland/Suomi

Post by Jezulkim »

DaleStan wrote: They should be fixed now, but the fact that 2.8.6 also doesn't work basically tells me that my theory is correct.
I'll see if I can fix the problem. In the mean-time, if you can compile,
It looks like your theory is correct, those two versions worked exactly like you said. And I can't compile, sorry.
Image
In order to protect the visitors of this site,
TTO Full Conversion!
This post has been lol 1337 times.
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

OK, here are two test binaries.

Can either of them successfully create C:\.renum? And if only one of them can, which one?

For those who are curious, I was attempting the equivalent of lines 3/7, and Win98 seems not to like that. 3.2.1a strips the trailing / or \ from the specified data directory, if it exists, while 3.2.1b appends a . after a trailing / or \.
Attachments
renum-3.2.1-test.zip
(204.94 KiB) Downloaded 338 times
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
Jezulkim
Chairman
Chairman
Posts: 844
Joined: 04 Jan 2004 09:40
Location: Finland/Suomi

Post by Jezulkim »

This is great, both of those work nice and smooth :)
Image
In order to protect the visitors of this site,
TTO Full Conversion!
This post has been lol 1337 times.
User avatar
Wile E. Coyote
Tycoon
Tycoon
Posts: 8515
Joined: 08 Jul 2004 22:14
Skype: wile.e.coyote2
Location: Belgrade, Serbia
Contact:

Post by Wile E. Coyote »

DaleStan wrote:Take, for example, these sprites:

Code: Select all

1*0 02 00 00 00 00 00 00 01 00 02 00 03 00 04 00
2*0 02 00 10 81 7F 00 02 03 02 01 00 00 00 02 00 01 01
3*0 00 00 01 01 02 00 06 15 08 01
In sprite 1, there's no way of telling whether nument1 and nument2 are supposed to be 00 05, 01 04, 02 03, 03 02, 04 01, or 05 00.
In sprite 2, is that <nvar> == 1 with two extra bytes, or <nvar>==2 with a missing default?
In sprite 3, is that one property for two vehicles, or two properties for one vehicle?
DaleStan, what you think about specifying how to correct sprite (with switch)?
Also, might be useful to create multiple backups (if file.nfo.bak is allready present, to rename it to file.nfo.bak1 or so.)
(I just putting some ideas.)
Serbian rail set with Serbian scenario (ECS, PBI, FIRS and Tourist set compatible) Website | Topic and download | Latest version: 03.06.2015.
Serbian tram set Tracking table | TTD Patch tram set Latest version: 17.06.2015. | Open TTD Remix Latest version: 11.07.2015.
WIN-DOS GRF Converter Topic and download | Version 0.2.1: 09.01.2005.


Runner-up in "Best avatar Forums award" for years 2006 and 2010!
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

Wile E. Coyote wrote:DaleStan, what you think about specifying how to correct sprite (with switch)?
I like the idea, but I can't produce a useful format here.
Tell me more. What would you type, where would you type it, and what would the desired result be?
Wile E. Coyote wrote:Also, might be useful to create multiple backups
That it might; I'll look into it.
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
Wile E. Coyote
Tycoon
Tycoon
Posts: 8515
Joined: 08 Jul 2004 22:14
Skype: wile.e.coyote2
Location: Belgrade, Serbia
Contact:

Post by Wile E. Coyote »

I'm still thinking, nothing useful comes in mind :( ; I must have more time to see some cases; maybe to PM me various cases (if missing default in var actions 2 maybe to add option to put 00 00 as default, for example, altough it won't be useful allways).
Serbian rail set with Serbian scenario (ECS, PBI, FIRS and Tourist set compatible) Website | Topic and download | Latest version: 03.06.2015.
Serbian tram set Tracking table | TTD Patch tram set Latest version: 17.06.2015. | Open TTD Remix Latest version: 11.07.2015.
WIN-DOS GRF Converter Topic and download | Version 0.2.1: 09.01.2005.


Runner-up in "Best avatar Forums award" for years 2006 and 2010!
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

Thanks for the testing, Jezulkim. We again have an official version that will work on Win9x. (It can also put the .renum directory in Linux's /, just in case anyone thinks that's a good idea.)

Changelog:
v3.2.1 to v3.3.0
- Add an auto corrector, which will attempt to correct some portions of some pseudo-sprites when enabled. (See README)
- (bugfix) Specifying -f could potentially cause undefined behaviour.
- Allow + and - in more places on the commandline. Specifically, in eg
"-b convertonly+", rather than just "-b-".
- (devel, docs) fixed release scripts that caused breakage in the 3.2.1 docs, and repaired the breakage.
- Also check for embedded 00 bytes after the 01 and 1F control characters.
- Add a length-check for actions 7 and 9.
- Produce more useful and reliable messages when a file-system-related call fails.
- If the input file can't be deleted, report about that, instead of just reporting that the rename failed.
- Check that action 7/9 don't jump past the end of the file.
- (bugfix) Fix an issue creating the .renum folder on Win9x
- Update langs.dat for the new languages.
- (bugfix) Warn about action 4s that declare no texts, rather than dying.
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
Wile E. Coyote
Tycoon
Tycoon
Posts: 8515
Joined: 08 Jul 2004 22:14
Skype: wile.e.coyote2
Location: Belgrade, Serbia
Contact:

Post by Wile E. Coyote »

DaleStan, that's incredible! :D I think this deserves version number 4.0.0 and name "NFO renumberer, linter and corrector". :wink: I'm sorry I haven't ability to test it before.
Few more suggestions: to add 00 at the end of Action 4 and 8 or FF at the end of Action 6 if missing? And correct num entries in Actions 4 and 6.
Serbian rail set with Serbian scenario (ECS, PBI, FIRS and Tourist set compatible) Website | Topic and download | Latest version: 03.06.2015.
Serbian tram set Tracking table | TTD Patch tram set Latest version: 17.06.2015. | Open TTD Remix Latest version: 11.07.2015.
WIN-DOS GRF Converter Topic and download | Version 0.2.1: 09.01.2005.


Runner-up in "Best avatar Forums award" for years 2006 and 2010!
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

Wile E. Coyote wrote:Few more suggestions: to add 00 at the end of Action 4 and 8 or FF at the end of Action 6 if missing?
Shouldn't be too hard, but I can't do that right now.

quote="Wile E. Coyote"]And correct num entries in Actions 4...[/quote]
README wrote:Action 4 <num-ent>: Count of strings found in the action 4. This includes the last one, even if its terminating null is missing.
Wile E. Coyote wrote:... and 6.
Auto-correct what again?

Glad you like it. If you want to make it v4.0.0, just deUPX it, hunt for the string "3.3.0", and change it to "4.0.0". Optionally, reUPX it.
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
Wile E. Coyote
Tycoon
Tycoon
Posts: 8515
Joined: 08 Jul 2004 22:14
Skype: wile.e.coyote2
Location: Belgrade, Serbia
Contact:

Post by Wile E. Coyote »

DaleStan wrote:
Wile E. Coyote wrote:And correct num entries in Actions 4...
README wrote:Action 4 <num-ent>: Count of strings found in the action 4. This includes the last one, even if its terminating null is missing.
Yes, I mean that, <if num-ent> isn't correct.
DaleStan wrote:
Wile E. Coyote wrote:... and 6.
Auto-correct what again?
My mistake, sorry. :oops:
Serbian rail set with Serbian scenario (ECS, PBI, FIRS and Tourist set compatible) Website | Topic and download | Latest version: 03.06.2015.
Serbian tram set Tracking table | TTD Patch tram set Latest version: 17.06.2015. | Open TTD Remix Latest version: 11.07.2015.
WIN-DOS GRF Converter Topic and download | Version 0.2.1: 09.01.2005.


Runner-up in "Best avatar Forums award" for years 2006 and 2010!
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

And my point is that it does auto-correct action 4's nument. Or if it doesn't, I need to see a demonstrating sprite.
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
Wile E. Coyote
Tycoon
Tycoon
Posts: 8515
Joined: 08 Jul 2004 22:14
Skype: wile.e.coyote2
Location: Belgrade, Serbia
Contact:

Post by Wile E. Coyote »

Here it is:

Code: Select all

1 * 14	 04 00 7F 01 00 "text1" 00 "text2" 00
It doesn't changed in case with 00 at the end or not, it reports "No more data was expected".
Serbian rail set with Serbian scenario (ECS, PBI, FIRS and Tourist set compatible) Website | Topic and download | Latest version: 03.06.2015.
Serbian tram set Tracking table | TTD Patch tram set Latest version: 17.06.2015. | Open TTD Remix Latest version: 11.07.2015.
WIN-DOS GRF Converter Topic and download | Version 0.2.1: 09.01.2005.


Runner-up in "Best avatar Forums award" for years 2006 and 2010!
DaleStan
TTDPatch Developer
TTDPatch Developer
Posts: 10285
Joined: 18 Feb 2004 03:06
Contact:

Post by DaleStan »

It works for me. Are you sure you ran one of

Code: Select all

renum -a file.nfo
renum --auto-correct file.nfo
and not just

Code: Select all

renum file.nfo
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
Locked

Return to “NewGRF Technical Discussions”

Who is online

Users browsing this forum: No registered users and 13 guests