Difference between revisions of "ToDoNewRoutes"

From TTWiki
Jump to navigationJump to search
 
Line 13: Line 13:
   
 
All TTD routes get devided into logical groups:
 
All TTD routes get devided into logical groups:
  +
  +
For roads:
  +
  +
||'''ID'''|'''Description'''|'''Default Number Of Sprites Needed'''
  +
  +
00|roads|19 (4 halfs, 4 slope, 2 straight, 4 corners, 5 junctions)
  +
  +
01|road depot|6 (4 roofs, 2 little corner pieces)
  +
  +
02|road crossing ground|2
  +
  +
03|road pieces on bridges|2|
  +
  +
04|road tunnel rail ground|4
  +
  +
05|road tunnel|8||
  +
  +
For rails:
   
 
||'''ID'''|'''Description'''|'''Default Number Of Sprites Needed'''
 
||'''ID'''|'''Description'''|'''Default Number Of Sprites Needed'''
Line 18: Line 36:
 
00|railroad|?
 
00|railroad|?
   
01|electric|?
+
01|monorail|?
   
02|monorail|?
+
02|maglev|?
   
  +
03|electric|?(shared with railroad!)
03|maglev|?
 
   
  +
04|type 4|0/?
04|roads|19 (4 halfs, 4 slope, 2 straight, 4 corners, 5 junctions)
 
   
  +
05|type 5|0/?
05|road depot|6 (4 roofs, 2 little corner pieces)
 
   
  +
06|type 6|0/?
06|road crossing ground|2
 
   
  +
07|type 7|0/?
07|road pieces on bridges|2
 
   
08|railroad depot|8
+
08|railroad depot|6
   
09|electric depot|8
+
09|monorail depot|6
   
10|monorail depot|8
+
10|maglev depot|6
   
  +
11|electric depot|0/6 (layout shared with railroad!)
11|maglev depot|8
 
   
12|railroad on crossing|2
+
12|type 4 depot|0
   
13|electric on crossing|2
+
13|type 5 depot|0
   
14|monorail on crossing|2
+
14|type 6 depot|0
   
15|maglev on crossing|2
+
15|type 7 depot|0
   
16|railroad tunnel ground|4
+
16|railroad on crossing|0/2
   
  +
17|monorail on crossing|0/2
17|electric tunnel ground|4
 
   
  +
18|maglev on crossing|0/2
18|monorail tunnel ground|4
 
   
  +
19|electric on crossing|0/2 (layout shared with railroad!)
19|maglev tunnel ground|4
 
   
  +
20|type 4 on crossing|0
16|railroad tunnel top|8
 
   
  +
21|type 5 on crossing|0
17|electric tunnel top|8
 
   
  +
22|type 6 on crossing|0
18|monorail tunnel top|8
 
   
  +
23|type 7 on crossing|0
19|maglev tunnel top|8
 
   
20|road tunnel ground|4
+
24|railroad tunnel|6
   
21|road tunnel top|8||
+
25|monorail tunnel|6
  +
  +
26|maglev tunnel|6
  +
  +
27|electric tunnel|0/6 (layout shared with railroad!)
  +
  +
28|type 4 tunnel|0
  +
  +
29|type 5 tunnel|0
  +
  +
30|type 6 tunnel|0
  +
  +
31|type 7 tunnel|0
  +
  +
24|railroad tunnel rail|0/2
  +
  +
25|monorail tunnel rail|0/2
  +
  +
26|maglev tunnel rail|0/2
  +
  +
27|electric tunnel rail|0/2
  +
  +
28|type 4 tunnel rail|0/2
  +
  +
29|type 5 tunnel rail|0/2
  +
  +
30|type 6 tunnel rail|0/2
  +
  +
31|type 7 tunnel rail|0/2
  +
  +
32|railroad tunnel rail top|0/2
  +
  +
33|monorail tunnel rail top|0/2
  +
  +
34|maglev tunnel rail top|0/2
  +
  +
35|electric tunnel rail top|0/2
  +
  +
36|type 4 tunnel rail top|0/2
  +
  +
37|type 5 tunnel rail top|0/2
  +
  +
38|type 6 tunnel rail top|0/2
  +
  +
39|type 7 tunnel rail top|0/2
  +
  +
40|railroad bridge rail top|0/2
  +
  +
41|monorail bridge rail top|0/2
  +
  +
42|maglev bridge rail top|0/2
  +
  +
43|electric bridge rail top|0/2
  +
  +
44|type 4 bridge rail top|0/2
  +
  +
45|type 5 bridge rail top|0/2
  +
  +
46|type 6 bridge rail top|0/2
  +
  +
47|type 7 bridge rail top|0/2||
  +
  +
Type 4 till type 7 are fair game for grf authors.
  +
  +
'''Action 0 for first 8 rail ids:'''
  +
  +
- names
  +
  +
- compatible mask for rails, aka rail type 3(electric) is compatible to 0 (via or mask)
  +
  +
- system flags, will draw catenary, makes electrif traction engines work, copy of action 0(train) traction type?
  +
  +
'''Action 0 for railvehicles:'''
  +
  +
- a flag for supporting newroutes
  +
  +
- need a new way to have the real type specifc
  +
  +
(sample an narrow gauge isn't allowed to work on normal rail, but doesn't depend anymore on maglev)
   
 
Action 0 has to support for each of the above IDs, serveral standard/default layouts and custom layouts. The custom layouts can be used for more advanced stuff and are selectable via action 2 callback.
 
