Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ΅Π½ (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΌΠ΅Π½Ρ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²ΡΠ³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ΅Π½Ρ). Π ΠΊΠ°ΡΠΊΠ°ΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΡΡΡΠ΅, ΡΠΎ Π΅ΡΡΡ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌ Π΄Π²ΠΈΠΆΠΎΠΊ Π² Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ», Π½ΠΎ ΡΠΆΠ΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΡ ΠΈ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΈΡΠ΅ΠΌ, ΡΠ΄Π΅Π»Π°Π½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π°Π³Π° (ΡΡ ΠΎΠΆΠ°Ρ Ρ GetLastError() ΠΈΠ· Win32 API). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π»ΠΈ ΡΠ»Π°Π³ (m_dwError) Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’ΠΎ Π΅ΡΡΡ Π»ΡΠ±Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²Π΅Π΄Π΅Ρ ΠΊ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π²ΡΠ΄Π°ΡΡΠΈΠΌΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π ΡΠ°ΠΊΠΆΠ΅, Ρ ΠΏΠΎΡΡΠΈΡΠ°Π» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠ°ΡΠΊΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΡΡΡΠΎΡΠ° (CCursor). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ°ΡΠΊΠ°Ρ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΡΡΡΠΎΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠΏΠΎΡΠ½Π° ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠ°ΠΊ Π² ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΠ°ΠΊ ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ (Π½ΠΎ Π½Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ) ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ·Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠΌΠ΅Π½Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΡΡΡΠΎΡΠ° Π½Π° Π»Π΅ΡΡ. ΠΠΎ ΡΡΠΎ, Π² ΠΎΠ±ΡΠ΅ΠΌ, Π½Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, Π° Π·Π΄Π΅ΡΡ Ρ Π΅Π΅ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π½Π΅ ΠΏΠΎΡΡΠΈΡΠ°Π» Π½ΡΠΆΠ½ΡΠΌ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΌΠ΅Π½Π° ΡΡΠ°Π΄ΠΈΠΉ ΠΊΡΡΡΠΎΡΠ°, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΎΠΏΠΈΡΠ°Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ°Π΄ΠΈΠΉ (ΠΊΡΡΠ°ΡΠΈ, ΠΊΠ°ΠΊ Π²Π°ΠΌ ΠΌΠΎΠΉ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ :)), Π° Π² ΡΡΠ½ΠΊΡΠΈΠΈ Create() β ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ.
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ² (ResourceManager). Π― ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΡΡ Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, Π½Π΅ΠΈΠ΄Π΅Π°Π»ΡΠ½Π°, Π½ΠΎ ΡΡΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΏΡΡΡΡ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π΅ Π² ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. Π ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ β Π±ΡΠ»ΠΎ Π±Ρ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ CFolder ΠΊΠ»Π°ΡΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π½ΡΡ Π·Π°Π΄Π°ΡΠ΅ΠΊ (Π·Π°Π΄Π°ΡΠ° ΠΏΡΠΎ Ρ Π°ΠΊΠ΅ΡΠ° ΠΠΈΠ»Π»Π° Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΠΊΡΡΠ»ΡΡ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ). ΠΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ (Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ). ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ Π² main.cpp ΠΈ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ.
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (CConfigFile). ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΠ»Π° ΠΎΠ·Π½Π°ΡΠ΅Π½Π° ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π΄Π»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΆΠ΅ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ - Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° CConfigFile::restore() - ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ±ΠΎΠΉΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π·Π΄Π΅ΡΡ Ρ Π΅Π΅ Π½Π΅ ΠΏΡΠΎΠ²Π΅Π», Π½ΠΎ ΠΏΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π½Π΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΡΠ°ΡΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΡΠ΄Π° ΡΡΡΠΎΠΊ Π½Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈ ΡΡΡΠΎΠΊΠ°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π»ΠΈ, Π½ΠΎ ΠΈ Π±ΡΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°Π·ΡΡΠ΄Π΅.
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΌΠ½Π΅, Π°Π²ΡΠΎΡΠ° Ρ Π½Π΅ Π·Π½Π°Ρ, Π½ΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Ρ ΠΎΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π΅ΠΌΡ ΡΠΏΠ°ΡΠΈΠ±ΠΎ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»ΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² NVIDIA, ΠΏΠΎΡΡΠΎΠΌΡ, Ρ Π΄ΡΠΌΠ°Ρ, Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π°Π²ΡΠΎΡΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°.
Π ΠΊΠ°ΡΠΊΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ΅ΡΡΠΈΠΊ FPS, Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ ΠΊΠ»Π°ΡΡΡ: ueFontD3D β ΡΡΠΎ CD3DFont ΠΈΠ· DirectX SDK, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ ΠΎΠ½ Π±ΡΠ» ΠΏΡΠΎΡΡΠΎ ΠΈΠ· ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎΠ΄ Π½Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠ»Π°ΡΡ Label, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠΊΡΠ°Π½. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠΎΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠΎΠΉ (dimmed). ΠΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΅ΡΡΠΈΠΊ FPS ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Π ΠΊΠ°ΡΠΊΠ°ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ΅Π½Π΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π·Π³Π»ΡΠ΄Π° (ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π»ΠΈΡΠ°). ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ:
LEFT ARROW, A β ΡΡΡΠ΅ΠΉΡ Π²Π»Π΅Π²ΠΎ.
RIGHT ARROW, D β ΡΡΡΠ΅ΠΉΡ Π²ΠΏΡΠ°Π²ΠΎ.
UP ARROW, W β Π²ΠΏΠ΅ΡΠ΅Π΄.
DOWN ARROW, S β Π½Π°Π·Π°Π΄.
C β Π²Π²Π΅ΡΡ .
V β Π²Π½ΠΈΠ·.
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½ΠΎΠ² Π³ΠΎΠ»ΠΎΠ²Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΆΠ°ΡΡ ΠΏΡΠ°Π²ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΌΡΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°ΡΡ Π΅ΠΉ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π΄ΠΎΠ»Ρ ΠΎΡΠΈ Y β Π³ΠΎΠ»ΠΎΠ²Ρ Π²Π²Π΅ΡΡ /Π²Π½ΠΈΠ·, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π΄ΠΎΠ»Ρ ΠΎΡΠΈ X β Π³ΠΎΠ»ΠΎΠ²Ρ Π²Π»Π΅Π²ΠΎ/Π²ΠΏΡΠ°Π²ΠΎ. ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΄ΠΎΠ»Ρ ΠΎΡΠΈ Y ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π²Π΅ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΡΡΠΊΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ inverty, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 ΠΈΠ»ΠΈ -1, ΠΈ ΡΠΈΡΠ°ΡΡ Π΅Π΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π Π² ΠΌΠ΅ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° m_iFi Π½Π° Π½Π΅Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ.
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΠΊΠ°ΡΠ°:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ MFC, ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§Π°ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π·Π°Π½Π΅ΡΠ΅Π½Π° Π² ΡΠ°ΠΉΠ» STDAFX.h, Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² ΡΠ°ΠΉΠ» STDAFX.cpp. ΠΠ½ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΌ. ΠΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ΄Π΅Π»Π°Π½Ρ Π² common.h β ΡΠ°ΠΉΠ»Π΅ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΠΊΠ°ΡΠΊΠ°ΡΠΎΠΌ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² Π½Π΅ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Ρ ΡΠ°Π½ΡΡ. ΠΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠ°Π²ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π΄Π²ΠΈΠΆΠΊΡ (ΠΊΠ°ΡΠΊΠ°ΡΡ), ΡΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ ueEngine*, Π΅ΡΠ»ΠΈ ΠΊ ΡΠΎΠ±ΡΡΠΈΡΠΌ β ueAction* ΠΈ Ρ. Π΄.
Π ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ DInput Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΌ ΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠ»Ρ ΠΌΡΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ β ΠΏΠΎΡΡΠΎΠΌΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π΄Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ WM_MOUSEMOVE, ΠΊΡΡΠ°ΡΠΈ, ΡΠ°ΠΌ ΠΆΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΡΡΡΠΎΡ (Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° β ΠΌΠ°ΡΡΠ° ΠΎΡΡΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.).
ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½Π° β ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΈΡΡΠΌΠΎ: Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ "Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎΡΡΠ΅ΠΉ" Π½Π°Π±Π΅ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠΎ Ρ ΠΏΠΎΡΠ²ΡΡΡ ΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΡΡΠ°ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΌΠΎΡΡΡ ΠΊΠ°ΡΠΊΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΠΌΠ½Π΅ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΌ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ (ΠΈΠ»ΠΈ Ρ Π½Π΅ ΠΏΡΠ°Π²? :) ).
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ°Π΄ΠΈΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° (Π² Π½Π΅ΠΉ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ). ΠΠΎΠΌΠ΅ΡΡΠΈΠΌ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠ°Π½Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΡΠΊΡΠ°Π½ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°. Π ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π»Π°Π½Π΄ΡΠ°ΡΡ (self-shadowing height-map based textured landscape with colored light map :) ). ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
Π ΡΠ΅ΠΉΡΠ°Ρ ΠΎ FeedBack'Π΅: ΠΠ½Π΅ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎΠ±ΠΎ ΠΌΠ½Π΅ ΠΈ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΠΎΡ Π²ΡΠ΅Ρ Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ (ΡΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅): ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ½ΡΠΉ ΡΠ°Π»Π°Π½Ρ (ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ L, 0-10, 0 β Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π±Π΅ ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠΌ Π·Π°Π½ΡΡΡΡΡ, 10 β Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ), ΠΌΠΎΠ΅ ΠΈΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ P, 0-10, 0 β Π·Π° ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΠ½Π³ Π² ΠΊΠΎΠ»ΡΡΠΊΠ΅ ΡΠ±ΠΈΠ²Π°ΡΡ Π½Π°Π΄ΠΎ, 10 β Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ), Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ (ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ I, 0-10, 0 β Π΄Π° Ρ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΈΡΠ°Π», 10 β ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ, ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ). ΠΠ°Ρ ΠΠΎΠ·ΡΠ°ΡΡ, ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C/C++, ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (DX/OGL/ΠΡΡΠ³ΠΎΠ΅).
ΠΠ²ΡΠΎΡ: ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½ "DreaDdog" ΠΠΎΠ·Π΄Π½ΡΠΊΠΎΠ²#4: ΠΠ°Π½Π΄ΡΠ°ΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ: (ΠΎ ΡΠ΅Π°ΠΊΡΠΈΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ).
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ .
ΠΡΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΊΡΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²Π΅ΠΉ. ΠΡΠ΅Π΄Π²ΠΈΠ΄Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ "ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ" Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ ΡΠΎΠ·Π΄Π°Π» ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ ΠΈ Π² Π½Π΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ (Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π½ΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ΅. ΠΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΡΠΈΠ»ΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π΅ΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ ΠΊΠ°ΡΠΊΠ°ΡΠ° "Validate" ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π½ΠΎ ΠΎΠ±Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ. ΠΡΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Warning's ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈΠ·Π»ΠΈΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MFC, ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΡΠ½ΠΈΡ Header'ΠΎΠ² (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, DX) Π²ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ°ΠΉΠ» common.cpp, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠΎΡΠ΅Π²Π°Π»ΠΈ Π²ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· stdafx.cpp. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΡΡΠ΅ΠΌΡ ΠΠΈΡΠΈΠ»Π»ΠΎΠ²ΡΠΊΠΎΠΌΡ, Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΠΎΡΡΠΈΠ²ΡΠΈΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΡΠ°ΡΠΈ, Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉΡΡ ΠΊΡΠ±ΠΈΠΊ Π±ΡΠ» ΡΠ±ΡΠ°Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΈΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ° ΠΊΠ½ΠΎΠΏΠΊΡ <H> Π±ΡΠ»Π° ΠΏΠΎΠ²Π΅ΡΠ΅Π½Π° ΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, ΠΏΡΠ°Π²Π΄Π° ΠΎΠ½Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠ΅Π½Π΅ ΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π΅Π΅ Π²ΡΠ·Π²Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ. Π ΠΊΠ»Π°ΡΡ Font Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΡΠΈΡΡΠ°, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° Edit (ΠΎ Π½Π΅ΠΌ ΡΡΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅). Π ΠΊΠ°ΡΠΊΠ°Ρ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³Π°ΠΌΠΌΡ (gamma), ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ½ΠΎΡΡΠΈ (contrast) ΠΈ ΡΡΠΊΠΎΡΡΠΈ (brightness), ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΡΡ ΠΈ ΡΠ΅ΠΊΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° (Render Target). ΠΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΠΊΡΡΡΡΡ (ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ TCHAR*, Π½ΠΎ ΠΈ ΠΊΠ°ΠΊ CString, ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ° (ΠΏΠΎΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Windows Bitmap, Π½ΠΎ ΡΡΠΎ Π²Π΅Π΄Ρ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡΠ°Π²Π΄Π°?). ΠΠ½Π° ΠΏΠΎΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ Print Screen (ΡΠ΅ΡΠ΅Π· DINPUT). Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ <SHIFT> ΠΈ <CAPS LOCK> (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±: