рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдЯрд╛рдЗрдХреВрди (рдкрд░рд┐рд╡рд╣рди рдЯрд╛рдЗрдХреВрди) - рдмрд╣реБрдд рдкреНрд░рд╛рдЪреАрди, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдиреНрдорд╛рдж рдХреЗ рд▓рд┐рдП, рдЖрд░реНрдерд┐рдХ рдЖрд░рдЯреАрдПрд╕ рдХреА рд╢реИрд▓реА рдореЗрдВ рдПрдХ рдЦреЗрд▓ред /.../
OpenTTD рднреА рд╣реИ, рдХрдИ unixoids рдХрд╛ рдПрдХ рдЦреБрд▓рд╛ рдЙрддреНрдкрд╛рдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдЯреЙрдпрд▓реЗрдЯ рдФрд░ рдореЗрдЯреНрд░реЛ рдореЗрдВ рднреА рд╕рдВрдЪрд╛рд░рдХ рдпрд╛ рдкреАрдбреАрдП рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдЦреЗрд▓ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред lurkmore
рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ: рдореИрдВрдиреЗ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдЯрд╛рдЗрдХреВрди рдбреАрд▓рдХреНрд╕ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реБрдП рдПрдХ рдЬрдмрд░рджрд╕реНрдд рд╕рдордп рдорд╛рд░рд╛ред рд╣рд╛рдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдЦреЗрд▓ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдПрдХ рд▓реЗрдЦ рд╣рдм рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рдореЛрдЬрд╝рд┐рд▓рд╛ рдХреЗ рд▓реЛрдЧ рдбреВрдо рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реЛ рдЧрдпрд╛ - рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЦреЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╡реИрд╕реЗ, рд▓реЗрдЦ рджреБрд░реНрд▓рдн рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдореБрдЦреНрдп рдмрд╛рдд рдкрддрд╛
рдЪрд▓реА -
рдИрдорд╕реНрдХреНрд░рд┐рдкреНрдЯреАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╣реБрдд рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ (рдореЗрд░реА рдкрд╣рд▓реА рдХреЛрд╢рд┐рд╢ рдЧрд▓рддрдлрд╣рдореА рдХреА рдЪрдЯреНрдЯрд╛рдиреЛрдВ рдореЗрдВ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдИ)ред рдФрд░ рдЖрдЬ рдореИрдВ рдЖрдк рд╕рднреА рдХреЛ рдЦреБрд╢ рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВ рд╣реВрдБ: рдореИрдВрдиреЗ рдпрд╣ рдХрд┐рдпрд╛! рдЕрдм рдЖрдк рдЯреАрдЯреАрдбреА рдореЗрдВ рдЦреЗрд▓ рдХреЗ рдкреАрдЫреЗ рдЧрдзреЗ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдпрд╣рд╛рдБ рд╡реАрдбрд┐рдпреЛ рд╣реИ:
рдЕрдзреАрд░ рдЕрдм
рдЦреЗрд▓рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЖрдкрд╕реЗ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рддреЛ рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЦреЗрд▓ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ FF13 (рдЕрдиреБрд╢рдВрд╕рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░) рдФрд░ рдХреНрд░реЛрдо (ium) рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдзреАрдорд╛-рд╕рд░реНрд╡рд░ рд╕рд░реНрд╡рд░ рд▓реЛрдб рдХреЛ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред рдФрд░ рд╣рд╛рдВ, рдореБрдЭреЗ рдЧреБрд▓рд╛рдмреА рдЯрд╛рдЗрд▓реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
OpenTTD
рдореИрдВ OpenTTD рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд░реЛрдд рдХреЛрдб рджрд╛рддрд╛ рдмрди рдЧрдпрд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, C ++ рдХреЛрдб рдХреА рд▓рдЧрднрдЧ
300,000 рд▓рд╛рдЗрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдЕрджреНрднреБрдд рд╣реИрдВред рдЦреБрдж рдХреЗ рд▓рд┐рдП рдиреНрдпрд╛рдпрд╛рдзреАрд╢:
- рдЪрд╛рд░ рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо (рдбреНрд░рд╛рдЗрд╡рд░)
- рдкрд╛рдВрдЪ рд╕рд╛рдЙрдВрдб рдбреНрд░рд╛рдЗрд╡рд░
- рдЫреЛрдЯрд╛ / рдмрдбрд╝рд╛-рд╕рд╛
- рд╕реНрд░реЛрдд рд╕реНрддрд░ рдкрд░, рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдФрд░ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдиреЗрдЯрд╡рд░реНрдХ рд╡рд╛рддрд╛рд╡рд░рдг (рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЧреНрд░рд╛рдлрд┐рдХ рдФрд░ рд╕рдВрдЧреАрдд рд╕реЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛) рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗрдВ
- рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рдЧреЗрдо
- рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ lzma рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬреЗрдВ
- рдХреИрд╢рд┐рдВрдЧ рд░реЗрдВрдбрд░рд┐рдВрдЧ
- рд░рдВрдЧ рдкреИрд▓реЗрдЯ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рдЗрд▓реНрд╕ рдХрд╛ рдПрдиреАрдореЗрд╢рди
- рдмрд┐рд▓реНрдЯ-рдЗрди рд╕реНрдХреНрд╡рд┐рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ
рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рд░рдЪрдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЗрдирд╕рд╛рдЗрдЯреНрд╕ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдирд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдРрд╕реЗ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдПрдХ рд░рд╛рдХреНрд╖рд╕реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЖрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдПрдХ рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреА рдереА, рдЬреЛ рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрдирдЯреАрдбреА рдореЗрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЗ рдкреИрдЪрд┐рдВрдЧ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреА рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдУрдкрдирдЯреАрдбреА рд╕рдВрднрд╡ рдерд╛:
- рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдореЛрдб
- рдереЛрдбрд╝рд╛-endian
- рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдиреЗрдЯрд╡рд░реНрдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ
- рд╡реАрдбрд┐рдпреЛ рдбреНрд░рд╛рдЗрд╡рд░ - рдкреИрдЪ рдХрд┐рдП рдЧрдП рдПрд╕рдбреАрдПрд▓
- рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдзреНрд╡рдирд┐ рдЪрд╛рд▓рдХ
- рд╕рд░реНрд╡рд░ рдкрд░ рдЧреЗрдо рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдХрд┐рдП рдЧрдП рддрдВрддреНрд░
- рдкреИрдЪ рдЦреЗрд▓ рд╕рдВрд╕рд╛рдзрди рд▓реЛрдХреЗрдЯрд░
рдмрд╛рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реИред
Emscipten
Emscripten рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛрдб рдкрд░ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рд╕рдВрдпреБрдЧреНрдорд┐рдд рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рдЗрд╕ рдмреНрд▓реЙрдХ рдХреЛ рдкрдЪрд╛ рд╕рдХреЗред рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ
рд▓реЗрдЦ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЧреВрдврд╝ рддрдХрдиреАрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╕рд░рд▓ рд╣реИ: C ++ рдХреЛрдб рдХреЛ рдХреНрд▓реЗрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ LLVM рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдЗрдЯрдХреЛрдб, рдмрджрд▓реЗ рдореЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдИрдореНрд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред LLVM рдмрд╛рдИрдЯреЗрдХреЛрдб рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдХреЛрдб рд╣реИ рдЬреЛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдмрд╛рдЗрдЯрдХреЛрдб рдПрд▓рдПрд▓рд╡реАрдПрдо рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рдХреЗ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХрдВрдкрд╛рдЗрд▓рд░ рдмрд╛рдпрдЯреЗрдХреЛрдб рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ-рд╕реЗ-рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ (рдмрд╛рдИрдВ рддрд░рдл рдмрд╛рдпрдЯреЗрдХреЛрдб, рджрд╛рдИрдВ рдУрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ)ред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд░реНрдХрд┐рдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдВрдХрд▓рдХ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рд╣реИред LLVM рдмрд╛рдИрдЯреЗрдХреЛрдб рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ (рд╕реВрдЪрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп, рд▓реВрдк, рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ C ++ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред

C ++ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ Math.floor (рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИ) рдЬреИрд╕реА рдЯреНрд░рд┐рдХ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рдПрд▓рдПрд▓рд╡реАрдПрдо рдмрд╛рдЗрдЯрдХреЛрдб рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓реВрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ:

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рдЙрддреНрдкрд╛рджрдХ рд╣реЛрдВрдЧреЗ, рдФрд░ рдпрд╣рд╛рдВ рдИрд╕реНрдорд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХрд╛ рдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИред
рдЗрди рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, emscripten рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: libc, libcxx, POSIX, SDL, GL, GLES, рдФрд░ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдлрд╝рд╛рдЗрд▓ рд╕рдмрд╕рд┐рд╕реНрдЯрдо C (fopen, fclose, fread, ...)ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдИрд╕реНрдорд┐рдкреНрдЯреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдИрдореНрд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХрд╛ рд╕рдВрдкреВрд░реНрдг рдЖрдХрд░реНрд╖рдг рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╡реИрд╕реЗ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдлрд▓ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдореИрдВ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рджреЗрдЦ рд░рд╣рд╛ рдерд╛, рд╕рдореБрджрд╛рдп рдУрдкрдирдЯреАрдбреАрдЯреА рдХреЗ рдЕрдЧрд▓реЗ рд▓рдШреБ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдФрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдПрдХ рдирдпрд╛ рдкреЛрд░реНрдЯ рдорд┐рд▓рд╛, рдЖрд╕рд╛рдиреА рд╕реЗред
рдкрд░рд┐рд╡рд╣рди рдЯрд╛рдЗрдХреВрди рдбреАрд▓рдХреНрд╕
рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХреЗ рд╕рд╛рде, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдбреВрдо, рдЬрд╝реНрд▓рд┐рдм, рдкреЙрдкрд▓рд░, рдУрдкрдирдЬреЗрдкреАрдИрдЬреА, рдлреНрд░реАрдЯрд╛рдЗрдк, рдмреБрд▓реЗрдЯ, SQLite, рдкрд╛рдпрдерди, рд░реВрдмреА, рд▓реБрдЖ рдФрд░ рдЕрдиреНрдпред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдЪрд░реНрдЪрд╛ рд╕рдореВрд╣ рдореЗрдВ рдПрдХ рд╕рдХреНрд░рд┐рдп рдлреЛрд░рдЯреНрд░рд╛рди рд╕рдВрдХрд▓рди рдЪрд░реНрдЪрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд┐рд╕реА рдЬрдЯрд┐рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ C ++ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ OpenTTD рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛, рддреЛ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рд╣реИред

рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рди рддреЛ рдорд╛рдЙрд╕ рдФрд░ рди рд╣реА рдХреАрдмреЛрд░реНрдб рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдХреЗрд╡рд▓ рдпрд╣ рдЫрд╡рд┐ рд╣реА рд╕рдм рдХреБрдЫ рд╣реИред
рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрд╕реНрдорд┐рдкреНрдЯреЗрди рдХреЗ рд▓реЗрдЦрдХ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд░реНрдерди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, emscripten SDL 2.0 рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рдЙрдкрд╕рдореВрд╣ рдХреЛ SDL 1.2 рдХреЗ рдПрдХ рдорд┐рд╢реНрд░рдг рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдореБрдЭреЗ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдХрдореА рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдФрд░ рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рдХрдорд┐рдЯрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдмрди рдЧрдпрд╛ (
ChSV !!! )ред
рдЙрдкрд░реЛрдХреНрдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рдХреИрдкреНрдЪрд░ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдереА рдХрд┐ emscripten рдореЗрдВ SDL 1.2 рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рдХреЗрд╡рд▓ 32-рдмрд┐рдЯ рд╕рддрд╣реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдерд╛ рдФрд░ SDL_HWPALLETE рдзреНрд╡рдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ред SDL_HWPALLETE рдореЛрдб рдореЗрдВ рдПрдХ рдЫрд╡рд┐ рдЖрда рдмрд┐рдЯреНрд╕ (256 рд░рдВрдЧ) рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИред рдпрд╣ рдЗрд╕ рд╕рдВрдмрджреНрдз рдЫрд╡рд┐ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд╕рд╛рде рд╣реИред рдпрд╣ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ? рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдерд╛: SDL_VideoModeOK, SDL_VideoDriverName, SDL_QuitSubSystem рдФрд░ strndumpред рдореИрдВрдиреЗ рдПрдХ рдЧрдВрднреАрд░ рдкреНрд░рджрд░реНрд╢рди рдореБрджреНрджреЗ рдХреА рдкрд╣рдЪрд╛рди рдХреА рд╣реИ рдЬреЛ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рд╛рдЙрдВрдб рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореЗрд░реЗ рд╕рдВрдкрд╛рджрди рдЗрд╕ рд╕рдордп рдИрд╕реНрдХреНрд░рд┐рдкреНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереЗред
рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝реНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдкрд╣рдЪрд╛рдирд╛ рдЧрдпрд╛ рд╣реИред рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдЖрдк рдЬреЛ рдЧреБрд▓рд╛рдмреА рдЯрд╛рдЗрд▓реЗрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рд╕рд┐рд░реНрдл рдЕрдиреБрдХреВрд▓рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ - рдЭрдВрдбреЗ рдХреЗ рдмрд┐рдирд╛ рд╡реЗ рд╕рд╣реА рд░рдВрдЧ рдХреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдкрд╛рдЧрд▓ рд╣реИ (рджреЛ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ 45 рдбрд┐рдЧреНрд░реА рдХреА рдврд▓рд╛рди рдХреЗ рд╕рд╛рде рдЧреБрд▓рд╛рдмреА рдХреЗрд╡рд▓ рдкрд╛рдиреА рдХреА рдЯрд╛рдЗрд▓реЗрдВ) рдФрд░ рдЪрд╛рд▓реВ рдХрд┐рдП рдЧрдП рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдкреЛрд░реНрдЯрд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп (2 рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ) рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдХреНрд╕рд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рддреЗрдЬрд╝реА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рдХреАрдбрд╝реЗ рдПрдХ рдпрд╛ рджреЛ рджрд┐рди рдХреЗ рднреАрддрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ (рдореЗрд░рд╛, рдХрдо рд╕реЗ рдХрдо)ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдИрдореНрд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд▓рдШреБ рд╕рдВрдкрд╛рджрди рдХреЛ рдИрд╕реНрдорд┐рдкреНрдЯреЗрди рдХрд░рдиреЗ рдпрд╛ рд╕реНрд╡рдпрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рд╣реЛ рдЬрд╛рдиреЗ рдкрд░, рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░-рдмрд╛рд░ рдкреЛрд░реНрдЯрд┐рдВрдЧ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдпрд╣ рдирд╣реАрдВ рд╣реИ?
рдПрд▓реЛрди рдЬрд╛рдХрд╛рдИ (рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ) рдиреЗ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдПрдХ
рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХреА рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ рдХрд╛рдлреА рддреЗрдЬ рд╣реИ рдФрд░ рдЕрдбрд╝рдЪрди рд╕рдВрдХрд▓рдХ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╣рдореЗрд╢рд╛ рдЗрд╖реНрдЯрддрдо рдХреЛрдб рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд▓реЗрдЯ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджрд┐рдпрд╛:
рд╕реНрдкрд╛рдЗрдбрд░рдореЛрдиреНрдХрд░ (рдПрд╕рдПрдо) рдПрдХ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рд╣реИ; рдЯрд╛рдЗрдк рдПрд░реНрд░реЗрдЬрд╝ (рдЯреАрдП) рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реАрдк рдЗрдореНрдпреВрд▓реЗрд╢рди рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдИрд╕реНрдорд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛рдПрдБ рдмрддрд╛рддреА рд╣реИрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд┐рддрдиреА рдмрд╛рд░ рджреЗрд╢реА рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реБрдЖред рдкреНрд░рд╕рд╛рд░, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдХ рд╕реЗ рдЖрда рдЧреБрдирд╛ рддрдХ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдФрд╕рдд рдХрд╣реАрдВ 3-5 рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИ)ред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ
http://shootout.alioth.debian.org/ рдореЗрдВ C ++ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рднрд╛рд╖рд╛ рдХреЛ рдХрд┐рддрдиреА рдмрд╛рд░ рдзреАрдорд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред (рдзреНрдпрд╛рди рджреЗрдВ: рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдкреБрд░рд╛рдиреА рд╣реИ рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рддреЗрдЬрд╝ рднрд╛рд╖рд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдЪрд▓реЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдЫреВрддреЗ рд╣реИрдВ - рд╢рд╛рдпрдж рдЙрдирдХреЗ рдкрд╛рд╕ рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рд╣реИред)

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЗрди рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдФрд░ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ OpenTTD рдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ 5-7 рдЧреБрдирд╛ рдзреАрдорд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ FireFox рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВред рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдХреНрд╖рдг рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдЦреЛрдЬрд╛ред рдореИрдВрдиреЗ рдиреЛрдбрдЬ + рдХреНрд░реЛрдорд┐рдпрдо рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛ред рдореИрдВ рдЦреБрдж рдПрдлрдПрдл рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдУрдкрдирдЯреАрдбреАрдЯреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рдЖрдХрд╛рд░ рдореЗрдВ рд▓рдЧрднрдЧ рдкрдЪрд╛рд╕ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдереЗ рдФрд░ рдПрдлрдПрдл рддрдВрдЧ рдереЗ, рдЬрдмрдХрд┐ рдХреНрд░реЛрдорд┐рдпрдо рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред рдореИрдВрдиреЗ рддрд░рдВрдЧ рдкрд░ рдХреНрд░реЛрдорд┐рдпрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛, рд▓реЗрдХрд┐рди рдЕрдЪрд╛рдирдХ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХреНрд░реЛрдорд┐рдпрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдлрдПрдл (2-3 рдмрд╛рд░) рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЧреИрд░-рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рднреА рдХреЛ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдкрдирд╛рдпрд╛ рдФрд░ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдпрд╛ред рдореИрдВрдиреЗ рдХреНрд▓реИрдВрдЧ, рдПрд▓рдПрд▓рд╡реАрдПрдо, рдЕрдЬрдЧрд░ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╕реАрдЦрд╛ред рджрд┐рд▓рдЪрд╕реНрдк рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреАред рд╕рдореБрджрд╛рдп рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╕рдВрдж рдЖрдИ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдЗрд╕реЗ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ред рдореБрдЭреЗ рдХрд┐рдП рдЧрдП рдХрд╛рдо рд╕реЗ рдмрд╣реБрдд рд╕рдВрддреБрд╖реНрдЯрд┐ рдорд┐рд▓реАред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рд╣рд░ рдХрд┐рд╕реА рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд╕рдВрджрд░реНрдн:
play-ttd.comрд╡реАрдХреЗ рдЖрд╡реЗрджрдирдпреБрдкреАрдбреАред рдирдИ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд▓ред