User talk:PikkaWiki/Scratch

From PikkaWiki
Jump to: navigation, search
// stainless
//coach (20)
2781 * 4	 01 00 04 08  
<sprites>
2814 * 9	 02 00 2A 01 01 00 00 00 00
2815 * 9	 02 00 2B 01 01 01 00 01 00
2816 * 9	 02 00 2C 01 01 02 00 02 00
2817 * 9	 02 00 2D 01 01 03 00 03 00
2818 * 14	 02 00 2A 81 0C 00 FF 01 B9 80 19 19 2A 00 //" (Lightweight Coach)" 00
2819 * 14	 02 00 2B 81 0C 00 FF 01 B9 80 19 19 2B 00 //" (Lightweight Coach)" 00
2820 * 14	 02 00 2C 81 0C 00 FF 01 B9 80 19 19 2C 00 //" (Lightweight Coach)" 00
2821 * 14	 02 00 2D 81 0C 00 FF 01 B9 80 19 19 2D 00 //" (Lightweight Coach)" 00

//Observation (21)

2822 * 4	 01 00 04 08
<sprites>
2855 * 9	 02 00 21 01 01 00 00 00 00
2856 * 9	 02 00 22 01 01 01 00 01 00
2857 * 9	 02 00 23 01 01 02 00 02 00
2858 * 9	 02 00 24 01 01 03 00 03 00
2859 * 11	 02 00 21 80 00 00 02 21 00 23 00  // random domes
2860 * 11	 02 00 22 80 00 00 02 22 00 24 00
2861 * 14	 02 00 21 81 0C 00 FF 01 BC 80 19 19 21 00 //" (Lightweight Observation)" 00
2862 * 14	 02 00 22 81 0C 00 FF 01 BC 80 19 19 22 00 //" (Lightweight Observation)" 00

// observation?

2863 * 14	 02 00 2C 81 40 10 FF 01 2C 00 00 05 21 00 // how many cars total? (obs if >6)
2864 * 14	 02 00 2D 81 40 10 FF 01 2D 00 00 05 22 00

// end car?

2865 * 14	 02 00 2A 81 40 08 FF 01 2C 00 00 00 2A 00
2866 * 14	 02 00 2B 81 40 08 FF 01 2D 00 00 00 2B 00
2867 * 16	 02 00 AA 81 1C 80 FF 00 04 01 2B 00 02 03 2A 00 // livery based on player #
2868 * 19	 02 00 2A 81 43 20 FF \2+ 7F 02 00 FF 01 AA 00 00 00 AA 00 // add para 02 to player #
 // choose canuckistani livery (coach/obs)
2869 * 15	 02 00 20 81 7F 03 00 02 01 2B 00 02 02 2A 00

