User talk:PikkaWiki

From PikkaWiki
Revision as of 01:33, 13 April 2009 by PikkaWiki (Talk | contribs)

Jump to: navigation, search
  • Variable running costs implemented. Aircraft are now cheaper to run when on the ground and when fitted to cargo and flying empty, and more expensive when taking off or broken down.
  • Running cost base doubled.
  • balance tweak: decrease in cargo/mail capacity of large aircraft.
  • balance tweak: increase in purchase price of large aircraft.
  • balance tweak: decrease in running cost of smaller/slower aircraft and helicopters.
  • aircraft with generational graphics (737, 747 and DC-10) now have variable purchase cost, running cost and pax capacity. (Note that capacity changes are not supported OTTD yet).
  • 737, 747, Dash-8, and ATR no longer expire. Increased model life on DC-3 and DC-10.
  • Airship, DC-3, Stratocruiser, L-188, RJ, and 747 can now carry all cargos.
  • Added cargo liveries for the DC-3, Stratocruiser, L-188 and RJ.
  • Disabled the optional aircraft (BAC 1-11, F100, ATR-72 and A340) in OTTD if multiple engine sets are allowed. OTTD users will get a new addon grf containing the extra aircraft.
  • Added a check for conflicting grfs (planeset) if multiple engine sets are allowed, and a parameter to disable the check.
 // ============ diesel engine running cost subroutine (action 2 98)

  475 * 11	 02 00 80 81 7D 01 00 FF 00 00 80 // return base value
  476 * 20	 02 00 81 81 7D 01 20 FF \2u/ 1A 20 \b10 \2+ 7D 01 00 FF 00 00 80 // return base value +10%
  477 * 19	 02 00 82 81 7D 01 20 FF \2u/ 1A 20 \b03 \2* 1A 00 \b02 00 00 80 // return base value -33%
  478 * 15	 02 00 83 81 7D 01 20 FF \2u/ 1A 00 \b02 00 00 80 // return base value -50%
  479 * 15	 02 00 84 81 7D 01 20 FF \2u/ 1A 00 \b03 00 00 80 // return base value -66%
  480 * 15	 02 00 85 81 7D 01 20 FF \2u/ 1A 00 \b04 00 00 80 // return base value -75%
 // bonuses:

  // running (+10% for running hard, -33% for running idle, -66% when stationary)
  481 * 18	 02 00 97 82 98 20 FF \2- B4 00 FF 01
 82 00 00 0C //running idle
 81 00  // running hard
  482 * 14	 02 00 97 82 B4 00 FF 01 97 00 02 FF 84 00 // stationary
  483 * 17	 02 00 97 86 90 00 FF FF 01 97 00 00 00 00 00 84 00 // at signal/station/depot?

  // running -25% = (0 for running hard, -50% for running idle, -66% when stationary)
  484 * 18	 02 00 96 82 98 20 FF \2- B4 00 FF 01
 83 00 00 0C //running idle
 80 00  // running hard
  485 * 14	 02 00 96 82 B4 00 FF 01 96 00 02 FF 84 00 // stationary
  486 * 17	 02 00 96 86 90 00 FF FF 01 96 00 00 00 00 00 84 00 // at signal/station/depot?

 // running - 50% = (-33% for running hard, -66% for running idle, -75% when stationary)
  487 * 18	 02 00 95 82 98 20 FF \2- B4 00 FF 01 
 84 00 00 0C //running idle
 82 00  // running hard
  488 * 14	 02 00 95 82 B4 00 FF 01 95 00 02 FF 85 00 // stationary
  489 * 17	 02 00 95 86 90 00 FF FF 01 95 00 00 00 00 00 85 00 // at signal/station/depot?

 // position (-25% for 1, -50% for > 1)
  490 * 18	 02 00 97 81 40 00 FF 02 97 00 00 00 96 00 01 01 95 00

 // base calculations:
 // add the base, max 220, resave to 7D 01
  491 * 27	 02 00 97 81 1C 20 FF \2+ 7D 01 20 FF \2u< 1A 20 \b220 \2s 1A 00 \b01 01 97 00 00 00 97 00
 //  add age of loco\2
  492 * 26	 02 00 97 85 C0 60 FF FF 00 00 \w730 \2+ 1C 00 FF FF 01 97 00 00 00 00 00 97 00
 // add 1 per 2 years after 1970 up to max 30
  493 * 20	 02 00 98 81 01 60 FF CE 02 \2u< 1A 00 \b30 01 97 00 00 00 97 00
  494 * 14	 02 00 97 81 1A 00 00 01 97 00 00 00 97 00 // set 1C to 0
  495 * 14	 02 00 98 81 01 00 FF 01 97 00 00 \b50 98 00

 // the base loco running cost is stored in 7D 01.

 // =========== end of diesel engine running cost subroutine


