Help me with nfo coding for vehicle sets.

Discuss, get help with, or post new graphics for TTDPatch and OpenTTD, using the NewGRF system, here. Graphics for plain TTD also acceptable here.

Moderator: Graphics Moderators

Post Reply
User avatar
Maddog45353
Engineer
Engineer
Posts: 112
Joined: 26 Jun 2013 09:00

Help me with nfo coding for vehicle sets.

Post by Maddog45353 »

So i am trying to find the running cost and purchase costs in a NFO of a grf i am working/editing on but i can't seem to find the proper value.
I have learned NML for town names and making a town name grf right now with 5000 town names that are most populated in real life.
But i need help changing running and purchase costs in a vehicle.


Also what's the best way to edit NFO files cause some have weird symbols still?

Like in the ogfx1_base.grf one there is this line
[+] Spoiler

Code: Select all

799 * 257	 00 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
	 1F " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEF``abcdefgP"
	 "QRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 7F
	 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E "Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±"
	 "²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâã"
	 "äåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
So is it possible to read that code or no?
LoneBlackWolf
User avatar
NekoMaster
Tycoon
Tycoon
Posts: 4001
Joined: 16 Aug 2008 22:26
Skype: neko-master
Location: Oshawa, Ontario, CANADA

Re: Help me with nfo coding for vehicle sets.

Post by NekoMaster »

I just started with NML my self but I already figured out running and purchase costs.

in your vehicle nml files (example, src/diesel/Locomotive_Model.pnml) you'll find the lines below

Code: Select all

        cost_factor: 28;
		running_cost_factor: 200;
they dont have exact monetary values, so you'll have to change those numbers, compile, and see the cost changes in game by loading up your compiled grf.

If anything, I've found you can compile a grf while the game is running and from the NewGRF settings window just hit Apply CHanges after your code compiles and you paste the grf in your data folder.
Image Proud Canadian Image
Nekomasters Projects! (Downloads available on BaNaNaS!) \(>^w^<)/
# NARS ADD-ON SET 2CC | 2cc Rapid Transit For Me! (2ccRTFM) | 2cc Wagons In NML (2ccWIN)
# NML Category System (Organize your GRFS!) <- TT-Forums Exclusive Download!
User avatar
Maddog45353
Engineer
Engineer
Posts: 112
Joined: 26 Jun 2013 09:00

Re: Help me with nfo coding for vehicle sets.

Post by Maddog45353 »

NekoMaster wrote:I just started with NML my self but I already figured out running and purchase costs.

in your vehicle nml files (example, src/diesel/Locomotive_Model.pnml) you'll find the lines below

Code: Select all

        cost_factor: 28;
		running_cost_factor: 200;
they dont have exact monetary values, so you'll have to change those numbers, compile, and see the cost changes in game by loading up your compiled grf.

If anything, I've found you can compile a grf while the game is running and from the NewGRF settings window just hit Apply CHanges after your code compiles and you paste the grf in your data folder.

Ah i should mention i need to find it in NFO file not PNML or NML.
LoneBlackWolf
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Help me with nfo coding for vehicle sets.

Post by Alberth »

Maddog45353 wrote:But i need help changing running and purchase costs in a vehicle.
Afaik you can modify properties of stuff provided by other newgrfs. No idea if that includes vehicles, or whether you can code that in NML, but it seems like a simpler route to me than trying to make sense of pages of hexadecimal numbers.

Maddog45353 wrote:Also what's the best way to edit NFO files cause some have weird symbols still?

Like in the ogfx1_base.grf one there is this line
[+] Spoiler

Code: Select all

799 * 257	 00 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
	 1F " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEF``abcdefgP"
	 "QRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 7F
	 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E "Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±"
	 "²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâã"
	 "äåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
So is it possible to read that code or no?
Just use the source code: https://dev.openttdcoop.org/projects/opengfx

To edit such files, you need a text-editor that supports the encoding of the file that you edit. NML always uses UTF-8 encoding afaik. Don't know what grfcodec uses, but chances are that it also uses UTF-8 encoding.
Most modern editors support this encoding, but the name of it at the GUI is not always clear. Some editor use the correct UTF-8 name, other incorrectly say "Unicode".

The simplest way to check is to decode a grf, make a trivial change like adding a space character, save, and build the grf again from the saved file. Size and hash of the resulting grf should be the same as what you started with.
Being a retired OpenTTD developer does not mean I know what I am doing.
User avatar
Maddog45353
Engineer
Engineer
Posts: 112
Joined: 26 Jun 2013 09:00

Re: Help me with nfo coding for vehicle sets.

Post by Maddog45353 »

Alberth wrote:
Maddog45353 wrote:But i need help changing running and purchase costs in a vehicle.
Afaik you can modify properties of stuff provided by other newgrfs. No idea if that includes vehicles, or whether you can code that in NML, but it seems like a simpler route to me than trying to make sense of pages of hexadecimal numbers.

Maddog45353 wrote:Also what's the best way to edit NFO files cause some have weird symbols still?

Like in the ogfx1_base.grf one there is this line
[+] Spoiler

Code: Select all

799 * 257	 00 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
	 1F " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEF``abcdefgP"
	 "QRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 7F
	 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E "Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±"
	 "²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâã"
	 "äåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
So is it possible to read that code or no?
Just use the source code: https://dev.openttdcoop.org/projects/opengfx

To edit such files, you need a text-editor that supports the encoding of the file that you edit. NML always uses UTF-8 encoding afaik. Don't know what grfcodec uses, but chances are that it also uses UTF-8 encoding.
Most modern editors support this encoding, but the name of it at the GUI is not always clear. Some editor use the correct UTF-8 name, other incorrectly say "Unicode".

