Alberth's page
Pages that may be useful:
- Building stations
Pages that are done:
- Negative income with transfer
NML areas of improvements
(20170304, irc, discussion with andythenorth, https://webster.openttdcoop.org/index.php?channel=openttd&date=1488585600#1488610330 to https://webster.openttdcoop.org/index.php?channel=openttd&date=1488585600#1488615952)
- switch syntax
- managing IDs (yak-shaving)
- constant substitution
- templating
- file inclusion
Perhaps add scope: "scope(FEAT_ROADVEH) { .... }" where all names in the scope are local to that scope. This solves "ID management" for a large part. Constant substitution can be done with "const edibles_cargoes = ['FRUT', 'WATR']; self.label_refits_allowed = edible_cargoes;"
frosch syntax ideas, make code more like functions
NML today:
cargotable { }
template identifier (...) { }
spritset (identifier, ...) { }
spritegroup identifier { }
spritelayout identifier { }
tilelayout identifier { }
produce (identifier, ...) ;
switch (FEAT_ROADVEHS, SELF, identifier, ...) { }
random_switch (FEAT_ROADVEHS, SELF, identifier, ...) { }
item (FEAT_ROADVEHS, identifier, ...) { }
replace identifier (...) { }
base_graphics identifier (...) { }
font_glyph identifier (...) { }
alternative_sprites (identifier, ...) { }
town_names (identifier) { }
NML today summary:
type identifier(...) ;
type identifier(...) { }
type(identifer, ...) { }
type(meta, identifier, ...) {}
python for comparison:
class identifier(...):
def identifier(...):
bad alternatives:
identifier = type(...) {} -> misleading because identifiers cannot be reassigned like parameters
NML how it should have been:
type identifier(meta, ...) ;
type identifier(meta, ...) {}
i.e.:
cargotable { } same
template identifier (...) { } same
spritset identifier (...) { } different
spritegroup identifier { } same
spritelayout identifier { } same
tilelayout identifier { } same
produce identifier (...) ; different
switch identifier (FEAT_ROADVEHS, SELF, ...) { } different
random_switch identifier (FEAT_ROADVEHS, SELF, ...) { } different
item identifier (FEAT_ROADVEHS, ...) { } different
replace identifier (...) { } same
base_graphics identifier (...) { } same
font_glyph identifier (...) { } same
alternative_sprites identifier (...) { } different
town_names identifier { } different
