рдЕрд▓рд╛рд╡рд░ рдЗрдВрдЬрдиред рднрд╛рдЧ рджреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЧреЗрдо рдЗрдВрдЬрди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рд╢реБрдн рджреЛрдкрд╣рд░ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ , HOPA рд╢реИрд▓реА (рд╣рд┐рдбрди рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣реЗрд▓реА рдЧреЗрдо рдпрд╛ "рд╣рд┐рдбрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕") рдХреЗ рдЧреЗрдо рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рджреЛ-рд╕реНрддрд░реАрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рд╣рдорд╛рд░реЗ рдЗрдВрдЬрди рдХреЗ рдореБрдЦреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдирд┐рд░реНрднрд░ рдШрдЯрдХреЛрдВ рдФрд░ рдЗрдВрдЬрди рдХреЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкреНрд░рддрд┐рдорд╛рди рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗ рд╣рдореЗрдВ рджреЛрдиреЛрдВ рдЗрдВрдЬрдиреЛрдВ рдХреЛ рдирдП рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдФрд░ рдПрдХ рдордВрдЪ рд╕реЗ рджреВрд╕рд░реЗ рдЦреЗрд▓ рдореЗрдВ рдЦреБрдж рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдФрд░ рд╣рдо рднреА рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ:


рдЕрд▓рд╛рд╡рд░ рдЗрдВрдЬрди рдХрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣рд┐рд╕реНрд╕рд╛ 2 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ: рдПрд╕рдПрдл (рд╕реНрдЯрд╛рд░рдЧреЗрдЬ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдФрд░ рдХреНрдпреВрдИ (рд╕реНрдЯрд╛рд░рдЧреЗрдЬ рдХреНрд╡реЗрд╕реНрдЯ рдЗрдВрдЬрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА)ред рдПрд╕рдПрдл рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдореВрд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЧреЗрдо рдХрд╛ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд░реЛрдд рд╢рд╛рдЦрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрд╕рдПрдл рдЫрд╣ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рд╡рд┐рдВрдбреЛрдЬ (рдПрдХреНрд╕рдкреА, рд╡рд┐рд╕реНрдЯрд╛, рд╡рд┐рдВрдбреЛрдЬ 7), рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рдЖрдИрдУрдПрд╕, рдПрдВрдбреНрд░реЙрдЗрдб, PS3 рдФрд░ рд╡рд┐рдВрдбреЛрдЬ 8 (рд╡рд┐рдХрд╛рд╕ рдХреЗ рддрд╣рдд)ред

рдХреНрд╡реЗрд╕реНрдЯ рдЗрдВрдЬрди рд╕реНрдЯрд╛рд░рдЧреЗрдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдб-рдСрди рд╣реИ рдЬреЛ рдХреНрд╡реЗрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдЧреЗрдо рдХреЗ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, QE рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп HOPA рд╢реИрд▓реА рдХреЗ рд╕реНрдерд┐рд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реНрдерд┐рд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╣ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЧрддрд┐рд╢реАрд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЧреЗрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реИрд▓рд┐рдпреЛрдВ рдЯрд╛рдЗрдо рдореИрдиреЗрдЬрдореЗрдВрдЯ (рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрди) рдФрд░ рдЯреЙрд╡рд░ рд░рдХреНрд╖рд╛ред рдПрд╕рдПрдл рдХреЗ рднреАрддрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЛ рд╕реНрддрд░ рд╣реЛрддреЗ рд╣реИрдВред рдЙрдкрд░реЛрдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдЕрдкрдиреЗ рдЗрдВрдЬрди рдХреА рдХрд╛рдлреА рдЙрдЪреНрдЪ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдЧреЗрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рддреАрди-рд╕реНрддрд░реАрдп рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб, рдХреНрд╡реЗрд╕реНрдЯ рдЗрдВрдЬрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд╕реНрдЯрд╛рд░рдЧреЗрдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╢реЙрдкрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдореВрд▓ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдЙрди рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЬреЛ рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдЦреЗ рдереЗред рд╡реИрд╕реЗ, рд╣рдорд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрд░реЛрдд рд╕реНрддрд░ рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕реНрддрд░ рдкрд░ рдЦреЗрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯрд╛рд░рдЧреЗрдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдЕрд╡рд╕рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



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

#if defined(__SF_WINDOWS) #include <Objbase.h> #elif defined(__SF_MAC) || defined(__SF_IPHONE) #include <uuid/uuid.h> #endif 

рдЗрд╕рдХреЗ рдХрд╛рд░рдг, Stargaze рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдПрдХ рдПрдХреАрдХреГрдд рд╡рд┐рдХрд╛рд╕рд╢реАрд▓ рд╢рд╛рдЦрд╛ рдФрд░ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рд╕рдВрдЪрд╛рд▓рди рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдПрдХ рдирдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдПрдХ рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди рд╕рдХреНрд░рд┐рдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рдореНрди рдореЙрдбреНрдпреВрд▓ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВ:


рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдкрд░ 2 рдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЕрдкрдиреЗ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╣реИрдВ, рдЬреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкрд┐рдЫрд▓реЗ рд╕реНрддрд░ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдПрдХреАрдХрд░рдг рдореЙрдбреНрдпреВрд▓ рдХреЗ рджреЛрдиреЛрдВ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:


рдЙрдкрд░реЛрдХреНрдд рдЙрдкрдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдордзреНрдпрд╡рд░реНрддреА рдХреЛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдЬреАрдпреВрдЖрдИ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╣реИ - рдЗрд╕рдХреА рдЕрдкрдиреА рд╡рд┐рдЬреЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдЬрд┐рд╕рдореЗрдВ рддреИрдпрд╛рд░ рдХреНрд▓рд╛рд╕рд┐рдХ рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝, рдмрдЯрди, рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб, рдЪреЗрдХрдмреЙрдХреНрд╕, рд░реЗрдбрд┐рдпреЛ рдмрдЯрди, рдЖрджрд┐ред рдПрдХреАрдХреГрдд рддрддреНрд╡ рд╡рд┐рдЬреЗрдЯ рдкреНрд░рдмрдВрдзрдХ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╡рд┐рдЧреЗрдЯреНрд╕ рдкрд░ рднреЗрдЬрдирд╛, рд╡рд┐рдЬреЗрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдЬреЗрдЯ рдореИрдиреЗрдЬрд░ рдореЗрдВ рдПрдХ рдЬреЗрд╕реНрдЪрд░ рдПрдореБрд▓реЗрд╢рди рдореЙрдбреНрдпреВрд▓ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рджреЛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╣реИрдВ: рдЗрд╢рд╛рд░реЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред

рдЖрдЗрдП рдЖрд╡реЗрджрди рдХреЗ рддрдВрддреНрд░ рдХреЛ рд╕реНрд╡рдпрдВ, 2 рдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, CApplication рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд░реНрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореВрд▓ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЧреЗрдо рдбреЗрд╡рд▓рдкрд░ рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ рдПрдХ рд╡рд╛рд░рд┐рд╕ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рднрд░рддрд╛ рд╣реИред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рддрдВрддреНрд░ рдХрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдирд┐рд░реНрднрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛, рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдмрдирд╛рдирд╛, рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЗрд╡реЗрдВрдЯреНрд╕ рдЖрджрд┐) CSystemIntegration рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ:

 class CSystemIntegration { public: CSystemIntegration(); virtual ~CSystemIntegration(); virtual bool Init() = 0; virtual void Run() = 0; virtual void Stop() = 0; virtual void Shutdown() = 0; virtual bool EnsureSingleInstance() = 0; virtual bool ChangeScreenMode(bool _fullscreen, bool _32bpp, size_t _width, size_t _height) = 0; virtual bool GetOriginalDesktopDimentions(size_t &_width, size_t &_height) = 0; virtual EventInformation &GetCurrentEvent() = 0; virtual void DefaultWindowProc() = 0; virtual void GetWindowClientRect(misc::IntRect &_rc) = 0; virtual void AdjustClientRectToWindow(misc::IntRect &_rc) = 0; virtual void GetDesktopWindowedSpace(misc::IntRect &_rc) = 0; virtual void ScreenCoordsIntoClient(misc::IntVector& _pos) = 0; virtual void ClientCoordsIntoScreen(misc::IntVector& _pos) = 0; virtual void EnableSystemGestureRecognizer(int _recognizerType, bool _enable) {}; virtual void SetMouseCursorPos(const misc::IntVector& _pos) = 0; virtual void GetMouseCursorPos(misc::IntVector& _pos) = 0; virtual void SetSysCursor(gui::SysCursor _cursor, bool _show_now = true) = 0; virtual gui::SysCursor GetSysCursor() = 0; virtual void ShowSysCursor(bool _show = true) = 0; virtual bool IsSysCursorShown() = 0; protected: void AppUpdate(); void AppDraw(); void ActivateApp(bool _activate = true); void MinimizeApp(bool _minimized = true); }; 

рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рдЧреЗрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗрд╡рд▓ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреЗ рдЕрдореВрд░реНрддрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ CSystemIntegration рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рднрд╛рдЧ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдореЙрдбрд▓ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рдореЗрдВ рдХреБрдЫ рдЖрдЙрдЯрдкреБрдЯ рдХреНрд╖реЗрддреНрд░ (рд╡рд┐рдВрдбреЛ), рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рдХрддрд╛рд░ (рдХреАрдмреЛрд░реНрдб рдИрд╡реЗрдВрдЯ, рдЗрд╢рд╛рд░реЗ рдЖрджрд┐) рдФрд░ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЪрдХреНрд░ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ CSystemIntegration рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХреНрд▓рд╛рд╕ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рд╣реИ, рдХрдИ рдХрдиреНрд╡реЗрдВрд╢рди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрдХреНрд░ рдХреЛ AppUpdate () рдФрд░ AppDraw () рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ PS3 рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рд▓реВрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ:

 void CStandaloneApplicationWindows::MessageCycle() { MSG msg; while (!m_EndModal) { while (!m_Stop && PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } if (m_Stop) break; AppUpdate(); AppDraw(); } m_EndModal = false; } void CStandaloneApplicationPS3::MessageCycle() { while (!m_EndModal) { if (g_quitRequested == false) { cellSysutilCheckCallback(); if ( cellPadUtilUpdate() ) { input::PointerApp::main(); _updatePad(); } if (m_Stop) break; AppUpdate(); AppDraw(); }else break; } m_EndModal = false; } 

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

 bool SFIPhoneMain() { static game::CGameApplication app; if (!app.Init()) return false; else return true; } void StartLoadGame() { sf::core::CApplication * app = sf::core::g_Application; app->SetMainWindow(new game::CMainMenuWindow()); app->Run(); } 