// F unit 08

   // Livery 1
 1796 * 4	 01 00 04 08
 <sprites>

 1829 * 9	 02 00 AA 01 01 00 00 00 00
 1830 * 9	 02 00 BB 01 01 01 00 01 00
 1831 * 9	 02 00 1A 01 01 02 00 02 00
 1832 * 9	 02 00 1B 01 01 03 00 03 00

  // Livery 2
 1833 * 4	 01 00 04 08
 <sprites>

 1866 * 9	 02 00 2A 01 01 00 00 00 00
 1867 * 9	 02 00 2B 01 01 01 00 01 00
 1868 * 9	 02 00 3A 01 01 02 00 02 00
 1869 * 9	 02 00 3B 01 01 03 00 03 00

  // Livery 3
 1870 * 4	 01 00 04 08
 <sprites>

 1903 * 9	 02 00 4A 01 01 00 00 00 00
 1904 * 9	 02 00 4B 01 01 01 00 01 00
 1905 * 9	 02 00 5A 01 01 02 00 02 00
 1906 * 9	 02 00 5B 01 01 03 00 03 00

// recolour passenger warbonnet
 1907 * 17	 02 00 84 85 7F 0A 20 FF FF \2+ 1C 04 FF FF 00 00 80
 1908 * 14	 02 00 84 81 43 18 F0 01 84 00 00 00 84 00 // get the player 2cc colour
 1909 * 14	 02 00 84 82 42 00 01 01 84 00 01 01 00 C0 // pax? 
 1910 * 14	 02 00 84 81 47 00 FF 01 00 C0 FF FF 84 00 // buy menu?

 1911 * 14	 02 00 4A 81 0C 00 FF 01 84 00 2D 2D 4A 00
 1912 * 14	 02 00 4B 81 0C 00 FF 01 84 00 2D 2D 4B 00
 1913 * 14	 02 00 5A 81 0C 00 FF 01 84 00 2D 2D 5A 00
 1914 * 14	 02 00 5B 81 0C 00 FF 01 84 00 2D 2D 5B 00

  // Livery 4
 1915 * 4	 01 00 04 08
 <sprites>

 1948 * 9	 02 00 6A 01 01 00 00 00 00
 1949 * 9	 02 00 6B 01 01 01 00 01 00
 1950 * 9	 02 00 7A 01 01 02 00 02 00
 1951 * 9	 02 00 7B 01 01 03 00 03 00

 1952 * 24	 02 00 AA 81 1C 80 FF 00 04 03 2A 00 01 01 4A 00 02 02 6A 00 03 03 AA 00 // livery based on player #
 1953 * 19	 02 00 AA 81 43 20 FF \2+ 7F 02 00 FF 01 AA 00 00 00 AA 00 // add para 02 to player #
 1954 * 24	 02 00 BB 81 1C 80 FF 00 04 03 2B 00 01 01 4B 00 02 02 6B 00 03 03 BB 00 // livery based on player #
 1955 * 19	 02 00 BB 81 43 20 FF \2+ 7F 02 00 FF 01 BB 00 00 00 BB 00 // add para 02 to player #
 1956 * 24	 02 00 1A 81 1C 80 FF 00 04 03 3A 00 01 01 5A 00 02 02 7A 00 03 03 1A 00 // livery based on player #
 1957 * 19	 02 00 1A 81 43 20 FF \2+ 7F 02 00 FF 01 1A 00 00 00 1A 00 // add para 02 to player #
 1958 * 24	 02 00 1B 81 1C 80 FF 00 04 03 3B 00 01 01 5B 00 02 02 7B 00 03 03 1B 00 // livery based on player #
 1959 * 19	 02 00 1B 81 43 20 FF \2+ 7F 02 00 FF 01 1B 00 00 00 1B 00 // add para 02 to player #

