{"id":305075,"date":"2020-06-09T09:01:08","date_gmt":"2020-06-09T09:01:08","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=305075"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=305075","title":{"rendered":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Command &amp; Conquer: \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/505842\/\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ga\/-n\/td\/ga-ntdncnslfzgphzuluisdu2me.png\"><\/div>\n<p>  \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Electronic Arts \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0435\u0440\u0432\u043e\u0439 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Command_%26_Conquer\" rel=\"nofollow\">Command &amp; Conquer<\/a>, \u0430 \u0442\u0430\u043a\u0436\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Command_%26_Conquer:_Red_Alert\" rel=\"nofollow\">Command &amp; Conqueror: Red Alert<\/a>. \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441 <a href=\"https:\/\/github.com\/electronicarts\/CnC_Remastered_Collection\" rel=\"nofollow\">GitHub<\/a>.<\/p>\n<p>  \u0412\u0441\u0451 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u043c\u0435\u0435\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e <a href=\"https:\/\/github.com\/hydrogen18\/CnC_Remastered_Collection\/blob\/master\/License.txt\" rel=\"nofollow\">GPL v3<\/a>; \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b \u0432\u0441\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e changelog \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439. \u041f\u043e\u0445\u043e\u0436\u0435, \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u0430 Git.<\/p>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u0438\u0437\u0443\u0447\u0438\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0433\u043e \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430. \u041d\u0435 \u0431\u0443\u0434\u0443 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u0434\u0430, \u043d\u043e, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a\u043e\u0439 \u0431\u044b\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 C++ \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 1990-\u0445.<\/p>\n<p>  \u0418\u0437\u0443\u0447\u0430\u0442\u044c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u00abCommand &amp; Conquer: Red Alert\u00bb, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u0444\u043e\u0440\u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0438\u0433\u0440\u044b. \u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 <code>REDALERT<\/code>.<\/p>\n<h1>\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430<\/h1>\n<p>  <\/p>\n<ol>\n<li>290 \u0444\u0430\u0439\u043b\u043e\u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 C++<\/li>\n<li>296 \u0444\u0430\u0439\u043b\u043e\u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 C++<\/li>\n<li>14 \u0444\u0430\u0439\u043b\u043e\u0432 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 x86<\/li>\n<li>222090 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u043d\u0430 C++<\/li>\n<\/ol>\n<p>  \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b, \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0432 \u043d\u0435\u043f\u0443\u0441\u0442\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0447\u0435\u043b \u0438\u0437 \u043d\u0438\u0445 \u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u0431\u044b\u043b\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438.<\/p>\n<p>  \u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u043c\u0435\u044e\u0442 \u0438\u043c\u0435\u043d\u0430 \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0444\u0430\u0439\u043b \u00abRedAlert.vcxproj\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Visual Studio, \u043d\u043e \u044d\u0442\u043e\u0433\u043e \u044f \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>\u042d\u0442\u043e \u0432\u0441\u0451?<\/h2>\n<p>  \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043d\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0434\u0430\u0436\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u0437\u0430\u043a\u043e\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0443\u043f\u0438\u0442\u044c \u0438\u0433\u0440\u0443 \u0443 EA. \u041f\u043e\u043a\u0430 \u0432\u044b \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u0442\u0435, \u0434\u0430\u0436\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0438\u0433\u0440\u044b.<\/p>\n<p>  \u041a\u043e\u0434 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d <code>#ifdef WIN32<\/code>, \u0435\u0441\u0442\u044c \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 430 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 <code>WIN32LIB<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Microsoft Windows. \u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e. \u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f <code>#ifdef WIN32<\/code> \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 <code>#else<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0432\u0438\u0434\u0435\u043b \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u041d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u0432 \u0447\u0451\u043c \u0441\u043c\u044b\u0441\u043b \u044d\u0442\u043e\u0433\u043e, \u043d\u043e \u0438\u0433\u0440\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0430 DOS. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0433\u0440\u0443 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043f\u043e\u0434 DOS, \u043d\u043e \u043d\u0435 \u043f\u043e\u0434 Windows.<\/p>\n<p>  \u042f \u043f\u043e\u0434\u0443\u043c\u0430\u043b, \u0447\u0442\u043e \u043d\u0430\u0448\u0451\u043b \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430, <code>LCW.CPP<\/code> \u0438 <code>LCWUNCMP.CPP<\/code>, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Playstation:<\/p>\n<pre><code class=\"cpp\">\/\/ From LCW.CPP  *               Project Name : WESTWOOD LIBRARY (PSX)                     *<\/code><\/pre>\n<p>  \u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c <a href=\"http:\/\/www.shikadi.net\/moddingwiki\/Westwood_LCW\" rel=\"nofollow\">\u0441\u0436\u0430\u0442\u0438\u044f LCW<\/a>.<\/p>\n<p>  \u041d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u00abPSX\u00bb \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 <a href=\"https:\/\/en.wikipedia.org\/wiki\/POSIX\" rel=\"nofollow\">POSIX<\/a>. \u0415\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u043e\u0439 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0436\u0430\u0442\u0438\u044f <code>LCW_Comp<\/code> \u0438\u0437 <code>LCW.CPP<\/code>, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0430\u044f\u0441\u044f \u0432 <code>LCWCOMP.ASM<\/code>. \u0414\u0443\u043c\u0430\u044e, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 C++ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u0433\u0434\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0431\u044b \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043d\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u043a\u043e\u0434 \u043f\u043e\u0440\u0442\u0430 \u043d\u0430 Playstation. \u042f \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u044e, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u043b\u0438 \u043f\u043e\u0440\u0442 \u043d\u0430 Playstation \u0441\u0430\u043c\u043e\u0439 Westwood, \u0438\u043b\u0438 \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u043f\u043e\u0434\u0440\u044f\u0434\u0447\u0438\u043a\u0430\u043c.<\/p>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0441\u0436\u0430\u0442\u0438\u044f LZO \u0438 LZW. \u041d\u0430\u0432\u0435\u0440\u043d\u043e, \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f Westwood Studios \u043f\u043e \u0432\u044b\u0431\u043e\u0440\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0431\u044b\u043b\u0430 \u0442\u0430\u043a\u043e\u0439: \u00ab\u0431\u0435\u0440\u0451\u043c \u0432\u0441\u0451\u00bb. \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 LCW \u0431\u044b\u043b\u043e \u0431\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0430\u0442\u0435\u043d\u0442\u043d\u044b\u0445 \u043f\u0440\u0438\u0442\u044f\u0437\u0430\u043d\u0438\u0439 Unisys \u043d\u0430 LZW, \u043d\u043e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u0434 LZW \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445. \u041a\u043e\u0434 LZW \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 <code>LZWPIPE.CPP<\/code>, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0435\u043c \u043a\u043b\u0430\u0441\u0441 <code>LZWPipe<\/code>. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d.<\/p>\n<pre><code class=\"cpp\">\/\/ From SAVELOAD.CPP:423          LZOPipe pipe(LZOPipe::COMPRESS, SAVE_BLOCK_SIZE); \/\/      LZWPipe pipe(LZWPipe::COMPRESS, SAVE_BLOCK_SIZE); \/\/      LCWPipe pipe(LCWPipe::COMPRESS, SAVE_BLOCK_SIZE);<\/code><\/pre>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432\u0448\u0438\u0441\u044c \u043d\u0430 LZO. \u0422\u043e \u0435\u0441\u0442\u044c LZW \u0431\u044b\u043b \u0433\u043e\u0442\u043e\u0432 \u043a \u0440\u0430\u0431\u043e\u0442\u0435, \u043d\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f.<\/p>\n<p>  \u0421\u0440\u043e\u043a \u043f\u0430\u0442\u0435\u043d\u0442\u043d\u044b\u0445 \u043f\u0440\u0438\u0442\u044f\u0437\u0430\u043d\u0438\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Unisys \u043d\u0430 LZW \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0438\u0441\u0442\u0451\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0435 \u0432\u043e\u043b\u043d\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u0421\u0442\u0440\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438<\/h2>\n<p>  \u0412 LZW.H \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u0430\u0439\u043b\u0430\u0445 \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438:<\/p>\n<pre><code class=\"cpp\">\/\/ From the top of LZW.H \/* $Header: \/CounterStrike\/LZW.H 1     3\/03\/97 10:25a Joe_bostic $ *\/<\/code><\/pre>\n<p>  \u00abCounterStrike\u00bb \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u00abCommand And Conquer: Counterstrike\u00bb. \u0412 \u043a\u043e\u0434\u0435 \u0435\u0441\u0442\u044c 215 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 <code>#ifdef FIXIT_CSII<\/code>, \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0449\u0438\u0445 \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u043b\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u00abawj\u00bb 28 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 1998 \u0433\u043e\u0434\u0430 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438:<\/p>\n<pre><code class=\"cpp\">\/\/ From DEFINES.H  #define FIXIT_CSII                                      \/\/ Adds Aftermath CounterStrike II units \/\/      ajw 9\/28\/98 - Note about FIXIT_CSII. Changes seem to have been made for Aftermath (&quot;Counterstrike II&quot;) that: a) were \/\/      bug fixes that should never be rolled back, b) change the nature of the game, at least in multi-player. This meant \/\/      that the &quot;Red Alert&quot; executable ( == Counterstrike executable ) could no longer be built. Apparently, at the time, \/\/      this was justified, as it was believed that no further patches to the RA executable would ever be necessary. \/\/      Given that Denzil's DVD changes and my WOLAPI integration are essentially a patch, we've got a problem. \/\/      We've decided to level the field and make sure every who gets or patches to the new version of Red Alert, CS, AM, (and \/\/      their DVD equivalent(s)) will have the same executable. So we're assuming that all of the FIXIT_CSII changes are  \/\/      permanent (as, in fact, all prior FIXIT_'s are - makes me wonder why the old non-compiling code has to hang around \/\/      forever), and fixing the code so that the assumption &quot;this is an Aftermath game&quot; is no longer hard-coded, but can  \/\/      change at runtime. (Which is what should have been done when Aftermath was created.) \/\/      &lt;This goes for the following three defines as well.&gt; #define FIXIT_CARRIER                           \/\/ Adds Aftermath aircraft carrier #define FIXIT_PHASETRANSPORT            \/\/ Adds Aftermath cloaking APC \/\/      ajw - Discovered that engineer changing fields were specifically left out of aftrmath.ini, thus this has no effect. \/\/      Engineer changes (and other game rule changes) are in mplayer.ini, which was loaded before aftermath-only mplayer games. #define FIXIT_ENGINEER                          \/\/ Adds Engineer rules.ini overrides<\/code><\/pre>\n<p>  <\/p>\n<h2>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/h2>\n<p>  \u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>WOLAPI.dll<\/code>, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439, \u043f\u043e\u0445\u043e\u0436\u0435, \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00abWestwood Online API\u00bb. \u041e\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u0433\u0440\u043e\u043a\u043e\u0432 \u0434\u043b\u044f \u043e\u043d\u043b\u0430\u0439\u043d-\u0431\u043e\u0451\u0432. \u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u0430\u0432\u0442\u043e\u0440\u0443 Command &amp; Conquer: Red Alert \u0442\u0430\u043a \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u044d\u0442\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0447\u0442\u043e \u043e\u043d \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0434\u043b\u044f \u043d\u0435\u0451 \u0446\u0435\u043b\u0443\u044e \u043e\u0431\u0451\u0440\u0442\u043a\u0443, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0443\u044e\u0441\u044f \u0432 <code>WOLAPIOB.H<\/code>. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>wolsetup.exe<\/code> \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u044c DLL \u0438\u0437 \u043d\u0435\u0433\u043e. \u041d\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043e\u043d\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043e\u0431\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439.<\/p>\n<p>  \u0417\u0430\u0431\u0430\u0432\u043d\u043e, \u0447\u0442\u043e <code>WOLAPI.dll<\/code>, \u043f\u043e\u0445\u043e\u0436\u0435, <a href=\"https:\/\/github.com\/hifi-unmaintained\/wolapi\" rel=\"nofollow\">9 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0431\u044b\u043b\u0430 \u043f\u043e\u0434\u0432\u0435\u0440\u0433\u043d\u0443\u0442\u0430 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0443<\/a>.<\/p>\n<p>  \u042d\u0442\u043e <strong>\u043d\u0435 \u0440\u0435\u043b\u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430<\/strong>, \u043d\u043e \u0435\u0433\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0443 \u0438\u0433\u0440\u044b. EA \u0437\u0430\u044f\u0432\u0438\u043b\u0430, \u0447\u0442\u043e \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u043a\u043e\u0434 \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0436\u0438\u0437\u043d\u0438 \u043c\u043e\u0434\u0434\u0435\u0440\u043e\u0432, \u0438, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0441 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439. \u041f\u0440\u0438\u043b\u043e\u0436\u0438\u0432 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0438\u043b\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u0433\u0440\u0443.<\/p>\n<h1>\u041a\u0430\u043a \u0438\u0433\u0440\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f?<\/h1>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0433\u0440\u044b. \u041a\u043e\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u0430\u0451\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0441 \u041e\u0421. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0447\u0442\u043e \u0438 \u0432 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u0434\u0435, \u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e. \u0412\u0441\u0435 \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u044b.<\/p>\n<h2>\u0424\u0443\u043d\u043a\u0446\u0438\u044f main \u043d\u0430 C++<\/h2>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>main<\/code> \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 <code>STARTUP.CPP<\/code>. \u041f\u043e\u0445\u043e\u0436\u0435, \u0438\u0433\u0440\u0443 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043a\u0430\u043a DLL, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0434\u043b\u044f \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u043e\u0439 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043e\u043d\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 <code>RunningAsDLL = true;<\/code>.<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>main<\/code> \u043f\u043e\u0432\u0441\u044e\u0434\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 <code>#ifdef MPEGMOVIE<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 <code>#ifdef MCIMPEG<\/code>. \u0412 <code>DEFINES.H<\/code> \u044d\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b.<\/p>\n<pre><code class=\"cpp\">\/\/ Define DVD to turn on RADVD additions\/changes - Denzil #ifdef DVD \/\/#define INTERNET_OFF \/\/#define MPEGMOVIE \/\/PG \/\/#define MCIMPEG #endif<\/code><\/pre>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c, \u043f\u043e\u0445\u043e\u0436\u0435, \u0438\u0437 \u0438\u0433\u0440\u044b \u0443\u0431\u0440\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f MPEG-\u0432\u0438\u0434\u0435\u043e\u0432\u0441\u0442\u0430\u0432\u043e\u043a.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0438\u0433\u0440\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u043d\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u043b\u0438 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u043a\u043e\u043f\u0438\u044f; \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0442\u0430\u043a, \u0442\u043e \u043e\u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f. \u041f\u043e\u0445\u043e\u0436\u0435, \u044d\u0442\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 <code>#if (0)<\/code>. \u0412 \u043a\u043e\u0434\u0435 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0447\u0430\u0441\u0442\u0435\u0439, \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438 \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043d\u0438\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 <code>\/\/PG<\/code>. \u041e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043c\u043c\u0438\u0442\u0442\u0435\u0440\u043e\u0432 \u0432 Git \u0438\u043c\u0435\u0435\u0442 \u043d\u0438\u043a <code>PG-SteveT<\/code>; \u0434\u0443\u043c\u0430\u044e, \u0442\u043e\u0442 \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 Git, \u043e\u0442\u0432\u0435\u0447\u0430\u043b \u0437\u0430 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0433\u0440\u044b \u0432 DLL \u0432\u043c\u0435\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>main<\/code> \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439, \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c\u0438.<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u0434\u0451\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 13 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438; \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442, \u043a\u043e\u0434 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0430\u043c\u044f\u0442\u044c. \u0415\u0441\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c 13 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0446\u0438\u043a\u043b\u0435. \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u0430 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0430 1 \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u0435\u0451 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c. \u0414\u0443\u043c\u0430\u044e, \u043c\u043e\u0436\u043d\u043e \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0443 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442 Command &amp; Conquer, \u043d\u0430\u0439\u0434\u0443\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 13 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 <code>f:\\\\projects\\\\c&amp;c0<\/code> \u0438\u043b\u0438 <code>F:\\\\PROJECTS\\C&amp;C0<\/code>, \u0438 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0442\u0430\u043a. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u00abPlaying off of the network is not allowed\u00bb \u0438 \u0438\u0433\u0440\u0430 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f. \u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043c\u0435\u043d\u044f \u043a \u044d\u0442\u043e\u043c\u0443:<\/p>\n<pre><code class=\"cpp\"> &quot;\/* $Header:   F:\\projects\\c&amp;c0\\vcs\\code\\wwalloc.h_v   4.9   07 May 1996 17:14:00   JOE_BOSTIC  $ *\/&quot; in WWALLOC.H.<\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0443\u0442\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u00abvcs\u00bb, \u043f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430 \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432 Microsoft Windows \u0434\u0438\u0441\u043a. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f IBM Rational ClearCase, \u0432\u0441\u0451 \u0431\u044b\u043b\u043e \u0442\u0430\u043a \u0436\u0435. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0434\u0438 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438 \u0438\u0433\u0440\u0443 \u0441 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0447\u0443\u0436\u0438\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0418\u0433\u0440\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>main<\/code> \u043a\u043e\u0434:<\/p>\n<pre><code class=\"cpp\">\/\/ From STARTUP.CPP          \/*         ** Get pointers to command line arguments just like if we were in DOS         **         ** The command line we get is cr\/zero? terminated.         **         *\/          command_scan=0;          do {                 \/*                 ** Scan for non-space character on command line                 *\/                 do {                         command_char = *( command_line+command_scan++ );                 } while ( command_char==' ' );                  if ( command_char!=0 &amp;&amp; command_char != 13 ) {                         argv[argc++]=command_line+command_scan-1;                          \/*                         ** Scan for space character on command line                         *\/                         bool in_quotes = false;                         do {                                 command_char = *( command_line+command_scan++ );                                 if (command_char == '&quot;') {                                         in_quotes = !in_quotes;                                 }                         } while ( (in_quotes || command_char!=' ') &amp;&amp; command_char != 0 &amp;&amp; command_char!=13 );                 *( command_line+command_scan-1 ) = 0;                 }          } while ( command_char != 0 &amp;&amp; command_char != 13 &amp;&amp; argc&lt;20 );<\/code><\/pre>\n<p>  \u042f \u043d\u0435 \u0441\u0442\u0430\u043b \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b; \u043f\u043e\u0445\u043e\u0436\u0435, \u043a\u043e\u0434 \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u0445, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u0430\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u043c\u0438 (<code>&quot;<\/code>) \u0433\u0440\u0443\u043f\u043f\u044b. \u0414\u0443\u043c\u0430\u044e, \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Windows \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430 \u0431\u044b \u0442\u0430\u043a\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0432 \u0441\u0430\u043c\u043e\u0439 \u0438\u0433\u0440\u0435. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044f \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043b\u0438 \u0432 <code>cmd.exe<\/code> \u043b\u043e\u0433\u0438\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u0430\u0432\u044b\u0447\u0435\u043a \u0434\u0430\u0436\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>main<\/code> \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0438 \u0434\u0438\u0441\u043a, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0438\u0433\u0440\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u0430\u043f\u043a\u0443 \u0441 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c. \u041b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u043d\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u0438\u0441\u043a <code>A:<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 Windows \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0430 \u0433\u0438\u0431\u043a\u0438\u0445 \u0434\u0438\u0441\u043a\u043e\u0432. \u0422\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e\u0442 \u043f\u0443\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0451\u0442 \u043f\u0435\u0440\u0432\u0430\u044f <code>#ifdef WOLAPI_INTEGRATION<\/code>. \u042d\u0442\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0438 \u043a\u043e\u0434 Westwood Online API \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u0415\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430, \u0442\u043e \u0438\u0433\u0440\u0430 \u0431\u044b \u043f\u044b\u0442\u0430\u043b\u0430\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <code>wolsetup.exe<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0430 \u0431\u044b \u043a\u043b\u044e\u0447 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 Windows, \u0441\u043e\u043e\u0431\u0449\u0430\u044e\u0449\u0438\u0439 \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u0417\u0434\u0435\u0441\u044c \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439:<\/p>\n<pre><code class=\"cpp\">\/\/ From STARTUP.CPP          \/\/      I've been having problems getting the patch to delete &quot;conquer.eng&quot;, which is present in the game         \/\/      directory for 1.08, but which must NOT be present for this version (Aftermath mix files provide the         \/\/      string overrides that the 1.08 separate conquer.eng did before Aftermath).         \/\/      Delete conquer.eng if it's found.         if( FindFirstFile( &quot;conquer.eng&quot;, &amp;wfd ) != INVALID_HANDLE_VALUE )                 DeleteFile( &quot;conquer.eng&quot; );<\/code><\/pre>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0435, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 1.08 \u0438\u0433\u0440\u044b \u043e\u0447\u0435\u043d\u044c \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u0438, \u0447\u0442\u043e\u0431\u044b \u0441\u0440\u0435\u0434\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u00abconquer.eng\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0438\u0433\u0440\u044b \u043e\u043d\u0438 \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0435\u0433\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c. \u042f \u043d\u0435 \u0437\u043d\u0430\u044e, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u043e\u0434\u043e\u043c Westwood Online.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b <code>#if(TEN)<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430. \u0415\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430, \u0438\u0433\u0440\u0430 \u0431\u044b \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Total_Entertainment_Network\" rel=\"nofollow\">Total Entertainment Network<\/a>.<\/p>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 <code>#if(MPATH)<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u043e\u0436\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430. \u0415\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430, \u0442\u043e \u0438\u0433\u0440\u0430 \u0431\u044b \u0438\u043c\u0435\u043b\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <a href=\"https:\/\/en.wikipedia.org\/wiki\/MPlayer.com\" rel=\"nofollow\">MPlayer<\/a>.<\/p>\n<p>  \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 1990-\u0445 \u043e\u0431\u0435 \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u043c\u0438 \u0434\u043b\u044f \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u0433\u0440. \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 MPlayer \u0438 TEN. \u041d\u0438 \u0442\u043e\u0439, \u043d\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0443\u0436\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043d\u0438\u0445 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0438\u0433\u0440\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0442\u0430\u0439\u043c\u0435\u0440 Windows, \u043e\u0436\u0438\u0434\u0430\u0435\u0442 (<code>sleep<\/code>) \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 1000 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0447\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0447\u0430\u0441\u044b \u0438\u0434\u0443\u0442. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a, \u0442\u043e \u0438\u0433\u0440\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f. \u0414\u0443\u043c\u0430\u044e, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f <code>sleep<\/code> \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u0431\u044b\u043b\u0430 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043b\u044e\u0447\u043d\u043e\u0439, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0430 \u043a \u0441\u0431\u043e\u044f\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d.<\/p>\n<pre><code class=\"cpp\">\/\/ From STARTUP.CPP  #if (0)\/\/PG                 int time_test = WindowsTimer-&gt;Get_System_Tick_Count();                 Sleep (1000);                 if (WindowsTimer-&gt;Get_System_Tick_Count() == time_test){                         MessageBox(0, TEXT_ERROR_TIMER, TEXT_SHORT_TITLE, MB_OK|MB_ICONSTOP);                         return(EXIT_FAILURE);                 } #endif<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0438\u0433\u0440\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \u0438 \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432\u044b\u0445\u043e\u0434. \u042d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043e\u043d\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043a \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b <code>ccsetup<\/code> \u0438\u0437 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u0433\u0440\u044b. \u041e\u043d\u0430 \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0441\u043e\u0431\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e, \u043d\u043e \u044f \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u044d\u0442\u043e:<\/p>\n<pre><code class=\"cpp\">: cpp  \/\/ From STARTUP.CPP                          if (!Debug_Quiet) {                                 Audio_Init(NewConfig.DigitCard,                                                 NewConfig.Port,                                                 NewConfig.IRQ,                                                 NewConfig.DMA,                                                 PLAYBACK_RATE_NORMAL, \/\/                                              (NewConfig.Speed) ? PLAYBACK_RATE_SLOW : PLAYBACK_RATE_NORMAL,                                                 NewConfig.BitsPerSample, \/\/                                              4,                                                 (Get_CPU() &lt; 5) ? 3 : 5, \/\/                                              (NewConfig.Speed) ? 3 : 5,                                                 NewConfig.Reverse);                                 SoundOn = true;                         } else {                                 Audio_Init(0, -1, -1, -1, PLAYBACK_RATE_NORMAL, 8, 5, false);                         }<\/code><\/pre>\n<p>  \u0411\u044b\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u00abDebugQuiet\u00bb; \u043f\u043e\u0445\u043e\u0436\u0435, \u043e\u043d\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0430\u0443\u0434\u0438\u043e\u0432\u044b\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442. \u0414\u0443\u043c\u0430\u044e, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u043b\u043e \u0431\u044b, \u0435\u0441\u043b\u0438 \u0431\u044b \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u0433\u0440\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u043b\u044b\u0448\u0430\u043b\u0441\u044f \u0448\u0443\u043c.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0438\u0433\u0440\u0430 \u0433\u043e\u0442\u043e\u0432\u0430 \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u043a\u0440\u0430\u043d\u0430. \u042d\u0442\u043e\u0442 \u043a\u043e\u0434 <em>\u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e<\/em> \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432\u044b\u0441\u043e\u0442\u0430 \u044d\u043a\u0440\u0430\u043d\u0430 400, \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c 640 x 400. \u0415\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c, \u0442\u043e \u0438\u0433\u0440\u0430 \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a 640 x 480. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e. \u0427\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 640 x 400?<\/p>\n<p>  \u0414\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u0438\u0433\u0440\u0435 \u043d\u0443\u0436\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u0448\u0438\u0440\u0438\u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0430 320, \u0442\u043e \u0438\u0433\u0440\u0430 \u0438\u0434\u0451\u0442 \u043f\u043e \u043e\u0441\u043e\u0431\u043e\u043c\u0443 \u043f\u0443\u0442\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0443\u0444\u0435\u0440\u043e\u0432 \u0434\u0438\u0441\u043f\u043b\u0435\u044f. \u042f \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0438\u0433\u0440\u0443 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 320&#215;240 (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f VGA), \u0442\u043e \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u0441\u0442\u0430\u0440\u043e\u043c \u00ab\u0436\u0435\u043b\u0435\u0437\u0435\u00bb, \u0447\u0442\u043e \u043a\u043e\u0434 \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0431\u0443\u0444\u0435\u0440\u044b. \u041f\u0440\u0438 \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0441\u043e\u0442\u0430\u0445 \u044d\u043a\u0440\u0430\u043d\u0430 \u043a\u043e\u0434 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0431\u0443\u0444\u0435\u0440\u044b \u043f\u043e\u0434 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0432\u043e\u0439\u043d\u0430\u044f \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0438, \u043e\u0442\u0441\u044e\u0434\u0430 \u0438 \u0434\u0432\u0430 \u0431\u0443\u0444\u0435\u0440\u0430. \u0414\u043b\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0421 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430:<\/p>\n<pre><code class=\"cpp\">\/\/ From STARTUP.CPP                                  VisiblePage.Init( ScreenWidth , ScreenHeight , NULL , 0 , (GBC_Enum)(GBC_VISIBLE | GBC_VIDEOMEM));                                  \/*                                 ** Check that we really got a video memory page. Failure is fatal.                                 *\/                                 memset (&amp;surface_capabilities, 0, sizeof(surface_capabilities));                                 VisiblePage.Get_DD_Surface()-&gt;GetCaps(&amp;surface_capabilities);                                 if (surface_capabilities.dwCaps &amp; DDSCAPS_SYSTEMMEMORY) {                                         \/*                                         ** Aaaarrgghh!                                         *\/                                         WWDebugString(TEXT_DDRAW_ERROR);WWDebugString(&quot;\\n&quot;);                                         MessageBox(MainWindow, TEXT_DDRAW_ERROR, TEXT_SHORT_TITLE, MB_ICONEXCLAMATION|MB_OK);                                         if (WindowsTimer) delete WindowsTimer;                                         return (EXIT_FAILURE);                                 }<\/code><\/pre>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u00abAaaarrgghh!\u00bb \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u043b\u0433\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445. \u041d\u0430 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u044d\u0442\u0430\u043f\u0435 \u043a\u0442\u043e-\u0442\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u043b\u0441\u044f, \u0447\u0442\u043e DirectDraw API (\u0447\u0430\u0441\u0442\u044c DirectX) \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u0441\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435\u0439 \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u0441\u043b\u0430\u0431\u043b\u0435\u043d\u043d\u0430\u044f, \u043d\u043e \u0435\u0451 \u043b\u043e\u0433\u0438\u043a\u0430 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0435\u0449\u0451 \u043b\u0443\u0447\u0448\u0435:<\/p>\n<pre><code class=\"cpp\">\/\/ From STARTUP.CPP                                  \/*                                 ** If we have enough left then put the hidpage in video memory unless...                                 **                                 ** If there is no blitter then we will get better performance with a system                                 ** memory hidpage                                 **                                 ** Use a system memory page if the user has specified it via the ccsetup program.                                 *\/                                 unsigned video_memory = Get_Free_Video_Memory();                                 unsigned video_capabilities = Get_Video_Hardware_Capabilities();                                 if (video_memory &lt; (unsigned int)(ScreenWidth*ScreenHeight) ||                                                 (! (video_capabilities &amp; VIDEO_BLITTER)) ||                                                 (video_capabilities &amp; VIDEO_NO_HARDWARE_ASSIST) ||                                                 !VideoBackBufferAllowed) {                                         HiddenPage.Init (ScreenWidth , ScreenHeight , NULL , 0 , (GBC_Enum)0);                                 } else {                                         \/\/HiddenPage.Init (ScreenWidth , ScreenHeight , NULL , 0 , (GBC_Enum)0);                                         HiddenPage.Init (ScreenWidth , ScreenHeight , NULL , 0 , (GBC_Enum)GBC_VIDEOMEM);                                          \/*                                         ** Make sure we really got a video memory hid page. If we didnt then things                                         ** will run very slowly.                                         *\/                                         memset (&amp;surface_capabilities, 0, sizeof(surface_capabilities));                                         HiddenPage.Get_DD_Surface()-&gt;GetCaps(&amp;surface_capabilities);                                         if (surface_capabilities.dwCaps &amp; DDSCAPS_SYSTEMMEMORY) {                                                  \/*                                                 ** Oh dear, big trub. This must be an IBM Aptiva or something similarly cruddy.                                                 ** We must redo the Hidden Page as system memory.                                                 *\/                                                 AllSurfaces.Remove_DD_Surface(HiddenPage.Get_DD_Surface());  \/\/ Remove the old surface from the AllSurfaces list                                                 HiddenPage.Get_DD_Surface()-&gt;Release();                                                 HiddenPage.Init (ScreenWidth , ScreenHeight , NULL , 0 , (GBC_Enum)0);                                         } else {                                                 VisiblePage.Attach_DD_Surface(&amp;HiddenPage);                                         }                                 }<\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0430\u044f \u0436\u0435 \u00ab\u0434\u0432\u043e\u0439\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u00bb \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0438 \u043a \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435, \u043d\u043e API \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 <a href=\"https:\/\/en.wikipedia.org\/wiki\/IBM_Aptiva\" rel=\"nofollow\">IBM Aptiva<\/a>. \u041f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e, \u0447\u0442\u043e IBM Aptiva \u0431\u044b\u043b \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0448\u0443\u0442\u043e\u043a \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u0432 <code>DEFINES.H<\/code> \u0434\u0430\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0430 <code>#define FIXIT_APTIVA_MODEM<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u043e\u0434\u0435\u043c\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 IBM Aptiva.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0438\u0433\u0440\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 ScreenHeight \u0442\u043e\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 3072. \u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u0443\u0444\u0435\u0440, \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u043a \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u0438 \u0441\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c, \u0438\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 3072 x 3072. \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u0432\u0435\u0441\u044c \u0432\u044b\u0448\u0435\u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 <code>#if<\/code>. \u041e\u043d \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u044b\u0439, \u0447\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0430 \u0447\u0442\u043e \u043d\u0435\u0442. \u041d\u043e \u0432\u043e \u0432\u0441\u0435\u0445 \u043f\u0440\u0435\u0441\u0441-\u0440\u0435\u043b\u0438\u0437\u0430\u0445 \u043e \u0440\u0435\u043c\u0430\u0441\u0442\u0435\u0440\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u00ab4K\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u00ab4K\u00bb-\u0440\u0435\u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0440\u0430\u0432\u043d\u043e 3072 x 3072.<\/p>\n<p>  \u0421\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u0432 2019 \u0433\u043e\u0434\u0443, \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0431\u044b\u043b\u0438 \u0432\u043d\u0435\u0441\u0435\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0434\u0430\u0442\u044b \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0435\u043a\u0442\u043e \u0441 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0430\u043c\u0438 JAS \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u0438\u0437 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 (\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0443\u0440\u043e\u0432\u043d\u0435\u0439), \u0447\u0442\u043e\u0431\u044b \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0441\u044f \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u043c\u044b\u0448\u043a\u0438. \u041e \u0440\u0435\u043c\u0430\u0441\u0442\u0435\u0440\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043e \u0432 \u043d\u043e\u044f\u0431\u0440\u0435 2018 \u0433\u043e\u0434\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0447\u0442\u043e \u0437\u0430 \u044d\u0442\u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 4K \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/p>\n<p>  \u0412 \u043a\u043e\u0434\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u0440\u043e\u043b\u0438\u043a\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435. \u0422\u0430\u043a\u043e\u0435 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0431\u044b\u043b\u0430 \u0431\u0438\u043f\u043e\u043b\u044f\u0440\u043a\u0430 \u0438 \u043e\u043d \u043d\u0435 \u043c\u043e\u0433 \u0440\u0435\u0448\u0438\u0442\u044c, \u0434\u043e\u043b\u0436\u0435\u043d \u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c <em>\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435<\/em> \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u043e\u0442 \u0440\u043e\u043b\u0438\u043a. \u041d\u0430 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u044d\u0442\u0430\u043f\u0435 \u0432\u0441\u044f \u044d\u0442\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u0431\u044b\u043b\u0430 \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430; \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0435\u043c\u0430\u0441\u0442\u0435\u0440\u0430. \u0414\u0443\u043c\u0430\u044e, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438 \u0442\u0435\u0441\u0442\u0435\u0440\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0443\u0441\u0442\u0430\u043b\u0438 \u043e\u0442 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u0440\u043e\u043b\u0438\u043a\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e, \u0447\u0442\u043e \u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0430 \u0435\u0433\u043e \u0442\u043e\u0436\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u043b\u0438.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438\u0433\u0440\u0430\u0442\u044c! \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 <code>Main_Game<\/code> (\u0438\u0437 <code>CONQUER.CPP<\/code>), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u0438\u043c \u0438\u0433\u0440\u043e\u0432\u044b\u043c \u0446\u0438\u043a\u043b\u043e\u043c. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u044d\u0442\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0434\u0430\u0442\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u00ab3 \u0430\u043f\u0440\u0435\u043b\u044f 1991 \u0433\u043e\u0434\u0430\u00bb, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 Command &amp; Conquer \u0432 1995 \u0433\u043e\u0434\u0443 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438!<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0438\u0433\u0440\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>Main_Game<\/code> \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0442. \u0412 \u043d\u0435\u0439 \u0435\u0441\u0442\u044c \u043a\u043e\u0434 \u043e\u0447\u0438\u0441\u0442\u043a\u0438, \u043d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u043a \u043d\u0435\u043c\u0443 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c, \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u044d\u0442\u043e:<\/p>\n<pre><code class=\"cpp\">\/\/ From STARTUP.CPP                          if (RunningAsDLL) {     \/\/PG                                 return (EXIT_SUCCESS);                         }<\/code><\/pre>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 DLL \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0432 \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438, \u0447\u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0443\u0442\u0435\u0447\u043a\u0430\u043c \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<h1>\u0414\u0440\u0443\u0433\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f<\/h1>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0432\u0448\u0438\u0435 \u043c\u0435\u043d\u044f \u043f\u043e \u0438\u043c\u0435\u043d\u0430\u043c \u0444\u0430\u0439\u043b\u043e\u0432 \u0430\u0441\u043f\u0435\u043a\u0442\u044b.<\/p>\n<h2>\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0435\u043a\u043e\u0432 Windows 95<\/h2>\n<p>  \u0424\u0430\u0439\u043b <code>W95TRACE.CPP<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439:<\/p>\n<pre><code class=\"cpp\">\/ * Implementation of Win95 tracing facility to mimic that of NT&quot;.  *\/<\/code><\/pre>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0435, \u043e\u043d \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0443\u0435\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0435\u043b\u0430\u0441\u044c \u043d\u0430 Windows NT, \u043d\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043d\u0430 Windows 95, \u0447\u0442\u043e\u0431\u044b \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0438\u0433\u0440\u044b \u0443 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438. \u042d\u0442\u043e \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e NT \u043c\u043e\u0433\u043b\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0438\u0433\u0440\u044b \u0435\u0449\u0451 \u0432 \u0438\u044e\u043b\u0435 1993 \u0433\u043e\u0434\u0430. \u041f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e, \u0447\u0442\u043e \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0435\u043a\u043e\u0432 Windows 95 \u0434\u043e \u0443\u0436\u0430\u0441\u0430 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 Windows NT.<\/p>\n<h2>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Watcom<\/h2>\n<p>  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 <code>WATCOM.H<\/code>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432 &quot;#pragma&quot;, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0442\u043e\u0433\u0434\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Watcom.<\/p>\n<p>  \u042d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Watcom_C\/C%2B%2B\" rel=\"nofollow\">\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Watcom<\/a> \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 C++ \u0431\u044b\u043b \u0432\u044b\u043f\u0443\u0449\u0435\u043d \u0432 1993 \u0433\u043e\u0434\u0443. \u0415\u0441\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0438\u0435 \u043d\u0430\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u0431\u044b\u043b \u043d\u0430\u0447\u0430\u0442 \u0435\u0449\u0451 \u0432 1991 \u0433\u043e\u0434\u0443. \u041d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u043b\u0438 \u043e\u043d \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 C, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u043d\u0430 C++? \u0418\u043b\u0438 \u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0431\u044b\u043b \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 C++?<\/p>\n<p>  \u0412 \u0442\u043e\u043c \u0436\u0435 \u0444\u0430\u0439\u043b\u0435 \u0435\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u0441\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0435 \u2014 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0442\u043e\u0433\u0434\u0430 \u043d\u0435 \u043c\u043e\u0433\u043b\u0438 \u0443\u0442\u0440\u0443\u0436\u0434\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 true \u0438 false:<\/p>\n<pre><code class=\"cpp\">\/\/ From WATCOM.H  \/\/ Fix deficiency in Watcom so that true\/false will be defined. #ifndef __BORLANDC__ #ifndef TRUE_FALSE_DEFINED #define TRUE_FALSE_DEFINED enum {false=0,true=1}; typedef int bool; #endif #endif<\/code><\/pre>\n<p>  <\/p>\n<h2>\u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>  \u0412 BLOWFISH.CPP \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Blowfish, \u043a\u043e\u0442\u043e\u0440\u043e\u0435, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u043e\u0440\u043e\u0448\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c <a href=\"https:\/\/en.wikipedia.org\/wiki\/Blowfish_(cipher)\" rel=\"nofollow\">\u0448\u0438\u0444\u0440\u043e\u043c Blowfish<\/a>. \u042f \u043c\u043e\u0433\u0443 \u0432\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u2014 \u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<h2>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439<\/h2>\n<p>  \u041a\u043b\u0430\u0441\u0441 <code>CCPtr<\/code> \u0432 \u0444\u0430\u0439\u043b\u0435 CCPTR.H \u2014 \u044d\u0442\u043e \u0442\u0438\u043f-\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 <code>ID<\/code> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043a\u0443\u0447\u0438 \u043f\u0430\u043c\u044f\u0442\u0438. \u042d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u0434\u0438\u0441\u043a, \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u0432\u0438\u0434\u0435\u043e\u0438\u0433\u0440\u0430\u0445, \u0442\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"http:\/\/gamesfromwithin.com\/managing-data-relationships\" rel=\"nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<h2>\u0412\u0435\u043a\u0442\u043e\u0440\u044b<\/h2>\n<p>  \u041a\u043b\u0430\u0441\u0441 <code>VECTOR.H<\/code> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0438\u0439 std::vector. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043e\u043d \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043d\u0430 \u0440\u0430\u043d\u043d\u0438\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 STL.<\/p>\n<h2>\u0414\u0438\u0444\u0442\u043e\u043d\u0433\u0438<\/h2>\n<p>  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Diphthong\" rel=\"nofollow\">\u0414\u0438\u0444\u0442\u043e\u043d\u0433<\/a> \u2014 \u044d\u0442\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u0433\u043b\u0430\u0441\u043d\u044b\u0445 \u0437\u0432\u0443\u043a\u043e\u0432 \u0432 \u043e\u0434\u043d\u043e\u043c \u0441\u043b\u043e\u0433\u0435. \u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u043a\u043e\u0434\u043e\u043c \u0432\u0438\u0434\u0435\u043e\u0438\u0433\u0440\u044b? \u0427\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u2014 \u043d\u0438\u043a\u0430\u043a. \u0421\u0430\u043c\u044b\u0439 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438\u043c\u0435\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 <code>WIN32LIHB\/DIPTHONG.H<\/code>. \u0415\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435:<\/p>\n<pre><code class=\"cpp\">\/\/ From WIN32LIB\/DIPTHONG.CPP   * DIGRAM or DIATOMIC encoding is the correct term for this method.        *  * This is a fixed dictionary digram encoding optimized for English text.  *<\/code><\/pre>\n<p>  \u041f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f, \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e \u043c\u044b \u0441\u0436\u0438\u043c\u0430\u0435\u043c \u0442\u0435\u043a\u0441\u0442\u044b, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u043c\u0435\u043d\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>  \u0412 \u043a\u043e\u0434\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0447\u0438\u0441\u043b\u043e <code>4567<\/code>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0435 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 define:<\/p>\n<pre><code class=\"cpp\">\/\/ From WIN32LIB\/DIPTHONG.CPP #define TXT_GUEST                                       4567+3 #define TXT_LOGIN                                       4567+4 #define TXT_LOGIN_TO_INTERNET   4567+5 #define TXT_YOUR_HANDLE                         4567+6 #define TXT_YOUR_PASSWORD               4567+7 #define TXT_INTERNET_HOST               4567+8 #define TXT_INTERNET_JOIN               4567+9 #define TXT_INTERNET_GAME_TYPE  4567+10 #define TXT_JOIN_INTERNET_GAME  4567+11 #define TXT_ENTER_IP_ADDRESS    4567+12 #define TXT_WINSOCK_CONNECTING                                                  4567+13 #define TXT_WINSOCK_NOT_CONNECTING                                      4567+14 #define TXT_WINSOCK_UNABLE_TO_CONNECT_TO_SERVER 4567+15 #define TXT_WINSOCK_CONTACTING_SERVER                           4567+16 #define TXT_WINSOCK_SERVER_ADDRESS_LOOKUP_FAILED        4567+17 #define TXT_WINSOCK_UNABLE_TO_ACCEPT_CLIENT             4567+18 #define TXT_WINSOCK_UNABLE_TO_CONNECT                           4567+19 #define TXT_WINSOCK_CONNECTION_LOST                                     4567+20 #define TXT_WINSOCK_RESOLVING_HOST_ADDRESS                      4567+21<\/code><\/pre>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0441\u0436\u0430\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<pre><code class=\"cpp\">\/\/ From WIN32LIB\/DIPTHONG.CPP if (string &gt;= 4567) return (InternetTxt[string-4567]);          ptr = (unsigned short int const *)data;         return (((char*)data) + ptr[string]);<\/code><\/pre>\n<p>  \u041c\u0430\u0441\u0441\u0438\u0432 \u00abInternetTxt\u00bb \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a. \u041f\u043e\u0445\u043e\u0436\u0435, \u0432\u0441\u0451, \u0447\u0442\u043e \u0440\u0430\u0432\u043d\u043e \u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u00ab4567\u00bb, \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439. \u042f \u0434\u0443\u043c\u0430\u044e, \u044d\u0442\u0443 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0432\u044b\u0431\u0440\u0430\u043b, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u0430\u0432 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 4-5-6-7 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u0446\u0438\u0444\u0440\u0430\u043c\u0438 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435. \u041a\u043e\u0433\u0434\u0430 \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b, \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e <a href=\"https:\/\/xkcd.com\/221\/\" rel=\"nofollow\">\u044d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431<\/a>.<\/p>\n<h2>Total Entertainment Network \u0438 MPlayer<\/h2>\n<p>  \u041a\u0430\u043a \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432\u044b\u0448\u0435, \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Total Entertainment Network \u0438 MPlayer. \u042d\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u0433\u0440 \u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0438\u043c\u0435\u043b \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.<\/p>\n<h3>\u0424\u0430\u0439\u043b\u044b Total Entertainment Network (TEN)<\/h3>\n<p>  <\/p>\n<ol>\n<li>CCTEN.CPP<\/li>\n<li>TENMGR.H<\/li>\n<\/ol>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435:<\/p>\n<ol>\n<li>tenArSendToPlayer<\/li>\n<li>tenArExitArena<\/li>\n<li>tenArIdleArena<\/li>\n<li>tenArReturnGameOptions<\/li>\n<li>tenArReturnPlayerOptions<\/li>\n<li>tenArSendToOtherPlayers<\/li>\n<li>tenArSendToPlayer<\/li>\n<li>tenArSetAlertMessageRoutine<\/li>\n<li>tenArSetIncomingPacketRoutine<\/li>\n<li>tenArSetOption<\/li>\n<li>tenArSetPlayerEnteredRoutine<\/li>\n<li>tenArSetPlayerState<\/li>\n<li>tenArSetPregameHookRoutine<\/li>\n<li>tenArUnreliableSendToOtherPlayers<\/li>\n<li>tenArUnreliableSendToPlayer<\/li>\n<\/ol>\n<p>  <\/p>\n<h3>\u0424\u0430\u0439\u043b\u044b MPlayer (MPATH)<\/h3>\n<p>  <\/p>\n<ol>\n<li>CCMPATH.CPP<\/li>\n<li>MPMGRW.H<\/li>\n<li>MPMGRD.H<\/li>\n<\/ol>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435:<\/p>\n<ol>\n<li>MGenMoveTo<\/li>\n<li>MGenGetMasterNode<\/li>\n<li>MGenFlushNodes<\/li>\n<li>MGenMCount<\/li>\n<li>MGenSanityCheck<\/li>\n<li>MGenGetNode<\/li>\n<li>MGenGetQueueCtr<\/li>\n<\/ol>\n<p>  \u042f \u043d\u0435 \u0441\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u043e\u0431 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432 \u043a\u043e\u0434\u0435 TEN \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445.<\/p>\n<p>  \u041a\u043e\u0434 \u00abMPATH\u00bb \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u00abMGen\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u043e\u0436\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0439\u0442\u0438 \u0438\u0445 \u0432 <a href=\"https:\/\/github.com\/id-Software\/Quake\/blob\/master\/WinQuake\/mplib.c\" rel=\"nofollow\">\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 Quake<\/a>. \u0412 Quake \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0433\u0440\u0430\u0442\u044c \u0432 \u043e\u0431\u0435\u0438\u0445 \u044d\u0442\u0438\u0445 \u0441\u0435\u0442\u044f\u0445. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445 Quake \u043d\u0435\u0442 \u043a\u043e\u0434\u0430 TEN. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0443, \u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f MPlayer \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435\u0439 \u0441\u0442\u0443\u0434\u0438\u0438-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0435\u0451 \u0432 \u043a\u043e\u0434 \u0438\u0433\u0440\u044b.<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e EA \u0431\u044b\u043b\u0430 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u044d\u0442\u0438\u043c \u043a\u043e\u0434\u043e\u043c, \u0430 id Software \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 Quake \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0432\u043e\u043b\u043d\u043e\u0432\u0430\u043b\u043e.<\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 <em>\u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d<\/em>. \u041f\u0440\u043e\u0441\u0442\u043e \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0434\u043b\u044f \u043a\u043e\u043d\u0446\u0430 1990-\u0445 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432.<\/p>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435: \u0441\u043e \u043c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0430\u043b\u0441\u044f <a href=\"http:\/\/www.larryhastings.com\/\" rel=\"nofollow\">\u041b\u0430\u0440\u0440\u0438 \u0413\u0430\u0441\u0442\u0438\u043d\u0433\u0441<\/a> \u0438 \u0432\u043d\u0451\u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0432\u044b \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0438 \u0434\u043e\u0433\u0430\u0434\u043a\u0438. \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043f\u043e \u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u0431\u044b\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 MPlayer, \u0435\u044e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u041f\u041e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u00abchunnel\u00bb; \u043e\u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0432 Windows 95 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 DOS, \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u0441\u0442\u0435\u043a\u043e\u043c, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c Windows. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043e\u0431 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 MPlayer \u0441 \u0438\u0433\u0440\u0430\u043c\u0438. \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0436\u0443 \u0438\u0445 \u0437\u0434\u0435\u0441\u044c \u0431\u0435\u0437 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u0438\u043c\u0451\u043d \u0442\u0440\u0435\u0442\u044c\u0438\u0445 \u043b\u0438\u0446:<\/p>\n<blockquote><p>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0443 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Mplayer; \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u043b\u0438 \u043d\u0430\u043c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430, \u0438 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0441\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438. \u041d\u043e \u044f \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e Westwood \u0441\u0442\u0430\u043b\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u0437 \u043f\u0440\u0430\u0432\u0438\u043b. \u041f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0430\u0448\u0438\u0445 \u00ab\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e\u00bb \u0441\u044a\u0435\u0437\u0434\u0438\u043b \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u043c Red Alert \u0432 Westwood. \u0415\u0433\u043e \u043e\u0447\u0435\u043d\u044c \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0438\u043b\u0430 \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c RA!<\/p>\n<p>  \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0432\u0441\u0435 \u0430\u043a\u0442\u0438\u0432\u044b Mplayer \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0434\u0430\u043d\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 GameSpy, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u044b (Mplayer \/ POP.X \/ Global Rankings). \u0412\u0441\u0451, \u0447\u0442\u043e \u0435\u0439 \u0431\u044b\u043b\u043e \u043d\u0443\u0436\u043d\u043e \u2014 \u044d\u0442\u043e \u0431\u0430\u0437\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u2026 \u043e\u0442\u0434\u0435\u043b \u043f\u0440\u043e\u0434\u0430\u0436, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e? \u041a\u0430\u043a \u0431\u044b \u0442\u043e \u043d\u0438 \u0431\u044b\u043b\u043e, \u0432 2013 \u0433\u043e\u0434\u0443 GameSpy \u0437\u0430\u043a\u0440\u044b\u043b\u0430\u0441\u044c, \u0430 \u0432\u0441\u0435 \u0435\u0451 \u0430\u043a\u0442\u0438\u0432\u044b \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0434\u0430\u043d\u044b Glu Mobile, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0432\u0441\u0435\u0439 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u044d\u0442\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f. TEN \u0432 1998 \u0433\u043e\u0434\u0443 \u0441\u0434\u0435\u043b\u0430\u043b\u0430 \u043f\u043e\u0432\u043e\u0440\u043e\u0442 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445\u00bb \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u0433\u0440, \u0432 1999 \u0433\u043e\u0434\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430 \u0440\u0435\u0431\u0440\u0435\u043d\u0434\u0438\u043d\u0433, \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0432\u0448\u0438\u0441\u044c \u0432 Pogo.com, \u0430 \u0432 2001 \u0433\u043e\u0434\u0443 \u0435\u0451 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0430\u2026 EA! \u041f\u043e\u044d\u0442\u043e\u043c\u0443 EA, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043c\u043e\u0433\u043b\u0430 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u0434 TEN. \u0418 \u044f \u0441\u043e\u043c\u043d\u0435\u0432\u0430\u044e\u0441\u044c, \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043a\u043e\u0433\u043e-\u0442\u043e \u0432\u043e\u043b\u043d\u0443\u0435\u0442 \u043a\u043e\u0434 Mplayer, \u044d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u0430\u0432\u043d\u043e \u043c\u0451\u0440\u0442\u0432.<\/p>\n<p>  \u0412-\u0442\u0440\u0435\u0442\u044c\u0438\u0445, \u043a\u0430\u043a \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u043b\u0438 \u043d\u0430\u043c \u043a\u043e\u0434 \u0438 Mplayer \u0441\u0430\u043c\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 id Software \u0431\u044b\u043b\u043e \u0442\u0430\u043a \u0436\u0435. \u041a\u043e\u0434 Mplayer, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0435\u0441\u0442\u044c \u0432 Quake 1 \u2014 \u044d\u0442\u043e \u043d\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0438\u0433\u0440\u043e\u0432\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c Mplayer! \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 id. \u041e\u043d\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u00abchunnel\u00bb; \u0435\u0451 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0431\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 ***. \u00abChunnel\u00bb \u2014 \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0430 DOS-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u043c \u0432 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 386 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u0434 Windows, \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u044f \u0432\u044b\u0437\u043e\u0432\u044b \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 Winsock \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Windows 95. \u041d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 1996 \u0433\u043e\u0434\u0443, \u0438 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u0438\u0434\u0435\u043e\u0438\u0433\u0440 \u043f\u043e\u0434 Windows \u0435\u0449\u0451 \u043d\u0435 \u0441\u043b\u043e\u0436\u0438\u043b\u0430\u0441\u044c. Quake \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b \u0432\u044b\u043f\u0443\u0449\u0435\u043d \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f DOS, \u0438 \u0435\u0433\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043f\u043e\u0434 Win32 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0443\u0441\u0442\u044f \u043e\u0434\u0438\u043d-\u0434\u0432\u0430 \u0433\u043e\u0434\u0430. \u00abChunnel\u00bb \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u0430 id \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u2014 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u043b\u0430 \u0435\u0451 DOS-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0432 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 386 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u0433\u0440\u0435 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u043e\u0434 Windows. \u0427\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0432\u044b\u0440\u0430\u0437\u0438\u043b\u0430\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0433\u0440\u0430 id \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430 Mplayer (\u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u043b\u043e \u0441\u043e\u043c\u043d\u0435\u043d\u0438\u044f). \u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0435\u0440\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Quake \u043f\u043e\u0434 DOS, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0432\u043e\u0439 shareware-\u0434\u0435\u043c\u043e, \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0430\u0436\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u043b\u043e\u0433\u043e\u0442\u0438\u043f Mplayer (\u0437\u043e\u043b\u043e\u0442\u0430\u044f \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430) \u0438 \u043f\u043e\u043c\u0435\u0442\u043a\u0430 \u043e \u00ab\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438\u00bb. \u042d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 &quot;-mpath&quot; \u0432 DOS-\u0441\u0431\u043e\u0440\u043a\u0430\u0445 Quake \ud83d\ude09<\/p><\/blockquote>\n<p>  <\/p>\n<h2>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h2>\n<p>  \u0418\u0433\u0440\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u044f\u0437\u044b\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0445 \u0440\u044b\u043d\u043a\u0430\u0445. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u043a\u043e\u0434\u0443 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 <code>#ifdef GERMAN<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 <code>LANGUAGE.H<\/code> \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u043c \u0442\u0430\u043a\u0438\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432, \u043a\u0430\u043a <code>TEXT_SETUP_FIRST<\/code>.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 <code>#ifdef GERMAN<\/code> \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u0434\u0435 28 \u0440\u0430\u0437, \u043e\u0434\u043d\u0430\u043a\u043e <code>#ifdef FRENCH<\/code> \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f 37 \u0440\u0430\u0437. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0430 \u0444\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u044b\u043b \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c.<\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0432 <code>DEFINES.H<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u0430\u043c\u0430\u044f \u043b\u0443\u0447\u0448\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430.<\/p>\n<pre><code class=\"cpp\">\/\/ From DEFINES.H \/\/#define SPAIN 1       (never used)<\/code><\/pre>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0435, \u0434\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043d\u0430 \u0438\u0441\u043f\u0430\u043d\u0441\u043a\u0438\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0442\u0430\u043a \u0438 \u043d\u0435 \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c.<\/p>\n<h2>\u0417\u0430\u0449\u0438\u0442\u0430 \u0434\u043e\u043d\u0433\u043b\u043e\u043c<\/h2>\n<p>  \u041d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c DRM-\u0437\u0430\u0449\u0438\u0442\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u041f\u041e \u0431\u044b\u043b <a href=\"https:\/\/en.wikipedia.org\/wiki\/Software_protection_dongle\" rel=\"nofollow\">\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447-\u0434\u043e\u043d\u0433\u043b<\/a>. \u041f\u043e \u0441\u0443\u0442\u0438, \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0435 \u0438 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0435 \u043a PC. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0435\u043c\u0443 \u043d\u0435\u043a\u0438\u0439 \u00ab\u0437\u0430\u043f\u0440\u043e\u0441\u00bb \u0438 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442.<\/p>\n<p>  \u041d\u0435 \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e Command &amp; Conquer \u043a\u043e\u0433\u0434\u0430-\u0442\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0441 \u0442\u0430\u043a\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u043d\u043e \u0432 <code>DEFINES.H<\/code> \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430-\u0434\u0432\u0435 \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0440\u043e \u043d\u0435\u0433\u043e:<\/p>\n<pre><code class=\"cpp\">\/\/ From DEFINES.H \/********************************************************************** ** ColinM ** Set this to enable dongle protection *\/ \/\/#define DONGLE<\/code><\/pre>\n<p>  <\/p>\n<h2>Virgin Interactive<\/h2>\n<p>  Command &amp; Conquer \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430 Westwood Studios, \u043d\u043e \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 \u0432\u043b\u0430\u0434\u0435\u043b\u0430 Virgin Interactive. \u0412 \u043a\u043e\u0434\u0435 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c:<\/p>\n<pre><code class=\"cpp\">\/\/ From DEFINES.H \/********************************************************************** **      If this is defined, the special Virgin limited cheat keys **      are enabled. This allows the &quot;cheat&quot; parameter and then only **      allows the ALT-W to win the mission. *\/ #ifdef PLAYTEST_VERSION #define VIRGIN_CHEAT_KEYS #endif<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"cpp\">\/\/ From INIT.CPP #ifdef VIRGIN_CHEAT_KEYS                         case PARM_PLAYTEST:                                 Debug_Playtest = true;                                 break; #endif<\/code><\/pre>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u0440\u0435\u043b\u0438\u0437\u043e\u043c Virgin Interactive \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043f\u043b\u0435\u0439\u0442\u0435\u0441\u0442\u0438\u043d\u0433 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430.<\/p>\n<h1>\u041a\u043e\u043d\u0435\u0446<\/h1>\n<p>  \u0412\u043e\u0442 \u0438 \u0432\u0441\u0451. \u042f \u043d\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b \u0432\u0435\u0441\u044c \u043a\u043e\u0434, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0442\u043e, \u0447\u0442\u043e \u043c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043c\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u0438 \u043d\u0430 \u0447\u0442\u043e \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u042f \u0443\u0437\u043d\u0430\u043b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432\u0438\u0434\u0435\u043e\u0438\u0433\u0440 \u043d\u0430\u0447\u0430\u043b\u0430 1990-\u0445, \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043c\u043e\u0433\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0437\u043d\u0430\u043d\u0438\u0435 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c.<\/p>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u044f \u0432\u0435\u0440\u043d\u0443\u0441\u044c \u043a \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041c\u043d\u0435 \u0431\u044b \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u0440\u0442\u043e\u043c \u0438\u0433\u0440\u044b \u043d\u0430 Playstation, \u043d\u043e \u043d\u0435 \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e EA \u0441\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043e\u043d \u0443 \u043d\u0435\u0451 \u0435\u0449\u0451 \u0435\u0441\u0442\u044c.<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/505842\/\"> https:\/\/habr.com\/ru\/post\/505842\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/505842\/\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ga\/-n\/td\/ga-ntdncnslfzgphzuluisdu2me.png\"><\/div>\n<p>  \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Electronic Arts \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0435\u0440\u0432\u043e\u0439 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Command_%26_Conquer\" rel=\"nofollow\">Command &amp; Conquer<\/a>, \u0430 \u0442\u0430\u043a\u0436\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Command_%26_Conquer:_Red_Alert\" rel=\"nofollow\">Command &amp; Conqueror: Red Alert<\/a>. \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441 <a href=\"https:\/\/github.com\/electronicarts\/CnC_Remastered_Collection\" rel=\"nofollow\">GitHub<\/a>.<\/p>\n<p>  \u0412\u0441\u0451 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u043c\u0435\u0435\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e <a href=\"https:\/\/github.com\/hydrogen18\/CnC_Remastered_Collection\/blob\/master\/License.txt\" rel=\"nofollow\">GPL v3<\/a>; \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b \u0432\u0441\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e changelog \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439. \u041f\u043e\u0445\u043e\u0436\u0435, \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u0430 Git.<\/p>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u0438\u0437\u0443\u0447\u0438\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0433\u043e \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430. \u041d\u0435 \u0431\u0443\u0434\u0443 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u0434\u0430, \u043d\u043e, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a\u043e\u0439 \u0431\u044b\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 C++ \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 1990-\u0445.<\/p>\n<p>  \u0418\u0437\u0443\u0447\u0430\u0442\u044c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u00abCommand &amp; Conquer: Red Alert\u00bb, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u0444\u043e\u0440\u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0438\u0433\u0440\u044b. \u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 <code>REDALERT<\/code>.<\/p>\n<h1>\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430<\/h1>\n<p>  <\/p>\n<ol>\n<li>290 \u0444\u0430\u0439\u043b\u043e\u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 C++<\/li>\n<li>296 \u0444\u0430\u0439\u043b\u043e\u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 C++<\/li>\n<li>14 \u0444\u0430\u0439\u043b\u043e\u0432 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 x86<\/li>\n<li>222090 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u043d\u0430 C++<\/li>\n<\/ol>\n<p>  \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b, \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0432 \u043d\u0435\u043f\u0443\u0441\u0442\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0447\u0435\u043b \u0438\u0437 \u043d\u0438\u0445 \u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u0431\u044b\u043b\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438.<\/p>\n<p>  \u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u043c\u0435\u044e\u0442 \u0438\u043c\u0435\u043d\u0430 \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0444\u0430\u0439\u043b \u00abRedAlert.vcxproj\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Visual Studio, \u043d\u043e \u044d\u0442\u043e\u0433\u043e \u044f \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-305075","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/305075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=305075"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/305075\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=305075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=305075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=305075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}