The above is the alternative place I was pointing the by-date graphics selector for the buy menu to. This was not showing any speed limit in the buy menu (as you'd expect, since it skips over all the cb36 entries and the speed property is otherwise set to FF). This was where it was crashing.

//Dome (2E)
2870 * 4	 01 00 02 08
<sprites>
2887 * 9	 02 00 2E 01 01 00 00 00 00
2888 * 9	 02 00 2F 01 01 01 00 01 00
2889 * 16	 02 00 AA 81 1C 80 FF 00 04 01 2F 00 02 03 2E 00 // livery based on player #
2890 * 19	 02 00 2E 81 43 20 FF \2+ 7F 02 00 FF 01 AA 00 00 00 AA 00 // add para 02 to player #
 // choose canuckistani livery (coach/obs)
2891 * 15	 02 00 2E 81 7F 03 00 02 01 2F 00 02 02 2E 00
2892 * 14	 02 00 2E 81 0C 00 FF 01 BD 80 19 19 2E 00 //" (Lightweight Dome)" 00
//Diner (2B)
2893 * 4	 01 00 02 08
<sprites>
2910 * 9	 02 00 2B 01 01 00 00 00 00
2911 * 9	 02 00 2C 01 01 01 00 01 00
2912 * 16	 02 00 AA 81 1C 80 FF 00 04 01 2C 00 02 03 2B 00 // livery based on player #
2913 * 19	 02 00 2B 81 43 20 FF \2+ 7F 02 00 FF 01 AA 00 00 00 AA 00 // add para 02 to player #
 // choose canuckistani livery (coach/obs)
2914 * 15	 02 00 2B 81 7F 03 00 02 01 2C 00 02 02 2B 00
2915 * 14	 02 00 2B 81 0C 00 FF 01 BA 80 19 19 2B 00 //" (Lightweight Diner)" 00
 //sleeper (2C)
2916 * 4	 01 00 06 08
<sprites>
2965 * 9	 02 00 22 01 01 00 00 00 00
2966 * 9	 02 00 23 01 01 01 00 01 00
2967 * 9	 02 00 24 01 01 02 00 02 00
2968 * 9	 02 00 25 01 01 03 00 03 00
2969 * 9	 02 00 26 01 01 04 00 04 00
2970 * 9	 02 00 27 01 01 05 00 05 00
2971 * 14	 02 00 26 81 0C 00 FF 01 D2 80 19 19 26 00 //" (Lightweight Sleeper/Obs)" 00
2972 * 14	 02 00 27 81 0C 00 FF 01 D2 80 19 19 27 00 //" (Lightweight Sleeper/Obs)" 00
2973 * 11	 02 00 22 80 00 00 02 22 00 24 00  // random sleeps
2974 * 11	 02 00 23 80 00 00 02 23 00 25 00
2975 * 14	 02 00 22 81 0C 00 FF 01 BB 80 19 19 22 00 //" (Lightweight Sleeper)" 00
2976 * 14	 02 00 23 81 0C 00 FF 01 BB 80 19 19 23 00 //" (Lightweight Sleeper)" 00

// end car?

2977 * 14	 02 00 22 81 40 08 FF 01 26 00 00 00 22 00
2978 * 14	 02 00 23 81 40 08 FF 01 27 00 00 00 23 00
2979 * 16	 02 00 AA 81 1C 80 FF 00 04 01 23 00 02 03 22 00 // livery based on player #
2980 * 19	 02 00 22 81 43 20 FF \2+ 7F 02 00 FF 01 AA 00 00 00 AA 00 // add para 02 to player #
 // choose canuckistani livery (coach/obs)
2981 * 15	 02 00 2C 81 7F 03 00 02 01 23 00 02 02 22 00
// consistbuilder!
// all sleepers
2982 * 18	 02 00 06 81 41 08 FF 02 2E 00 02 02 2E 00 04 04 2C 00  // more than 6 from the rear if (dome on 2 and 4)
2983 * 18	 02 00 06 81 41 00 FF 02 2B 00 00 00 2B 00 04 04 06 00 // more than 6 cars (diner on 0 or 4)
2984 * 14	 02 00 03 81 41 00 FF 01 2B 00 02 02 2C 00 // more than 3 cars (diner if 2, sleeper)
2985 * 14	 02 00 01 81 41 08 FF 01 2B 00 01 01 2C 00
2986 * 18	 02 00 44 81 41 10 FF 02 // how many cars? (sleeper if <=3)
03 00 04 06
06 00 07 FF
01 00


// a lot of sleepers
2987 * 18	 02 00 06 81 41 08 FF 02 2E 00 02 02 2E 00 04 04 2A 00  // more than 6 from the rear if (dome on 2 and 4)
2988 * 18	 02 00 06 81 41 20 FF \2/ 1C 00 FF 01 2C 00 00 00 06 00 // more than 6 cars sleeper if position / (number of cars/1.5) = 0
2989 * 18	 02 00 06 81 41 00 FF 02 2B 00 00 00 2B 00 03 03 06 00 // more than 6 cars (diner on 0 or 3)
2990 * 22	 02 00 06 81 41 30 FF \2* 1A 20 \b02 \2/ 1A 00 \b03 01 06 00 00 00 06 00 // divide number of cars by 1.5
2991 * 14	 02 00 03 81 41 08 FF 01 2E 00 01 01 2A 00  // more than 3 from the rear? (dome if 1)
2992 * 18	 02 00 03 81 41 00 FF 02 2C 00 00 01 2B 00 02 02 03 00 // more than 3 cars (diner if 2, sleeper if 0-1)
2993 * 14	 02 00 01 81 41 08 FF 01 2A 00 00 00 2C 00
2994 * 18	 02 00 33 81 41 10 FF 02 // how many cars? (two sleeper if <=3)
03 00 04 06
06 00 07 FF
01 00
// a few sleepers
2995 * 18	 02 00 06 81 41 08 FF 02 2E 00 02 02 2E 00 04 04 2A 00  // more than 6 from the rear if (dome on 2 and 4)
2996 * 18	 02 00 06 81 41 20 FF \2/ 1C 00 FF 01 2C 00 00 00 06 00 // more than 6 cars sleeper if position / (number of cars/3) = 0
2997 * 14	 02 00 06 81 41 00 FF 01 2B 00 00 00 06 00 // more than 6 cars (diner if 0)
2998 * 16	 02 00 06 81 41 50 FF 00 03 01 06 00 00 00 06 00 // divide number of cars by 3
2999 * 14	 02 00 03 81 41 08 FF 01 2E 00 01 01 2A 00  // more than 3 from the rear? (dome if 1)
3000 * 18	 02 00 03 81 41 00 FF 02 2C 00 00 00 2B 00 01 01 03 00 // more than 3 cars (diner if 1, sleeper if 0)
3001 * 14	 02 00 01 81 41 08 FF 01 2A 00 00 01 2C 00
3002 * 18	 02 00 22 81 41 10 FF 02 // how many cars? (one sleeper if <=3)
03 00 04 06
06 00 07 FF
01 00                                                                              //      0 9 8 7 6 5 4 3 2 1 0
                                                                                   //      * * * * * * * * * * *
// no sleepers
3003 * 18	 02 00 06 81 41 08 FF 02 2E 00 02 02 2E 00 04 04 2A 00  // more than 6 from the rear if (dome on 2 and 4)
3004 * 14	 02 00 06 81 41 00 FF 01 2B 00 00 00 06 00 // more than 6 cars (diner if 0)
3005 * 14	 02 00 03 81 41 08 FF 01 2E 00 01 01 2A 00  // more than 3 from the rear? (dome if 1)
3006 * 14	 02 00 03 81 41 00 FF 01 2B 00 00 00 03 00 // more than 3 cars (diner if 0)
3007 * 18	 02 00 11 81 41 10 FF 02 // how many cars? (chair if <=3)
03 00 04 06
06 00 07 FF
2A 00
3008 * 22	 02 00 22 82 42 18 18 03 // how many sleepers, then?
   11 00 00 00
   22 00 08 08
   33 00 10 10
   44 00
3009 * 29	 02 00 11 85 1C 00 FF FF 03// manhattan distance is:

00 80 \w0 \w30 // 0 - 30 = 0 = no sleepers 08 80 \w31 \w80 // 31 - 80 = 3 (08) = A few sleepers 10 80 \w81 \w160 // 81 - 160 = 4 (10) = A lot of sleepers 18 80 // 121+ = 3+4 (18) = all sleepers

// what is the manhattan distance to the next station?

3010 * 35	 02 00 11 85 7D 01 28 FF 00 \2u> 7D 02 28 FF 00 \2- 1C 20 FF 00 \2+ 7D 03 00 FF 00 01 11 00 00 00 00 00 11 00 // do Y calc, add X calc.
3011 * 20	 02 00 11 81 7D 01 28 FF \2u< 7D 02 08 FF 01 11 00 00 00 11 00 // get the lower of the Y values
3012 * 28	 02 00 11 81 7D 01 20 FF \2u> 7D 02 20 FF \2- 1C 20 FF \2s 1A 00 \b03 01 11 00 00 00 11 00 // do X calc, store in 7D 03.
3013 * 20	 02 00 11 81 7D 01 20 FF \2u< 7D 02 00 FF 01 11 00 00 00 11 00 // get the lower of the X values
3014 * 22	 02 00 11 86 A6 20 FF FF \2s 1A 00 \w02 01 11 00 00 00 00 00 11 00 // store the train position in var 7D 02.
3015 * 22	 02 00 11 86 8E 20 FF FF \2s 1A 00 \w01 01 11 00 00 00 00 00 11 00 // store the target station position in var 7D 01.
3016 * 14	 02 00 11 81 10 00 FF 01 11 00 25 25 22 00 // for prop 25
3017 * 14	 02 00 11 81 0C 00 FF 01 11 00 36 36 22 00 // run cb 36
3018 * 14	 02 00 2A 81 E2 00 80 01 11 00 00 00 22 00 // not in a depot

// end consistbuilder

// properties callback
3019 * 18	 02 00 36 81 10 00 FF 02
\b25 80 16 16 // weight
F0 80 09 09 // speed
                                                    2A 00
3020 * 14	 02 00 2A 81 0C 00 FF 01 36 00 36 36 2A 00

The above is where the by-date graphics selector for the buy menu points to in the working version. This puts cargo FF through the full action 2 chain (and eventually, of course, produces the wrong graphic. But I could work around this...)

// year built

3155 * 18	 02 00 AA 81 C4 00 FF 02 2A 00 \b20 \b59 3A 00 \b60 FF 1A 00 // car
3156 * 18	 02 00 AF 81 01 00 FF 02 2A 00 \b20 \b59 3A 00 \b60 FF 1A 00 // buy menu

The above is the by-date graphics selector for the buy menu.

// refit capac // load callback

3157 * 14	 02 00 A1 81 0C 00 FF 01 \b40 80 15 15 AA 00

// pax and mail action 3s

3159 * 10	 03 00 01 1B 01 FF AF 00 A1 00
Personal tools