The simplest way to check is to decode a grf, make a trivial change like adding a space character, save, and build the grf again from the saved file. Size and hash of the resulting grf should be the same as what you started with.


So to no avail I'm gonna post a little bit of nars2's decompiled nfo file and if you could point out where the costs are in it.

Large Spoiler below.

I hope i am not breaking any rules or anything i just can't seem to understand the nfo file, if only i could make it nml converted.


Where is action0 or the running cost/purchase costs action in this code for the Norris?
[+] Spoiler

Code: Select all

// Automatically generated by GRFCODEC. Do not modify!
// (Info version 32)
// Escapes: 2+ 2- 2< 2> 2u< 2u> 2/ 2% 2u/ 2u% 2* 2& 2| 2^ 2sto = 2s 2rst = 2r 2psto 2ror = 2rot 2cmp 2ucmp 2<< 2u>> 2>>
// Escapes: 71 70 7= 7! 7< 7> 7G 7g 7gG 7GG 7gg 7c 7C
// Escapes: D= = DR D+ = DF D- = DC Du* = DM D* = DnF Du<< = DnC D<< = DO D& D| Du/ D/ Du% D%
// Format: spritenum imagefile depth xpos ypos xsize ysize xrel yrel zoom flags
    0 * 4	 A0 1B 00 00
    1 * 19	 14 "CINFOBVRSN" 04 00 FB 00 00 00 00 00
    2 * 19	 14 "CINFOBMINV" 04 00 FA 00 00 00 00 00
    3 * 16	 14 "CINFOBPALS" 01 00 57 00 00
    4 * 195	 14 "CINFOBNPAR" 01 00 01 "CPARAC" 00 00 00 00 "TNAME" 7F "Reduce "
	 "vehicle costs" 00 "TDESC" 7F "Halve the purchase "
	 "and running costs of all trains. "
	 "This may be useful if you want a "
	 "faster or easier game." 00 "BMASK" 03 00 00 00
	 01 "BTYPE" 01 00 01 "BDFLT" 01 00 00 00 00 00 00
    5 * 221	 08 08 "DD" 03 02 "North American Railway Set "
	 "(NARS) 2.51" 00 94 "Version " 95 "2.51 - April "
	 "2015" 0D 0D 94 "Coded by " 95 "David Dallaston, "
	 94 "graphics by " 95 "Dan MacKellar " 94 "and "
	 95 "David Dallaston. " 94 "Special thanks "
	 "to " 95 "all the developers " 94 "of " 95 "TTDPatch "
	 94 "and " 95 "OpenTTD." 00
    6 * 22	 00 08 01 04 00 12 "RAILELRLMONOMGLV"
    7 * 194	 00 08 01 2F 00 09 "PASSCOALMAILOIL_LVSTGOODGRAIWOODIORESTELVALU"
	 "PAPRFOODFRUTCOREWATRRUBRTWODWHEAMAIZGOLDDIAMFERTVE"
	 "HICOPRWDPRPLASTOURPETRSCMTENSPFMSPMNSPBEERAOREBDMT"
	 "SGCNSGBTRFPRCLAYFICRGRVLMILKRCYCSANDFISHWOOL"
    8 * 6	 09 00 01 \71 00 04
    9 * 7	 00 08 01 01 0F 08 07
   10 * 7	 00 08 01 01 2A 08 0C
   11 * 7	 00 08 01 01 10 08 0B
   12 * 7	 00 08 01 01 2B 08 05
   13 * 6	 09 00 01 \70 00 04
   14 * 7	 00 08 01 01 0F 08 06
   15 * 7	 00 08 01 01 2A 08 0B
   16 * 7	 00 08 01 01 10 08 0A
   17 * 7	 00 08 01 01 2B 08 04
   18 * 9	 0D 0A \D= 11 FE FF FF 00 00
   19 * 9	 0D 8E \D= FF 00 02 00 00 00
   20 * 9	 0D 9E \D| 9E FF 08 00 00 00
   21 * 3	 11 07 00
   22 **	 NARS/silence.wav
   23 **	 NARS/whistle.wav
   24 **	 NARS/chime.wav
   25 **	 NARS/dwhistle.wav
   26 **	 NARS/horn.wav
   27 **	 NARS/bighorn.wav
   28 **	 NARS/turbo_horn.wav
   29 * 16	 02 00 80 85 7F 0A 40 FF FF 00 00 01 00 00 00 80
   30 * 17	 02 00 82 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
   31 * 14	 02 00 82 81 43 18 FF 01 82 00 00 00 82 00
   32 * 17	 02 00 84 85 7F 0A 20 FF FF \2+ 1C 04 FF FF 00 00 80
   33 * 14	 02 00 84 81 43 18 F0 01 84 00 00 00 84 00
   34 * 16	 02 00 85 85 7F 0A 40 FF FF 80 00 01 00 00 00 80
   35 * 16	 02 00 86 85 7F 0A 40 FF FF 08 00 01 00 00 00 80
   36 * 16	 02 00 87 85 7F 0A 40 FF FF 88 00 01 00 00 00 80
   37 * 16	 02 00 88 85 7F 0A "@  ≡" 00 01 00 00 00 80
   38 * 16	 02 00 89 85 7F 0A 40 FF FF 03 00 01 00 00 00 80
   39 * 16	 02 00 8A 85 7F 0A "@  0" 00 01 00 00 00 80
   40 * 16	 02 00 8B 85 7F 0A 40 FF FF 04 00 01 00 00 00 80
   41 * 16	 02 00 8C 85 7F 0A "@  @" 00 01 00 00 00 80
   42 * 16	 02 00 8D 85 7F 0A 40 FF FF 0D 00 01 00 00 00 80
   43 * 16	 02 00 8E 85 7F 0A "@  α" 00 01 00 00 00 80
   44 * 16	 02 00 8F 85 7F 0A 40 FF FF 0E 00 01 00 00 00 80
   45 * 39	 02 00 90 80 00 00 10 80 00 80 00 82 00 82 00 84 00 85 00 86 00 87 00 88 00 89 00 8A 00 8B 00 8C
	 00 8D 00 8E 00 8F 00
   46 * 16	 02 00 80 85 7F 0A 40 FF FF 11 00 01 00 00 00 80
   47 * 17	 02 00 82 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
   48 * 14	 02 00 82 81 43 18 FF 01 82 00 00 00 82 00
   49 * 21	 02 00 85 85 7F 0A 60 FF FF 10 00 01 00 \2+ 1C 04 FF FF 00 00 80
   50 * 14	 02 00 85 81 43 18 F0 01 85 00 00 00 85 00
   51 * 16	 02 00 86 85 7F 0A 40 FF FF 17 00 01 00 00 00 80
   52 * 16	 02 00 87 85 7F 0A "@  q" 00 01 00 00 00 80
   53 * 16	 02 00 88 85 7F 0A 40 FF FF 16 00 01 00 00 00 80
   54 * 16	 02 00 89 85 7F 0A "@  a" 00 01 00 00 00 80
   55 * 16	 02 00 8A 85 7F 0A "@  ╤" 00 01 00 00 00 80
   56 * 16	 02 00 8D 85 7F 0A 40 FF FF 1D 00 01 00 00 00 80
   57 * 16	 02 00 8E 85 7F 0A "@  ±" 00 01 00 00 00 80
   58 * 16	 02 00 8F 85 7F 0A "@  ┴" 00 01 00 00 00 80
   59 * 39	 02 00 91 80 00 00 10 80 00 80 00 82 00 82 00 85 00 85 00 86 00 87 00 88 00 89 00 8A 00 8D 00 8D
	 00 8D 00 8E 00 8F 00
   60 * 16	 02 00 80 85 7F 0A "@  \"" 00 01 00 00 00 80
   61 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
   62 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
   63 * 21	 02 00 82 85 7F 0A "`   " 00 01 00 \2+ 1C 04 FF FF 00 00 80
   64 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
   65 * 16	 02 00 83 85 7F 0A 40 FF FF 82 00 01 00 00 00 80
   66 * 16	 02 00 84 85 7F 0A "@  (" 00 01 00 00 00 80
   67 * 16	 02 00 85 85 7F 0A "@  /" 00 01 00 00 00 80
   68 * 16	 02 00 86 85 7F 0A "@  ≥" 00 01 00 00 00 80
   69 * 16	 02 00 87 85 7F 0A "@  ┐" 00 01 00 00 00 80
   70 * 23	 02 00 92 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
   71 * 16	 02 00 80 85 7F 0A "@  3" 00 01 00 00 00 80
   72 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
   73 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
   74 * 21	 02 00 82 85 7F 0A "`  0" 00 01 00 \2+ 1C 04 FF FF 00 00 80
   75 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
   76 * 16	 02 00 83 85 7F 0A 40 FF FF 03 00 01 00 00 00 80
   77 * 16	 02 00 84 85 7F 0A "@  ≤" 00 01 00 00 00 80
   78 * 16	 02 00 85 85 7F 0A "@  >" 00 01 00 00 00 80
   79 * 16	 02 00 86 85 7F 0A "@  =" 00 01 00 00 00 80
   80 * 16	 02 00 87 85 7F 0A "@  ╙" 00 01 00 00 00 80
   81 * 23	 02 00 93 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
   82 * 16	 02 00 80 85 7F 0A "@  D" 00 01 00 00 00 80
   83 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
   84 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
   85 * 21	 02 00 82 85 7F 0A "`  @" 00 01 00 \2+ 1C 04 FF FF 00 00 80
   86 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
   87 * 16	 02 00 83 85 7F 0A "@  ⌠" 00 01 00 00 00 80
   88 * 16	 02 00 84 85 7F 0A "@  O" 00 01 00 00 00 80
   89 * 16	 02 00 85 85 7F 0A "@  N" 00 01 00 00 00 80
   90 * 16	 02 00 86 85 7F 0A "@  M" 00 01 00 00 00 80
   91 * 16	 02 00 87 85 7F 0A "@  ╘" 00 01 00 00 00 80
   92 * 23	 02 00 94 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
   93 * 16	 02 00 80 85 7F 0A "@  U" 00 01 00 00 00 80
   94 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
   95 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
   96 * 21	 02 00 82 85 7F 0A "`  P" 00 01 00 \2+ 1C 04 FF FF 00 00 80
   97 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
   98 * 16	 02 00 83 85 7F 0A 40 FF FF 85 00 01 00 00 00 80
   99 * 16	 02 00 84 85 7F 0A "@  σ" 00 01 00 00 00 80
  100 * 16	 02 00 85 85 7F 0A "@  ^" 00 01 00 00 00 80
  101 * 16	 02 00 86 85 7F 0A "@  ε" 00 01 00 00 00 80
  102 * 16	 02 00 87 85 7F 0A "@  ⌡" 00 01 00 00 00 80
  103 * 23	 02 00 95 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
  104 * 16	 02 00 80 85 7F 0A "@  f" 00 01 00 00 00 80
  105 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  106 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  107 * 21	 02 00 82 85 7F 0A "`  `" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  108 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  109 * 16	 02 00 83 85 7F 0A "@  g" 00 01 00 00 00 80
  110 * 16	 02 00 84 85 7F 0A "@  v" 00 01 00 00 00 80
  111 * 16	 02 00 85 85 7F 0A "@  o" 00 01 00 00 00 80
  112 * 16	 02 00 86 85 7F 0A "@  m" 00 01 00 00 00 80
  113 * 16	 02 00 87 85 7F 0A "@  ╓" 00 01 00 00 00 80
  114 * 23	 02 00 96 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
  115 * 16	 02 00 80 85 7F 0A "@  w" 00 01 00 00 00 80
  116 * 17	 02 00 82 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  117 * 14	 02 00 82 81 43 18 FF 01 82 00 00 00 82 00
  118 * 21	 02 00 85 85 7F 0A "`  p" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  119 * 14	 02 00 85 81 43 18 F0 01 85 00 00 00 85 00
  120 * 16	 02 00 86 85 7F 0A 40 FF FF 17 00 01 00 00 00 80
  121 * 16	 02 00 87 85 7F 0A "@  q" 00 01 00 00 00 80
  122 * 16	 02 00 88 85 7F 0A "@  v" 00 01 00 00 00 80
  123 * 16	 02 00 89 85 7F 0A "@  g" 00 01 00 00 00 80
  124 * 16	 02 00 8A 85 7F 0A "@  ╫" 00 01 00 00 00 80
  125 * 16	 02 00 8D 85 7F 0A "@  }" 00 01 00 00 00 80
  126 * 16	 02 00 8E 85 7F 0A "@  ≈" 00 01 00 00 00 80
  127 * 16	 02 00 8F 85 7F 0A "@  ╟" 00 01 00 00 00 80
  128 * 39	 02 00 97 80 00 00 10 80 00 80 00 82 00 82 00 85 00 85 00 86 00 87 00 88 00 89 00 8A 00 8D 00 8D
	 00 8D 00 8E 00 8F 00
  129 * 16	 02 00 80 85 7F 0A 40 FF FF 88 00 01 00 00 00 80
  130 * 17	 02 00 82 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  131 * 14	 02 00 82 81 43 18 FF 01 82 00 00 00 82 00
  132 * 21	 02 00 84 85 7F 0A 60 FF FF 80 00 01 00 \2+ 1C 04 FF FF 00 00 80
  133 * 14	 02 00 84 81 43 18 F0 01 85 00 00 00 84 00
  134 * 16	 02 00 85 85 7F 0A 40 FF FF 80 00 01 00 00 00 80
  135 * 16	 02 00 86 85 7F 0A 40 FF FF 08 00 01 00 00 00 80
  136 * 16	 02 00 87 85 7F 0A 40 FF FF 85 00 01 00 00 00 80
  137 * 16	 02 00 88 85 7F 0A "@  U" 00 01 00 00 00 80
  138 * 16	 02 00 89 85 7F 0A "@  °" 00 01 00 00 00 80
  139 * 16	 02 00 8A 85 7F 0A 40 FF FF 8F 00 01 00 00 00 80
  140 * 16	 02 00 8B 85 7F 0A "@  8" 00 01 00 00 00 80
  141 * 16	 02 00 8C 85 7F 0A 40 FF FF 8D 00 01 00 00 00 80
  142 * 16	 02 00 8D 85 7F 0A "@  ╪" 00 01 00 00 00 80
  143 * 16	 02 00 8E 85 7F 0A "@  Φ" 00 01 00 00 00 80
  144 * 16	 02 00 8F 85 7F 0A 40 FF FF 8E 00 01 00 00 00 80
  145 * 39	 02 00 98 80 00 00 10 80 00 80 00 82 00 82 00 84 00 85 00 86 00 87 00 88 00 89 00 8A 00 8B 00 8C
	 00 8D 00 8E 00 8F 00
  146 * 16	 02 00 80 85 7F 0A 40 FF FF 99 00 01 00 00 00 80
  147 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  148 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  149 * 21	 02 00 82 85 7F 0A 60 FF FF 90 00 01 00 \2+ 1C 04 FF FF 00 00 80
  150 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  151 * 16	 02 00 83 85 7F 0A "@  Y" 00 01 00 00 00 80
  152 * 16	 02 00 84 85 7F 0A "@  ∙" 00 01 00 00 00 80
  153 * 16	 02 00 85 85 7F 0A "@  ƒ" 00 01 00 00 00 80
  154 * 16	 02 00 86 85 7F 0A "@  ε" 00 01 00 00 00 80
  155 * 16	 02 00 87 85 7F 0A 40 FF FF 9E 00 01 00 00 00 80
  156 * 23	 02 00 99 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
  157 * 16	 02 00 80 85 7F 0A "@  ¬" 00 01 00 00 00 80
  158 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  159 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  160 * 21	 02 00 82 85 7F 0A "`  á" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  161 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  162 * 16	 02 00 83 85 7F 0A "@  :" 00 01 00 00 00 80
  163 * 16	 02 00 84 85 7F 0A "@  ·" 00 01 00 00 00 80
  164 * 16	 02 00 85 85 7F 0A "@  »" 00 01 00 00 00 80
  165 * 16	 02 00 86 85 7F 0A "@  Ω" 00 01 00 00 00 80
  166 * 16	 02 00 87 85 7F 0A "@  «" 00 01 00 00 00 80
  167 * 23	 02 00 9A 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
  168 * 16	 02 00 80 85 7F 0A "@  ╗" 00 01 00 00 00 80
  169 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  170 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  171 * 21	 02 00 82 85 7F 0A "`  ░" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  172 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  173 * 16	 02 00 83 85 7F 0A 40 FF FF 8B 00 01 00 00 00 80
  174 * 16	 02 00 84 85 7F 0A "@  ¬" 00 01 00 00 00 80
  175 * 16	 02 00 85 85 7F 0A "@   " 00 01 00 00 00 80
  176 * 16	 02 00 86 85 7F 0A "@  ▓" 00 01 00 00 00 80
  177 * 16	 02 00 87 85 7F 0A "@  ┐" 00 01 00 00 00 80
  178 * 23	 02 00 9B 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
  179 * 16	 02 00 80 85 7F 0A "@  ╠" 00 01 00 00 00 80
  180 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  181 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  182 * 21	 02 00 82 85 7F 0A "`  └" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  183 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  184 * 16	 02 00 83 85 7F 0A "@  |" 00 01 00 00 00 80
  185 * 16	 02 00 84 85 7F 0A "@  ═" 00 01 00 00 00 80
  186 * 16	 02 00 85 85 7F 0A "@  ▄" 00 01 00 00 00 80
  187 * 16	 02 00 86 85 7F 0A "@  ⁿ" 00 01 00 00 00 80
  188 * 16	 02 00 87 85 7F 0A "@  ╧" 00 01 00 00 00 80
  189 * 23	 02 00 9C 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
  190 * 16	 02 00 80 85 7F 0A "@  ▌" 00 01 00 00 00 80
  191 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  192 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  193 * 21	 02 00 82 85 7F 0A "`  ╨" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  194 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  195 * 16	 02 00 83 85 7F 0A "@  ]" 00 01 00 00 00 80
  196 * 16	 02 00 84 85 7F 0A "@  ╘" 00 01 00 00 00 80
  197 * 16	 02 00 85 85 7F 0A "@  M" 00 01 00 00 00 80
  198 * 16	 02 00 86 85 7F 0A "@  ▀" 00 01 00 00 00 80
  199 * 16	 02 00 87 85 7F 0A "@  φ" 00 01 00 00 00 80
  200 * 23	 02 00 9D 80 00 00 08 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00
  201 * 16	 02 00 80 85 7F 0A "@  ε" 00 01 00 00 00 80
  202 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  203 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  204 * 21	 02 00 82 85 7F 0A "`  α" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  205 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  206 * 16	 02 00 85 85 7F 0A "@  ■" 00 01 00 00 00 80
  207 * 16	 02 00 86 85 7F 0A "@  ∩" 00 01 00 00 00 80
  208 * 16	 02 00 87 85 7F 0A "@   " 00 01 00 00 00 80
  209 * 23	 02 00 9E 80 00 00 08 80 00 81 00 81 00 82 00 82 00 85 00 86 00 87 00
  210 * 16	 02 00 80 85 7F 0A "@   " 00 01 00 00 00 80
  211 * 17	 02 00 81 85 7F 0A 20 FF FF \2+ 1C 00 FF FF 00 00 80
  212 * 14	 02 00 81 81 43 18 FF 01 81 00 00 00 81 00
  213 * 21	 02 00 82 85 7F 0A "`  ≡" 00 01 00 \2+ 1C 04 FF FF 00 00 80
  214 * 14	 02 00 82 81 43 18 F0 01 82 00 00 00 82 00
  215 * 16	 02 00 85 85 7F 0A "@  ■" 00 01 00 00 00 80
  216 * 16	 02 00 86 85 7F 0A "@  ∩" 00 01 00 00 00 80
  217 * 16	 02 00 87 85 7F 0A "@  ε" 00 01 00 00 00 80
  218 * 23	 02 00 9F 80 00 00 08 80 00 81 00 81 00 82 00 82 00 85 00 86 00 87 00
  219 * 70	 02 00 99 81 43 18 0F 0F 90 00 00 00 91 00 01 01 92 00 02 02 93 00 03 03 94 00 04 04 95 00 05 05
	 96 00 06 06 97 00 07 07 98 00 08 08 99 00 09 09 9A 00 0A 0A 9B 00 0B 0B 9C 00 0C 0C 9D 00 0D 0D
	 9E 00 0E 0E 9F 00
  220 * 4	 01 00 01 01
  221 NARS/newnars00.png  8bpp  354   72   14   14    1    1 normal
  222 * 9	 02 00 00 01 01 00 00 00 00
  223 * 122	 00 00 01 74 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
	 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
	 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
	 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  224 * 18	 04 00 7F 01 00 "4-2-0 Norris" 00
  225 * 4	 01 00 02 08
  226 NARS/newnars00.png  8bpp  450   72    8   16   -3  -14 normal
  227 NARS/newnars00.png  8bpp  466   72   14   13   -6   -9 normal chunked
  228 NARS/newnars00.png  8bpp  498   72   16   11    0   -7 normal
  229 NARS/newnars00.png  8bpp  530   72   13   11    2   -3 normal chunked
  230 NARS/newnars00.png  8bpp  562   72    8   14   -3   -4 normal
  231 NARS/newnars00.png  8bpp  578   72   13   11  -13   -3 normal chunked
  232 NARS/newnars00.png  8bpp  610   72   16   11  -16   -7 normal
  233 NARS/newnars00.png  8bpp  642   72   14   13   -6   -9 normal chunked
  234 NARS/newnars00.png  8bpp  674   72    8    8   -3   -8 normal
  235 NARS/newnars00.png  8bpp  690   72    9    8   -3   -5 normal chunked
  236 NARS/newnars00.png  8bpp  706   72    8    8    4   -4 normal
  237 NARS/newnars00.png  8bpp  722   72    9    8    4   -1 normal chunked
  238 NARS/newnars00.png  8bpp  738   72    8   10   -3   -2 normal
  239 NARS/newnars00.png  8bpp  754   72    9    8  -11   -1 normal chunked
  240 NARS/newnars00.png  8bpp  770   72    8    8  -12   -4 normal
  241 NARS/newnars00.png  8bpp  786   72    9    8   -4   -5 normal chunked
  242 * 9	 02 00 10 01 01 00 00 00 00
  243 * 9	 02 00 20 01 01 01 00 01 00
  244 * 4	 01 00 01 01
  245 NARS/newnars00.png  8bpp   50  104   24   11  -12   -7 normal
  246 * 9	 02 00 C0 01 01 00 00 00 00
  247 * 14	 02 00 16 81 10 00 FF 01 00 80 01 01 FF FF
  248 * 14	 02 00 10 81 0C 00 FF 01 16 00 16 16 10 00
  249 * 18	 02 00 33 81 10 00 FF 02 4A 80 01 01 4A 80 02 02 00 00
  250 * 14	 02 00 10 81 0C 00 FF 01 33 00 33 33 10 00
  251 * 15	 02 00 0D 85 1A 40 18 00 00 00 04 00 00 00 00
  252 * 17	 02 00 0D 86 B4 00 FF FF 01 0D 00 00 00 00 00 18 80
  253 * 14	 02 00 36 81 10 00 FF 01 0D 00 0D 0D 00 00
  254 * 14	 02 00 10 81 0C 00 FF 01 36 00 36 36 10 00
  255 * 14	 02 00 36 81 10 00 FF 01 05 80 21 21 00 00
  256 * 18	 02 00 20 81 0C 00 FF 02 36 00 36 36 40 80 10 10 20 00
  257 * 14	 02 00 10 81 41 00 01 01 20 00 01 01 10 00
  258 * 10	 03 00 01 00 01 FF C0 00 10 00
  259 * 101	 00 00 28 01 00 00 00 00 2A E7 3C 0A 00 02 14 03 23 04 46 05 00 06 0F 07 05 09 38 00 0B C8 00 16
	 14 24 00 1F 1A 17 14 0D 18 21 05 22 14 19 00 0E 30 4C 00 00 12 FD 13 00 14 00 15 00 08 00 18 00
	 1A 80 1B 00 00 1C 00 1D 00 00 00 00 1E 91 20 00 23 00 25 00 26 14 27 1A 28 00 00 29 00 00 2B B9
	 00 2C 00 2D 00
  260 * 20	 04 00 7F 01 01 "4-4-0 American" 00