Action 0 has to support for each of the above IDs, serveral standard/default layouts and custom layouts. The custom layouts can be used for more advanced stuff and are selectable via action 2 callback.
Line 100: Line 196:
 
84|Build year (problem where to store that info)||
 
84|Build year (problem where to store that info)||
   
-=Other stuff=-
+
-=Landscape 8=-
   
 
For each tile it would be nice to store the buildyear, maybe year / 10 for support later years, post 2010... = L8 Array.
 
For each tile it would be nice to store the buildyear, maybe year / 10 for support later years, post 2010... = L8 Array.
  +
  +
-=Compatibility=-
  +
  +
The new rail stuff is incompatible to the old, unimaglev could be used to have old games fit to the new system,
  +
  +
or not convert old games and tell the newroutes we work an old version and cross convert on the fly the systems.
  +
  +
-=Other=-
   
 
Content by Lakie and eis_os
 
Content by Lakie and eis_os

Revision as of 14:58, 25 November 2005

ToDoNewRoutes -ToDo List for newroutes, newrails-enhancetunnels

ToDoNewRoutes

(WARNING: This is a dev scratchpad to collect ideas for a newroute grf system)

This page is for collecting ideas for newroads (Lakie) and enhancetunnels(eis_os)

to get a united system for allowing more flexible sprite content = newroutes

-=Action 0=-

All TTD routes get devided into logical groups:

For roads:

||ID|Description|Default Number Of Sprites Needed

00|roads|19 (4 halfs, 4 slope, 2 straight, 4 corners, 5 junctions)

01|road depot|6 (4 roofs, 2 little corner pieces)

02|road crossing ground|2

03|road pieces on bridges|2|

04|road tunnel rail ground|4

05|road tunnel|8||

For rails:

||ID|Description|Default Number Of Sprites Needed

00|railroad|?

01|monorail|?

02|maglev|?

03|electric|?(shared with railroad!)

04|type 4|0/?

05|type 5|0/?

06|type 6|0/?

07|type 7|0/?

08|railroad depot|6

09|monorail depot|6

10|maglev depot|6

11|electric depot|0/6 (layout shared with railroad!)

12|type 4 depot|0

13|type 5 depot|0

14|type 6 depot|0

15|type 7 depot|0

16|railroad on crossing|0/2

17|monorail on crossing|0/2

18|maglev on crossing|0/2

19|electric on crossing|0/2 (layout shared with railroad!)

20|type 4 on crossing|0

21|type 5 on crossing|0

22|type 6 on crossing|0

23|type 7 on crossing|0

24|railroad tunnel|6

25|monorail tunnel|6

26|maglev tunnel|6

27|electric tunnel|0/6 (layout shared with railroad!)

28|type 4 tunnel|0

29|type 5 tunnel|0

30|type 6 tunnel|0

31|type 7 tunnel|0

24|railroad tunnel rail|0/2

25|monorail tunnel rail|0/2

26|maglev tunnel rail|0/2

27|electric tunnel rail|0/2

28|type 4 tunnel rail|0/2

29|type 5 tunnel rail|0/2

30|type 6 tunnel rail|0/2

31|type 7 tunnel rail|0/2

32|railroad tunnel rail top|0/2

33|monorail tunnel rail top|0/2

34|maglev tunnel rail top|0/2

35|electric tunnel rail top|0/2

36|type 4 tunnel rail top|0/2

37|type 5 tunnel rail top|0/2

38|type 6 tunnel rail top|0/2

39|type 7 tunnel rail top|0/2

40|railroad bridge rail top|0/2

41|monorail bridge rail top|0/2

42|maglev bridge rail top|0/2

43|electric bridge rail top|0/2

44|type 4 bridge rail top|0/2

45|type 5 bridge rail top|0/2

46|type 6 bridge rail top|0/2

47|type 7 bridge rail top|0/2||

Type 4 till type 7 are fair game for grf authors.

Action 0 for first 8 rail ids:

- names

- compatible mask for rails, aka rail type 3(electric) is compatible to 0 (via or mask)

- system flags, will draw catenary, makes electrif traction engines work, copy of action 0(train) traction type?

Action 0 for railvehicles:

- a flag for supporting newroutes

- need a new way to have the real type specifc

(sample an narrow gauge isn't allowed to work on normal rail, but doesn't depend anymore on maglev)

Action 0 has to support for each of the above IDs, serveral standard/default layouts and custom layouts. The custom layouts can be used for more advanced stuff and are selectable via action 2 callback.

How drawing works:

TTDPatch will use a callback (if enabled for id) to get a spritelayout number.

If not, it will use the default number for the layout.

Get Ground Sprite, dword 0 for none

Draw normal sprites until we find 80h (as stations)

Each entry allows some special bit settings in the spritenumber.

(sprite number in recent action 0, TTD Sprite, Special Sprite from other ID !)

-=Action 2=-

Variational Action 2 Variables for New Routes

||Variable|Content

80|Height above ground

81|Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline

82|Townzone: 0 none

83|Is under bridge

84|Build year (problem where to store that info)||

-=Landscape 8=-

For each tile it would be nice to store the buildyear, maybe year / 10 for support later years, post 2010... = L8 Array.

-=Compatibility=-

The new rail stuff is incompatible to the old, unimaglev could be used to have old games fit to the new system,

or not convert old games and tell the newroutes we work an old version and cross convert on the fly the systems.

-=Other=-

Content by Lakie and eis_os