// Setup B unit
// it's in the middle, is it facing backwards?
 1960 * 14	 02 00 A0 81 C8 00 FF 01 1B 00 FE FF BB 00
// it's at the back, is it facing backwards?
 1961 * 14	 02 00 A1 81 C8 00 FF 01 1A 00 FE FF BB 00
// is it at the back of a chain?
 1962 * 14	 02 00 A2 81 41 08 FF 01 A1 00 00 00 A0 00
// it's at the front, is it facing forwards?
 1963 * 14	 02 00 A3 81 C8 00 FF 01 AA 00 FD FD 1B 00
// is it at the front of a chain?
 1964 * 14	 02 00 A4 81 41 00 FF 01 A3 00 00 00 A2 00



           // sounds 4D idle 4E 4F run

        // run when accelerating, idle when up to speed
 1965 * 18	 02 00 05 82 98 20 FF 01 B4 00 FF 01 4E 80 00 0C 4F 80 //running
 1966 * 18	 02 00 06 81 10 00 FF 02 05 00 07 07 4D 80 08 08 A4 00 //idling
 1967 * 14	 02 00 37 81 0A 04 01 01 06 00 00 00 A4 00 // only fire every second time
// checks for running sounds:
 1968 * 14	 02 00 27 82 CB 00 FF 01 37 00 00 00 A4 00 // not broken down
 1969 * 17	 02 00 17 86 B2 00 83 00 01 27 00 00 00 00 00 A4 00 // not in a tunnel or depot
 1970 * 14	 02 00 07 81 43 10 FF 01 17 00 00 00 A4 00 // not an AI company
 1971 * 15	 02 00 07 81 7F 00 00 FF 01 A4 00 01 01 07 00 // parameter 0 is not 1

// airhorn callback
 1972 * 18	 02 00 B5 81 10 00 FF 02 4A 80 01 01 4C 80 02 02 07 00
 1973 * 14	 02 00 A5 81 0C 00 FF 01 B5 00 33 33 A4 00

 //powerrrrrrrr                           v1500         v1750
 1974 * 14	 02 00 24 81 C4 00 FF 01 DC 85 00 \b33 D6 86 // vary power based on year built