LoneBlackWolf
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: Help me with nfo coding for vehicle sets.

Post by michael blunck »

Maddog45353 wrote: Where is action0 or the running cost/purchase costs action in this code for the Norris?

Code: Select all

  259 * 101    00 00 28 01 00 00 00 00 2A E7 3C 0A 00 02 14 03 23 04 46 05 00 06 0F 07 05 09 38 00 0B C8 00 16
    14 24 00 1F 1A 17 14 0D 18 21 05 22 14 19 00 0E 30 4C 00 00 12 FD 13 00 14 00 15 00 08 00 18 00
    1A 80 1B 00 00 1C 00 1D 00 00 00 00 1E 91 20 00 23 00 25 00 26 14 27 1A 28 00 00 29 00 00 2B B9
    00 2C 00 2D 00
->

Code: Select all

  259 * 101    00 00 28 01 
00 // veh ID
00 00 00 // intro date (default)
2A E7 3C 0A 00 // intro date (long format)
02 14 // reliability decay speed
03 23 // veh life
04 46 // model life
05 00 // track type
06 0F // climate availability
07 05 // load amount
09 38 00 // speed
0B C8 00 // power
16 14 // weight
24 00 // weight (hi-byte)
1F 1A // tractive effort factor
17 14 // cost factor
0D 18 // running cost factor
21 05 // shorten vehicle
22 14 // visual effect type 
19 00 // engine traction type 
0E 30 4C 00 00 // running cost base 
12 FD // new graphics
13 00 // dual-headed?
14 00 // cargo capacity
15 00 // cargo type
08 00 // AI speial flag
18 00 // AI engine rank
1A 80 // sort purchase list
1B 00 00 // additional power
1C 00 // refit cost
1D 00 00 00 00 // cargo mask
1E 91 // callbacks
20 00 // air drag
23 00 // additional weight
25 00 // user-defined bit maks
26 14 // early retire
27 1A // misc flags
28 00 00 // refittable cargo classes
29 00 00 // non-refittable cargo classes
2B B9 00 // cargo aging
2C 00 // refittable cargo types (list)
2D 00 // non-refittable cargo types (list)
HTH
Michael
Image
User avatar
Maddog45353
Engineer
Engineer
Posts: 112
Joined: 26 Jun 2013 09:00