рдЬрд╣рд╛рдБ CGameApplication CApplication рдХрд╛ рд╡рд╛рд░рд┐рд╕ рд╣реИ, рдФрд░ CMainMenuWindow, рдЦреЗрд▓ рдХреЗ рдХреЛрдб рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд CWindow рдХрд╛ рд╡рд╛рд░рд┐рд╕ рд╣реИред рдХреЛрдб рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рджреЛ-рд╕реНрддрд░реАрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдореВрд░реНрдд рдХрд╛ рдпрд╣ рдореЙрдбрд▓ рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдиреНрдпреВрдирддрдо рд▓рд╛рдЧрдд рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЧреЗрдо рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рдиреНрдпреВрдирддрдо рд╕рд┐рд░рджрд░реНрджред рдФрд░ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдПрдХреАрдХреГрдд 2 рдбреА-рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд░реЗрдВрдбрд░-рдорд╢реАрдиреЛрдВ, рдЬреИрд╕реЗ рдХрд┐ рдбреА 3 рдбреА 9, рдбреА 3 рдбреА 11, рдУрдкрдирдЬреАрдПрд▓ рдИрдПрд╕ (2.0 рд╕рд╣рд┐рдд), рдЬреАрд╕реАрдПрдо рдХреЗ рд╕рд╛рде рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реНрдЯрд╛рд░рдЧреЗрдЬ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ CRenderer рдФрд░ CRenderDevice рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХреА рд╣реИред CRenderer рд╡рд░реНрдЧ рдПрдХ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп API рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - 2D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ 2K рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:


рдпрд╣ рд░реЗрдВрдбрд░ рдорд╢реАрди рдХреЗ рд╕реНрдЯреЗрдЯ рд╕реНрдЯреИрдХ рдХреЛ рднреА рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ: рдмреНрд▓реЗрдВрдб рдХрд▓рд░, рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдореИрдЯреНрд░реАрд╕, рдХрд░рдВрдЯ рдЯреЗрдХреНрд╕рдЪрд░ рдФрд░ рдмреНрд▓реЗрдВрдб рдореЛрдбред рд╕рдВрдкреВрд░реНрдг рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди CRenderDevice рд╡рд░реНрдЧреЛрдВ (рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ API) рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдорд╛рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ:

 class CRenderDevice { public: CRenderDevice(); bool Init(); void Reset(); bool BeginScene(); bool EndScene(); void Render(RenderPrimitives _primitive, const RENDERVERTEX* const _verts, size_t _verts_count); void Render(RenderPrimitives _primitive, const void* const _verts, size_t _verts_count, DWORD _verts_fvf, DWORD _vertex_size); void Flush(); void SetTexture(DWORD _stage, IDirect3DTexture9* _texture); void SetTextureStageState(DWORD _stage, DWORD _state, DWORD _val); DWORD GetTextureStageState(DWORD _stage, DWORD _state) const; void SetBlendMode(BlendModes _blend_mode); void SetPixelShader(IDirect3DPixelShader9* _shader); void SetRenderTarget(IDirect3DTexture9* _texture); bool GetAvailableResolutions(std::list<Resolution> &_container); bool ClearRenderTarget(const Color& _color = 0); void ToggleHeavyRenderProfile(); private: тАж }; 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп API (CRenderer) рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрдирд╛рд╡рдЯ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, CRenderer рд░реЗрдВрдбрд░ рдорд╢реАрди рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрдирд╛рд╡рдЯ рдХреЗ рд╡рд░реНрдЯреАрдХрд▓ рдХреЗ рд╕рд░рдгреА рдХреЛ рдкреБрдирд░реНрдЧрдгрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ CRenderDevice ::ender рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЬрдм рднреА рд░реЗрдВрдбрд░ рдорд╢реАрди рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓рддреА рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдлреНрд▓рд╢ () рдХреЛ CRenderDevice рдХреЗ рдЕрдВрджрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рд╡рдЯ рдореЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╡рд╕рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╣реЛрдкрд╛ рдЦреЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдзреНрд╡рдирд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, CAudioManager рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рдмрд╛рд╕, рдУрдкрди, рдорд▓реНрдЯреАрд╕реНрдЯреНрд░реАрдо, XAudio2, рдЖрджрд┐) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рднреАрддрд░, рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рджреЛ-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рдФрд░ рдПрдХрд▓-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдИрдУрдПрд╕ред рдпрд╣ рдзрд╛рд░рдгрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдзреНрд╡рдирд┐ рдмрдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реЗрдЯ рд╣реИред рдпрд╣ рд╡рд░реНрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдзреНрд╡рдирд┐ рдкреНрд░рдЬрдирди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдзреНрд╡рдирд┐ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдФрд░ рдзреНрд╡рдирд┐ рд╕рдореВрд╣реЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдзреНрд╡рдирд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП "рдкреЗрдВрдЪ" рдзреНрд╡рдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреНрд░реИрдХ рд╢реБрд░реВ рдХрд░рдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: sf :: core :: g_AudioManager :: Instance ()ред Play ("some_music")ред

рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╕рдмрд╕рд┐рд╕реНрдЯрдо (рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ) рд╡реАрдбрд┐рдпреЛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╣реИред рдпрд╣ рдЧреЗрдо рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рдХрд╛рд░рдг рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реАрдбрд┐рдпреЛ рдСрдмреНрдЬреЗрдХреНрдЯ, рдЬрд┐рдирдореЗрдВ рдПрдХ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рд╡рд╛рд▓реЗ рд╣реИрдВ, рдЧреЗрдо рдХреЗ рджреГрд╢реНрдп рдкрд░ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЧреЗрдо рдореЗрдВ рдПрдлрдкреАрдПрд╕ рдореЗрдВ рдХрдореА рдФрд░ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рд╡рд┐рдВрдбреЛрдЬ, рдПрдВрдбреНрд░реЙрдЗрдб, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдФрд░ рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП, рдереЛрд░рд╛ рдФрд░ рд╡реЗрдмрдПрдо рдбрд┐рдХреЛрдбрд░реНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рджреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдЕрдзрд┐рдХ рдмреЗрд╣рддрд░ рд╣реИред рдЗрд╕ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдПрдкреАрдЖрдИ CVideo рд╡рд░реНрдЧ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, CAudioManager рдХреА рддрд░рд╣, рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред
рдХреЗрд╡рд▓ рдЕрдкрд╡рд╛рдж рджреЛ рдЕрджреНрдпрддрди рдФрд░ рдбреНрд░рд╛ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ рдбрд┐рдХреЛрдбрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░ рдбрд┐рдХреЛрдб рдХрд┐рдП рдЧрдП рдмрдирд╛рд╡рдЯ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╣рдореЗрдВ рдкрд░рддреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рджреГрд╢реНрдп рдкрд░ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдЙрди рд╡рд░реНрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реАрд╡реАрдбрд┐рдпреЛ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдпреЗ рдХрдХреНрд╖рд╛рдПрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд┐рдХреЛрдбрд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдирд┐рдпрдорд┐рдд рд╡реАрдбрд┐рдпреЛ рдФрд░ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдХреЛ рдорд┐рд▓рд╛рдХрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рддреА рд╣реИрдВред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗ рд╣рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдПрдХ рдордВрдЪ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред

рд╕реНрдЯрд╛рд░рдЧреЗрдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдордиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдХрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдирд┐рд░реНрднрд░ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдореВрд░реНрдд рдХрд╛ рджреЛ-рд╕реНрддрд░реАрдп рдореЙрдбрд▓ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕рдорддрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЦреЗрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рд┐рджреНрдзрд╛рдВрдд рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In169897/


All Articles