// RUNNING COSTS (subroutine 98)=============
 1975 * 11	 02 00 21 81 7E 98 00 FF 00 00 80 // gogo gadget subroutine
  //                                vv
 1976 * 18	 02 00 23 81 1A 20 \b44 \2s 1A 00 01 01 21 00 00 00 21 00 // store the running cost
 1977 * 18	 02 00 21 81 1A 20 \b48 \2s 1A 00 01 01 21 00 00 00 21 00 // store the running cost

 1978 * 14	 02 00 21 81 C4 00 FF 01 // vary basecost based on year built
 23 00 00 \b33
 21 00

 1979 * 18	 02 00 21 81 10 00 FF 02 21 00 0D 0D 24 00 0B 0B A5 00
 1980 * 14	 02 00 A5 81 0C 00 FF 01 21 00 36 36 A5 00 // cb36


 // buy menu sprites

 1981 * 4	 01 00 04 01
 <sprites>

 1986 * 9	 02 00 AA 01 01 00 00 00 00
 1987 * 9	 02 00 2A 01 01 01 00 01 00
 1988 * 9	 02 00 4A 01 01 02 00 02 00
 1989 * 9	 02 00 6A 01 01 03 00 03 00
 1990 * 24	 02 00 AA 81 1C 80 FF 00 04 03 2A 00 01 01 4A 00 02 02 6A 00 03 03 AA 00 // livery based on player #
 1991 * 19	 02 00 AA 81 43 20 FF \2+ 7F 02 00 FF 01 AA 00 00 00 AA 00 // add para 02 to player #

 //buy menu powerrrrrrrr                 v1500         v1750
 1992 * 14	 02 00 24 81 01 00 FF 01 DC 85 00 \b33 D6 86 // vary power based on year

  // buy menu running costs
   // add extra fuel costs                                              vv
 1993 * 20	 02 00 21 81 01 60 FF CE 02 \2u< 1A 20 \b30 \2+ 1A 00 \b48 00 00 80
 1994 * 18	 02 00 21 81 01 00 FF 02 // vary basecost based on year
 \b44 80  00 \b33
 \b48 80 \b34 \b50
 21 00
 1995 * 18	 02 00 21 81 10 00 FF 02 21 00 0D 0D 24 00 0B 0B AA 00
 1996 * 14	 02 00 CC 81 0C 00 FF 01 21 00 36 36 AA 00 // cb36


// REGEARING CYCLE ========== (F unit 08)

 // refit cargo callbacks
 1997 * 42	 02 00 20 81 F2 00 FF 08 // texts
  01 80 01 01
  02 80 00 02
  03 80 03 03
  04 80 04 04
  05 80 05 05
  06 80 06 06
  07 80 07 07
  08 80 08 08
  FF FF 
 1998 * 42	 02 00 22 81 F2 00 FF 08 // cb36 max speed
  58 80 01 01
  68 80 00 02
  72 80 03 03
  7C 80 04 04
  85 80 05 05
  8F 80 06 06
  98 80 07 07
  A3 80 08 08
  AA 00
 1999 * 42	 02 00 23 81 F2 00 FF 08 // cb36 TE
  41 80 01 01
  31 80 00 02
  2D 80 03 03
  2A 80 04 04
  27 80 05 05
  24 80 06 06
  22 80 07 07
  20 80 08 08
  AA 00
 2000 * 18	 02 00 21 81 10 00 FF 02 22 00 09 09 23 00 1F 1F A5 00 // cb36 chains
 2001 * 18	 02 00 A5 81 0C 00 FF 02 20 00 19 19 21 00 36 36 A5 00

        // add text callback
 2002 * 14	 02 00 FA 81 0C 00 FF 01 A1 FF 23 23 CC 00

 2003 * 10	 03 00 01 08 01 FF FA 00 A5 00

 2004 * 25	 04 00 7F 01 08 "EMD F-Unit (Diesel)" 00
// 12 FD : 00 introdate 02 reliability 03 vlife 04 mdllife : 05 train 06 arctic
 2005 * 20	 00 00 07 01 08 12 FD 00 CF 25 02 14 03 19 04 33 05 00 06 07
// 08 paxloco 0D runfac 0E runbase 17 cost 19 type
 2006 * 18	 00 00 05 01 08 08 00 0D \b44 0E 30 4C 00 00 17 15 19 08
// 09 spd*1.6 16 weight 0B power 1F TE
 2007 * 15	 00 00 04 01 08 09 68 00 16 68 0B DC 05 1F 31
 2008 * 15	 00 00 05 01 08 13 00 14 01 15 1E 27 02 21 01
 2009 * 20	 00 00 05 01 08 1E E0 28 00 80 29 00 00 1D 00 00 00 00 1C 00
Personal tools