Re: Help me with nfo coding for vehicle sets.

Post by Maddog45353 »

michael blunck wrote:
Maddog45353 wrote: Where is action0 or the running cost/purchase costs action in this code for the Norris?

Code: Select all

  259 * 101    00 00 28 01 00 00 00 00 2A E7 3C 0A 00 02 14 03 23 04 46 05 00 06 0F 07 05 09 38 00 0B C8 00 16
    14 24 00 1F 1A 17 14 0D 18 21 05 22 14 19 00 0E 30 4C 00 00 12 FD 13 00 14 00 15 00 08 00 18 00
    1A 80 1B 00 00 1C 00 1D 00 00 00 00 1E 91 20 00 23 00 25 00 26 14 27 1A 28 00 00 29 00 00 2B B9
    00 2C 00 2D 00
->

Code: Select all

  259 * 101    00 00 28 01 
00 // veh ID
00 00 00 // intro date (default)
2A E7 3C 0A 00 // intro date (long format)
02 14 // reliability decay speed
03 23 // veh life
04 46 // model life
05 00 // track type
06 0F // climate availability
07 05 // load amount
09 38 00 // speed
0B C8 00 // power
16 14 // weight
24 00 // weight (hi-byte)
1F 1A // tractive effort factor
17 14 // cost factor
0D 18 // running cost factor
21 05 // shorten vehicle
22 14 // visual effect type 
19 00 // engine traction type 
0E 30 4C 00 00 // running cost base 
12 FD // new graphics
13 00 // dual-headed?
14 00 // cargo capacity
15 00 // cargo type
08 00 // AI speial flag
18 00 // AI engine rank
1A 80 // sort purchase list
1B 00 00 // additional power
1C 00 // refit cost
1D 00 00 00 00 // cargo mask
1E 91 // callbacks
20 00 // air drag
23 00 // additional weight
25 00 // user-defined bit maks
26 14 // early retire
27 1A // misc flags
28 00 00 // refittable cargo classes
29 00 00 // non-refittable cargo classes
2B B9 00 // cargo aging
2C 00 // refittable cargo types (list)
2D 00 // non-refittable cargo types (list)
HTH
Michael



Oh i see thanks so much.

EDIT1: Wiki doesn't explain this best as i thought it would.

EDIT2: Also there is a parameter for halfing the costs where is that located?
LoneBlackWolf
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: Help me with nfo coding for vehicle sets.

Post by michael blunck »

Maddog45353 wrote: EDIT2: Also there is a parameter for halfing the costs where is that located?
Action0 General Variables, prop 08:
newgrf specs wrote: Setting this property allows changing these base costs by factors of two. The default value of the property is 08 which leaves the base cost unchanged. Adding one to the property doubles the base cost, subtracting one halves it.
regards
Michael
Image
User avatar
Maddog45353
Engineer
Engineer
Posts: 112
Joined: 26 Jun 2013 09:00

Re: Help me with nfo coding for vehicle sets.

Post by Maddog45353 »

michael blunck wrote:
Maddog45353 wrote: EDIT2: Also there is a parameter for halfing the costs where is that located?
Action0 General Variables, prop 08:
newgrf specs wrote: Setting this property allows changing these base costs by factors of two. The default value of the property is 08 which leaves the base cost unchanged. Adding one to the property doubles the base cost, subtracting one halves it.
regards
Michael

sorry i don't see that in the .nfo file.
LoneBlackWolf
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: Help me with nfo coding for vehicle sets.

