So what am I trying to achieve?
I'm starting off with my road signs. I want them in the game and to be able to select them from the objects menu. Once I can do it for these I should be able to do it for any objects.
I've spent the last week or so looking at various resources here and elsewhere trying to make sense of how to accomplish this. I've got this far:
I've sort of chopped it up so it make more sense to me.
Code: Select all
// Automatically generated by GRFCODEC. Do not modify!
// (Info version 7)
// 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 pcxfile xpos ypos compression ysize xsize xrel yrel
0 * 4 54 00 00 00
//!!Warning (143): Offset 12: Using unspecified control character 15.
1 * 15 08 06 "WRH SIGNS" D5 15 00 00
//!!Fatal Error (47): Offset 58: Invalid property 49.
2 * 313 00 0F 09 0D 00
08 "SIN1" "SIN2" "SIN3" "SIN4" "SIN5" "SIN6" "SIN7" "SIN8" "SIN9" "SIN10" "SIN11" "SIN12" "SIN13" "SIN14"
09 00 D0 01 D0 02 D0 03 D0 04 D0 05 D0 06 D0 07 D0 08 D0 09 D0 0A D0 0B D0 0C D0 0D D0
0A 00 D0 01 D0 02 D0 03 D0 04 D0 05 D0 06 D0 07 D0 08 D0 09 D0 0A D0 0B D0 0C D0 0D D0
0B 01 01 01 01 01 01 01 01 01 01 01 01 01 01
0C 11 11 11 11 11 11 11 11 11 11 11 11 11 11
0D 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
0E 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
0F 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
10 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
//IN GAME OBJECT
3 * 4 01 0F 0E 01
4 c:\\sign.pcx 150 13 09 31 58 -26 -1
5 c:\\sign.pcx 230 13 09 31 58 -26 -1
6 c:\\sign.pcx 310 13 09 31 58 -26 -1
7 c:\\sign.pcx 390 13 09 31 58 -26 -1
8 c:\\sign.pcx 470 13 09 31 58 -26 -1
9 c:\\sign.pcx 550 13 09 31 58 -26 -1
10 c:\\sign.pcx 630 13 09 31 58 -26 -1
11 c:\\sign.pcx 710 13 09 31 58 -26 -1
12 c:\\sign.pcx 2 61 09 31 63 -31 -1
13 c:\\sign.pcx 82 61 09 31 63 -31 -1
14 c:\\sign.pcx 162 61 09 31 63 -31 -1
15 c:\\sign.pcx 242 61 09 31 63 -31 -1
16 c:\\sign.pcx 339 61 09 31 63 -31 -1
17 c:\\sign.pcx 418 61 09 31 63 -31 -1
18 * 17 02 0F 00 00 8D 0F 00 00 00 80 00 80 00 00 0F 0F E5 // 0 0
19 * 17 02 0F 01 00 8D 0F 00 00 01 80 00 80 00 00 0F 0F E5 // 0 1
20 * 17 02 0F 02 00 8D 0F 00 00 02 80 00 80 00 00 0F 0F E5 // 0 2
21 * 17 02 0F 03 00 8D 0F 00 00 03 80 00 80 00 00 0F 0F E5 // 1 0
22 * 17 02 0F 04 00 8D 0F 00 00 04 80 00 80 00 00 0F 0F E5 // 1 1
23 * 17 02 0F 05 00 8D 0F 00 00 05 80 00 80 00 00 0F 0F E5 // 1 2
24 * 17 02 0F 06 00 8D 0F 00 00 06 80 00 80 00 00 0F 0F E5 // 2 0 //ACTION 2's
25 * 17 02 0F 07 00 8D 0F 00 00 07 80 00 80 00 00 0F 0F E5 // 2 1
26 * 17 02 0F 08 00 8D 0F 00 00 08 80 00 80 00 00 0F 0F E5 // 2 2
27 * 17 02 0F 09 00 8D 0F 00 00 09 80 00 80 00 00 0F 0F E5 // 2 2
28 * 17 02 0F 0A 00 8D 0F 00 00 0A 80 00 80 00 00 0F 0F E5 // 2 2
29 * 17 02 0F 0B 00 8D 0F 00 00 0B 80 00 80 00 00 0F 0F E5 // 2 2
30 * 17 02 0F 0C 00 8D 0F 00 00 0C 80 00 80 00 00 0F 0F E5 // 2 2
31 * 17 02 0F 0D 00 8D 0F 00 00 0D 80 00 80 00 00 0F 0F E5 // 2 2
//MENU OBJECT
32 * 4 01 0F 0E 01
33 c:\\sign.pcx 150 13 09 31 58 -26 -1
34 c:\\sign.pcx 230 13 09 31 58 -26 -1
35 c:\\sign.pcx 310 13 09 31 58 -26 -1
36 c:\\sign.pcx 390 13 09 31 58 -26 -1
37 c:\\sign.pcx 470 13 09 31 58 -26 -1
38 c:\\sign.pcx 550 13 09 31 58 -26 -1 //REAL SPRITES
39 c:\\sign.pcx 630 13 09 31 58 -26 -1
40 c:\\sign.pcx 710 13 09 31 58 -26 -1
41 c:\\sign.pcx 2 61 09 31 63 -31 -1
42 c:\\sign.pcx 82 61 09 31 63 -31 -1
43 c:\\sign.pcx 162 61 09 31 63 -31 -1
44 c:\\sign.pcx 242 61 09 31 63 -31 -1
45 c:\\sign.pcx 338 61 09 31 63 -31 -1
46 c:\\sign.pcx 418 61 09 31 63 -31 -1
47 * 17 02 0F 0E 00 00 80 00 80 00 00 00 00 00 00 00 00 00
48 * 17 02 0F 0F 00 01 80 00 80 00 00 00 00 00 00 00 00 00
49 * 17 02 0F 10 00 02 80 00 80 00 00 00 00 00 00 00 00 00
50 * 17 02 0F 11 00 03 80 00 80 00 00 00 00 00 00 00 00 00
51 * 17 02 0F 12 00 04 80 00 80 00 00 00 00 00 00 00 00 00
52 * 17 02 0F 13 00 05 80 00 80 00 00 00 00 00 00 00 00 00
53 * 17 02 0F 14 00 06 80 00 80 00 00 00 00 00 00 00 00 00 //ACTION 2's
54 * 17 02 0F 15 00 07 80 00 80 00 00 00 00 00 00 00 00 00
55 * 17 02 0F 16 00 08 80 00 80 00 00 00 00 00 00 00 00 00
56 * 17 02 0F 17 00 09 80 00 80 00 00 00 00 00 00 00 00 00
57 * 17 02 0F 18 00 0A 80 00 80 00 00 00 00 00 00 00 00 00
58 * 17 02 0F 19 00 0B 80 00 80 00 00 00 00 00 00 00 00 00
59 * 17 02 0F 1A 00 0C 80 00 80 00 00 00 00 00 00 00 00 00
60 * 17 02 0F 1B 00 0D 80 00 80 00 00 00 00 00 00 00 00 00
61 * 10 03 0F 01 00 01 FF 00 00 00 00
62 * 10 03 0F 01 01 01 FF 00 00 00 00
63 * 10 03 0F 01 02 01 FF 00 00 00 00
64 * 10 03 0F 01 03 01 FF 00 00 00 00
65 * 10 03 0F 01 04 01 FF 00 00 00 00
66 * 10 03 0F 01 05 01 FF 00 00 00 00
67 * 10 03 0F 01 06 01 FF 00 00 00 00 //ACTION 3's
68 * 10 03 0F 01 07 01 FF 00 00 00 00 // GET ERROR MESSAGES ABOUT Default ID used earlier in sprite.
69 * 10 03 0F 01 08 01 FF 00 00 00 00
70 * 10 03 0F 01 09 01 FF 00 00 00 00
71 * 10 03 0F 01 0A 01 FF 00 00 00 00
72 * 10 03 0F 01 0B 01 FF 00 00 11 00
73 * 11 04 48 FF 01 00 D0 "MENU" 00
74 * 18 04 48 FF 01 01 D0 "" 00
75 * 14 04 48 FF 01 02 D0 "" 00
76 * 18 04 48 FF 02 03 D0 "" 00
77 * 14 04 48 FF 01 04 D0 "" 00
78 * 18 04 48 FF 02 05 D0 "" 00 //ACTION 4's
79 * 18 04 48 FF 01 06 D0 "" 00
80 * 18 04 48 FF 02 07 D0 "" 00
81 * 11 04 48 FF 01 08 D0 "" 00
82 * 18 04 48 FF 01 09 D0 "" 00
83 * 14 04 48 FF 01 0A D0 "" 00
84 * 14 04 48 FF 01 0B D0 "" 00
//ERROR MESSAGES ???? NO IDEA WHAT THEY ARE ABOUT ;D
//!!For feature F the following cargoIDs have not been used since their most recent definition:
//!!01 (last defined at sprite 19)
//!!02 (last defined at sprite 20)
//!!03 (last defined at sprite 21)
//!!04 (last defined at sprite 22)
//!!05 (last defined at sprite 23)
//!!06 (last defined at sprite 24)
//!!07 (last defined at sprite 25)
//!!08 (last defined at sprite 26)
//!!09 (last defined at sprite 27)
//!!0A (last defined at sprite 28)
//!!0B (last defined at sprite 29)
//!!0C (last defined at sprite 30)
//!!0D (last defined at sprite 31)
//!!0E (last defined at sprite 47)
//!!0F (last defined at sprite 48)
//!!10 (last defined at sprite 49)
//!!12 (last defined at sprite 51)
//!!13 (last defined at sprite 52)
//!!14 (last defined at sprite 53)
//!!15 (last defined at sprite 54)
//!!16 (last defined at sprite 55)
//!!17 (last defined at sprite 56)
//!!18 (last defined at sprite 57)
//!!19 (last defined at sprite 58)
//!!1A (last defined at sprite 59)
//!!1B (last defined at sprite 60)
It's one thing being able to make the graphics another to actually see them doing their thing in game.

So what am I doing wrong here? I've clearly not understood something. It seems to be the Action 3s that are throwing all the errors, i'm not experienced enough to know why. I just keep sitting back and having a think, see if I spot a pattern.