Post by michael blunck »

Maddog45353 wrote:
michael blunck wrote:
Maddog45353 wrote: EDIT2: Also there is a parameter for halfing the costs where is that located?
Action0 General Variables, prop 08:
sorry i don't see that in the .nfo file.
What nfo file are you talking of? I just know about your "spoiler".

In case the newgrf in question uses any parameters to change properties, look out for "action 0D", "action 7", or "action 9"s.

regards
Michael
Image
User avatar
Maddog45353
Engineer
Engineer
Posts: 112
Joined: 26 Jun 2013 09:00

Re: Help me with nfo coding for vehicle sets.

Post by Maddog45353 »

michael blunck wrote:
Maddog45353 wrote:
michael blunck wrote: Action0 General Variables, prop 08:
sorry i don't see that in the .nfo file.
What nfo file are you talking of? I just know about your "spoiler".

In case the newgrf in question uses any parameters to change properties, look out for "action 0D", "action 7", or "action 9"s.

regards
Michael

Hmmmm.

EDIT1:

Code: Select all

0D 0D 94 "Coded by " 95 "David Dallaston, "
This one?

EDIT2: still having trouble finding the code for the parameter costs code
[+] Spoiler

Code: Select all

    0 * 4	 A0 1B 00 00
    1 * 19	 14 "CINFOBVRSN" 04 00 FB 00 00 00 00 00
    2 * 19	 14 "CINFOBMINV" 04 00 FA 00 00 00 00 00
    3 * 16	 14 "CINFOBPALS" 01 00 57 00 00
    4 * 195	 14 "CINFOBNPAR" 01 00 01 "CPARAC" 00 00 00 00 "TNAME" 7F "Reduce "
	 "vehicle costs" 00 "TDESC" 7F "Halve the purchase "
	 "and running costs of all trains. "
	 "This may be useful if you want a "
	 "faster or easier game." 00 "BMASK" 03 00 00 00
	 01 "BTYPE" 01 00 01 "BDFLT" 01 00 00 00 00 00 00
    5 * 221	 08 08 "DD" 03 02 "North American Railway Set "
	 "(NARS) 2.51" 00 94 "Version " 95 "2.51 - April "
	 "2015" 0D 0D 94 "Coded by " 95 "David Dallaston, "
	 94 "graphics by " 95 "Dan MacKellar " 94 "and "
	 95 "David Dallaston. " 94 "Special thanks "
	 "to " 95 "all the developers " 94 "of " 95 "TTDPatch "
	 94 "and " 95 "OpenTTD." 00
    6 * 22	 00 08 01 04 00 12 "RAILELRLMONOMGLV"
    7 * 194	 00 08 01 2F 00 09 "PASSCOALMAILOIL_LVSTGOODGRAIWOODIORESTELVALU"
	 "PAPRFOODFRUTCOREWATRRUBRTWODWHEAMAIZGOLDDIAMFERTVE"
	 "HICOPRWDPRPLASTOURPETRSCMTENSPFMSPMNSPBEERAOREBDMT"
	 "SGCNSGBTRFPRCLAYFICRGRVLMILKRCYCSANDFISHWOOL"
    8 * 6	 09 00 01 \71 00 04
    9 * 7	 00 08 01 01 0F 08 07
   10 * 7	 00 08 01 01 2A 08 0C
   11 * 7	 00 08 01 01 10 08 0B
   12 * 7	 00 08 01 01 2B 08 05
   13 * 6	 09 00 01 \70 00 04
   14 * 7	 00 08 01 01 0F 08 06
   15 * 7	 00 08 01 01 2A 08 0B
   16 * 7	 00 08 01 01 10 08 0A
   17 * 7	 00 08 01 01 2B 08 04
   18 * 9	 0D 0A \D= 11 FE FF FF 00 00
   19 * 9	 0D 8E \D= FF 00 02 00 00 00
   20 * 9	 0D 9E \D| 9E FF 08 00 00 00
   21 * 3	 11 07 00
LoneBlackWolf
michael blunck
Tycoon
Tycoon
Posts: 5948
Joined: 27 Apr 2005 07:09
Contact:

Re: Help me with nfo coding for vehicle sets.

Post by michael blunck »

Code: Select all

  4 * 195    14 "CINFOBNPAR" 01 00 01 "CPARAC" 00 00 00 00 "TNAME" 7F "Reduce "
    "vehicle costs" 00 "TDESC" 7F "Halve the purchase "
    "and running costs of all trains. "
    "This may be useful if you want a "
    "faster or easier game." 00 "BMASK" 03 00 00 00
    01 "BTYPE" 01 00 01 "BDFLT" 01 00 00 00 00 00 00
This is OTTD´s "action 14", specifying parameter "0" as Boolean, to be used for toggling purchase/running cost reduction.

Action 0 general variable prop8 (cost base multipliers) are then being set depending on value of parameter 0 (bit0 being either set or clear):

Code: Select all

    8 * 6    09 00 01 \71 00 04 // test parameter "0" bit0 if set, and skip next 4 sprites if so 
    9 * 7    00 08 01 01 0F 08 07 // set cost base multiplier 0F (locomotive purchase) -1 (/2)
   10 * 7    00 08 01 01 2A 08 0C // ditto for 2A (steam engine running costs) +4 (*16)
   11 * 7    00 08 01 01 10 08 0B // ditto for 10 (waggon purchase) +3 (*8)
   12 * 7    00 08 01 01 2B 08 05 // ditto for 2B (diesel engine running costs) -3 (/8)

   13 * 6    09 00 01 \70 00 04 // test parameter "0" bit0 if clear, and skip next 4 sprites if so 
   14 * 7    00 08 01 01 0F 08 06 // set cost base multiplier 0F (locomotive purchase) -2 (/4)
   15 * 7    00 08 01 01 2A 08 0B // ditto for 2A (steam engine running costs) +3 (*8)
   16 * 7    00 08 01 01 10 08 0A // ditto for 10 (waggon purchase) +2 (*4)
   17 * 7    00 08 01 01 2B 08 04 // ditto for 2B (diesel engine running costs) -4 (/16)
HTH
Michael
Image
User avatar
Maddog45353
Engineer
Engineer
Posts: 112
Joined: 26 Jun 2013 09:00

Re: Help me with nfo coding for vehicle sets.

Post by Maddog45353 »

michael blunck wrote:

Code: Select all

  4 * 195    14 "CINFOBNPAR" 01 00 01 "CPARAC" 00 00 00 00 "TNAME" 7F "Reduce "
    "vehicle costs" 00 "TDESC" 7F "Halve the purchase "
    "and running costs of all trains. "
    "This may be useful if you want a "
    "faster or easier game." 00 "BMASK" 03 00 00 00
    01 "BTYPE" 01 00 01 "BDFLT" 01 00 00 00 00 00 00
This is OTTD´s "action 14", specifying parameter "0" as Boolean, to be used for toggling purchase/running cost reduction.

Action 0 general variable prop8 (cost base multipliers) are then being set depending on value of parameter 0 (bit0 being either set or clear):

Code: Select all

    8 * 6    09 00 01 \71 00 04 // test parameter "0" bit0 if set, and skip next 4 sprites if so 
    9 * 7    00 08 01 01 0F 08 07 // set cost base multiplier 0F (locomotive purchase) -1 (/2)
   10 * 7    00 08 01 01 2A 08 0C // ditto for 2A (steam engine running costs) +4 (*16)
   11 * 7    00 08 01 01 10 08 0B // ditto for 10 (waggon purchase) +3 (*8)
   12 * 7    00 08 01 01 2B 08 05 // ditto for 2B (diesel engine running costs) -3 (/8)

   13 * 6    09 00 01 \70 00 04 // test parameter "0" bit0 if clear, and skip next 4 sprites if so 
   14 * 7    00 08 01 01 0F 08 06 // set cost base multiplier 0F (locomotive purchase) -2 (/4)
   15 * 7    00 08 01 01 2A 08 0B // ditto for 2A (steam engine running costs) +3 (*8)
   16 * 7    00 08 01 01 10 08 0A // ditto for 10 (waggon purchase) +2 (*4)
   17 * 7    00 08 01 01 2B 08 04 // ditto for 2B (diesel engine running costs) -4 (/16)
HTH
Michael

Thank you very much you're a good helper.
LoneBlackWolf
Post Reply

Return to “Graphics Development”

Who is online

Users browsing this forum: No registered users and 12 guests