VVVVVV ??? VVVVVV !!! :)

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

рдЪрд┐рддреНрд░ 1

рдкрд░рд┐рдЪрдп


рдУрд╣, рд╡реАрд╡реАрд╡реАрд╡реАрд╡реАрд╡реА ... рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХреЗ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рд╣реА рдпрд╣ рдЖрдпрд╛ рдерд╛ рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ рд░реЗрдЯреНрд░реЛ рдЧреЗрдореНрд╕ рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рдерд╛ред рдореБрдЭреЗ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдЗрдВрдкреНрд░реЗрд╢рди рдпрд╛рдж рд╣реИ: "рдХреНрдпрд╛ рдпрд╣ рд╕рдм рд╣реИ? рдмрд╕ рд╡рд░реНрдЧ рдХрдорд░реЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? тАЭрдореИрдВрдиреЗ рдХреБрдЫ рдорд┐рдирдЯ рдЦреЗрд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЛрдЪрд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЙрд╕ рд╕рдордп рдореЗрд░рд╛ рдХреНрдпрд╛ рдЗрдВрддрдЬрд╛рд░ рдерд╛ред рдЬреИрд╕реЗ рд╣реА рдореИрдВ рд╢реБрд░реБрдЖрддреА рд╕реНрдерд╛рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рднреНрд░рд╛рдордХ рдФрд░ рднрдбрд╝рдХреАрд▓реЗ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рдВрд╕рд╛рд░ рдореЗрдВ рдкрд╛рдпрд╛ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рдкрд░рд┐рджреГрд╢реНрдп рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рдерд╛ред

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

рд╡реИрд╕реЗ рднреА, рдЦреЗрд▓ рдХреА рд╕рд╛рд▓рдЧрд┐рд░рд╣ рдХреЗ рд╕рдореНрдорд╛рди рдореЗрдВ рддреИрдирд╛рдд рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред

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

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

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди


рдЪреЗрддрд╛рд╡рдиреА рез


V512 ' рд╕реНрдкреНрд░рд┐рдВрдЯрдл ' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓ рд╕реЗ рдмрдлрд░ 'рдлрд╝рд╛рдЗрд▓ рдЦреЛрдЬ' рдХрд╛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред FileSystemUtils.cpp 307

#define MAX_PATH 260 .... void PLATFORM_migrateSaveData(char *output) { char oldLocation[MAX_PATH]; char newLocation[MAX_PATH]; char oldDirectory[MAX_PATH]; char fileSearch[MAX_PATH]; .... /* Same place, different layout. */ strcpy(oldDirectory, output); sprintf(fileSearch, "%s\\*.vvvvvv", oldDirectory); .... } 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдЦреЛрдЬ рдФрд░ рдУрд▓реНрдбрдбрд╛рдпрд░реЗрд░реА рдПрдХ рд╣реА рдЖрдХрд╛рд░ рдХреЗ рд╣реИрдВ: 260 рд╡рд░реНрдгред рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ (рддреАрд╕рд░рд╛ рд╕реНрдкреНрд░рд┐рдВрдЯрдл рддрд░реНрдХ) рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рджрд┐рдЦреЗрдЧрд╛:
 <i>contents_oldDirectory\*.vvvvvv</i> 

рдпрд╣ рд▓рд╛рдЗрди рдкреБрд░рд╛рдиреЗ рдЪрд░рд┐рддреНрд░ рдХреЗ рдореВрд▓ рдореВрд▓реНрдп рд╕реЗ 9 рд╡рд░реНрдг рд▓рдВрдмреА рд╣реИред рдпрд╣ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдпрд╣ рдХреНрд░рдо рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдЦреЛрдЬ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдкреБрд░рд╛рдиреЗ рдбрд╛рдпрд░реИрдХреНрдЯрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ 251 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓рдЦреЛрдЬ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рд░рдгреА рд╕реАрдорд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реЛрдЧрд╛ред рд░реИрдо рдореЗрдВ рдХреМрди рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдиреБрдХрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐рд╕ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛, рдпрд╣ рдмрдпрд╛рдирдмрд╛рдЬреА рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ :)

рдЪреЗрддрд╛рд╡рдиреА реи


V519 'рдкреГрд╖реНрдарднреВрдорд┐' рдЪрд░ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЬрд╛рдБрдЪ рд▓рд╛рдЗрдиреЗрдВ: 1367, 1373ред Map.cpp 1373

 void mapclass::loadlevel(....) { .... case 4: //The Warpzone tmap = warplevel.loadlevel(rx, ry, game, obj); fillcontent(tmap); roomname = warplevel.roomname; tileset = 1; background = 3; // <= dwgfx.rcol = warplevel.rcol; dwgfx.backgrounddrawn = false; warpx = warplevel.warpx; warpy = warplevel.warpy; background = 5; // <= if (warpy) background = 4; if (warpx) background = 3; if (warpx && warpy) background = 5; break; .... } 

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

 void Game::loadquick(....) { .... else if (pKey == "frames") { frames = atoi(pText); frames = 0; } .... } 

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

рдЪреЗрддрд╛рд╡рдиреА рей


V808 'pKey' рдСрдмреНрдЬреЗрдХреНрдЯ 'basic_string' рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред Editor.cpp 1866

 void editorclass::load(std::string &_path) { .... std::string pKey(pElem->Value()); .... if (pKey == "edEntities") { int i = 0; for (TiXmlElement *edEntityEl = pElem->FirstChildElement(); edEntityEl; edEntityEl = edEntityEl->NextSiblingElement()) { std::string pKey(edEntityEl->Value()); // <= //const char* pText = edEntityEl->GetText() ; if (edEntityEl->GetText() != NULL) { edentity[i].scriptname = std::string(edEntityEl->GetText()); } edEntityEl->QueryIntAttribute("x", &edentity[i].x); edEntityEl->QueryIntAttribute("y", &edentity[i].y); edEntityEl->QueryIntAttribute("t", &edentity[i].t); edEntityEl->QueryIntAttribute("p1", &edentity[i].p1); edEntityEl->QueryIntAttribute("p2", &edentity[i].p2); edEntityEl->QueryIntAttribute("p3", &edentity[i].p3); edEntityEl->QueryIntAttribute("p4", &edentity[i].p4); edEntityEl->QueryIntAttribute("p5", &edentity[i].p5); edEntityEl->QueryIntAttribute("p6", &edentity[i].p6); i++; } EditorData::GetInstance().numedentities = i; } .... } 

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

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк рд▓реВрдк рдХреЗ рд▓рд┐рдП pKey string рдХреЗ рдорд╛рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ pElem-> Value () рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рди рдорд┐рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ edEntityEl рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рди рдорд┐рд▓реЗрдЧрд╛ -> рдорд╛рди () ред рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдирд╛рдо рдПрдХ рдХрдард┐рди рддреНрд░реБрдЯрд┐ рд╣реИ, рдЬреЛ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рдЕрдкрдиреЗ рджрдо рдкрд░ рдЦреЛрдЬрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА рек


V805 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред 'Strlen (str)> 0' рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЕрдХреНрд╖рдо рд╣реИред рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ: str [0]! = '\ 0'ред рдлрд┐рдЬрд┐рдпреЛрдлреЗрд╕реНрдХ 1604

 static char *prefDir = NULL; .... const char *PHYSFS_getPrefDir(const char *org, const char *app) { .... assert(strlen(prefDir) > 0); ... return prefDir; } /* PHYSFS_getPrefDir */ 

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

рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЦрд╛рд▓реА рд╣реИ! рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкрд╣рд▓рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд░реНрдг рдЯрд░реНрдорд┐рдирд▓ рдирд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореБрдЦрд░ рдХреЗ рдЕрдВрджрд░ рдЗрд╕ рдЬрд╛рдБрдЪ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ:

 str[0] != '\0' 

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

рдЪреЗрддрд╛рд╡рдиреА рел


рдПрдХ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣рд╛рдВ рджреЛ рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрдирд╛ рд╣реЛрдЧрд╛: рдПрдВрдЯрдХреНрд▓рд╛рд╕ рд╡рд░реНрдЧ рдШреЛрд╖рдгрд╛ рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ред рдЖрдЗрдП рдШреЛрд╖рдгрд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:

 class entclass { public: entclass(); void clear(); bool outside(); public: //Fundamentals bool active, invis; int type, size, tile, rule; int state, statedelay; int behave, animate; float para; int life, colour; //Position and velocity int oldxp, oldyp; float ax, ay, vx, vy; int cx, cy, w, h; float newxp, newyp; bool isplatform; int x1, y1, x2, y2; //Collision Rules int onentity; bool harmful; int onwall, onxwall, onywall; //Platforming specific bool jumping; bool gravity; int onground, onroof; int jumpframe; //Animation int framedelay, drawframe, walkingframe, dir, actionframe; int yp; int xp; }; 

рдпрд╣ рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

 entclass::entclass() { clear(); } void entclass::clear() { // Set all values to a default, // required for creating a new entity active = false; invis = false; type = 0; size = 0; tile = 0; rule = 0; state = 0; statedelay = 0; life = 0; colour = 0; para = 0; behave = 0; animate = 0; xp = 0; yp = 0; ax = 0; ay = 0; vx = 0; vy = 0; w = 16; h = 16; cx = 0; cy = 0; newxp = 0; newyp = 0; x1 = 0; y1 = 0; x2 = 320; y2 = 240; jumping = false; gravity = false; onground = 0; onroof = 0; jumpframe = 0; onentity = 0; harmful = false; onwall = 0; onxwall = 0; onywall = 0; isplatform = false; framedelay = 0; drawframe = 0; walkingframe = 0; dir = 0; actionframe = 0; } 

рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреНрд╖реЗрддреНрд░, рдЖрдк рдирд╣реАрдВ рдХрд╣реЗрдВрдЧреЗ? рдпрд╣ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдиреЗ рдмрдЧ рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреА рд╣реИ, рдпрд╣рд╛рдВ рдЫрд┐рдкрд╛ рд╣реИ:

V730 рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: oldxp, oldypред Ent.cpp 3

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

рдЪрд┐рддреНрд░ 4


рдЪреЗрддрд╛рд╡рдиреА рем


рдЗрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ:

 void mapclass::loadlevel(....) { .... std::vector<std::string> tmap; .... tmap = otherlevel.loadlevel(rx, ry, game, obj); fillcontent(tmap); .... // The tmap vector gets changed again many times. } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V688 'tmap' рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдореЗрдВ рд╡рд░реНрдЧ рд╕рджрд╕реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рдирд╛рдо рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рднреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред Map.cpp 1192

рджрд░рдЕрд╕рд▓, рдореИрдкрдХреНрд▓рд╛рд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рдЕрдВрджрд░ рджреЗрдЦрддреЗ рд╣реБрдП , рдЖрдк рдЙрд╕реА рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЙрд╕реА рдирд╛рдо рд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 class mapclass { public: .... std::vector <int> roomdeaths; std::vector <int> roomdeathsfinal; std::vector <int> areamap; std::vector <int> contents; std::vector <int> explored; std::vector <int> vmult; std::vector <std::string> tmap; // <= .... }; 

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

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

рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣ рднреА рдХрд╣рд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдХреАрдбрд╝реЗ рдкреИрджрд╛ рд╣реБрдП рдЬрд┐рдирдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдерд╛ред рдареАрдХ рд╣реИ, рдРрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рдкрдХрдбрд╝рдирд╛ рдХрдо рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ :)

рдЪреЗрддрд╛рд╡рдиреА 7


V601 рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред Game.cpp 4997

 void Game::loadquick(....) { .... else if (pKey == "totalflips") { totalflips = atoi(pText); } else if (pKey == "hardestroom") { hardestroom = atoi(pText); // <= } else if (pKey == "hardestroomdeaths") { hardestroomdeaths = atoi(pText); } .... } 

рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХреЛрдб рдХреЗ рджрд┐рдП рдЧрдП рднрд╛рдЧ рд╕реЗ рдЪрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 //Some stats: int totalflips; std::string hardestroom; int hardestroomdeaths; 

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

рдЪреЗрддрд╛рд╡рдиреА 8


V1004 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж 'pElem' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 1739, 1744ред Editor.cpp 1744

 void editorclass::load(std::string &_path) { .... TiXmlHandle hDoc(&doc); TiXmlElement *pElem; TiXmlHandle hRoot(0); version = 0; { pElem = hDoc.FirstChildElement().Element(); // should always have a valid root // but handle gracefully if it does if (!pElem) { printf("No valid root! Corrupt level file?\n"); } pElem->QueryIntAttribute("version", &version); // <= // save this for later hRoot = TiXmlHandle(pElem); } .... } 

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдЪреЗрддрд╛рд╡рдиреА рджреА рд╣реИ рдХрд┐ nElptr рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рдж pElem рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рд╣реА рд╣реИ, рдЖрдЗрдП рддрддреНрд╡ () рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рджреЗрдЦреЗрдВ рдЬреЛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ , pElem рдХрд╡рд┐ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ:

 /** @deprecated use ToElement. Return the handle as a TiXmlElement. This may return null. */ TiXmlElement *Element() const { return ToElement(); } 

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдм рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд╣реБрдЖ рдерд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рдВ, рдПрдХ рд╕рдВрджреЗрд╢ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрд▓рдд рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрд░реЗрдлреЗрд░рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдпрд╛ рддреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рдпрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЧрдВрднреАрд░ рдЧрд▓рддреА рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА реп


рдпрд╣ рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ рдЪрд╛рд░ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ:

  • V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: x> = 0. editor.cpp 1137
  • V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: y> = 0. editor.cpp 1137
  • V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: x <40ред editor.cpp 1137
  • V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: y <30ред editor.cpp 1137

 int editorclass::at( int x, int y ) { if(x<0) return at(0,y); if(y<0) return at(x,0); if(x>=40) return at(39,y); if(y>=30) return at(x,29); if(x>=0 && y>=0 && x<40 && y<30) { return contents[x+(levx*40)+vmult[y+(levy*30)]]; } return 0; } 

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

рд╡рд╣ рдЗрд╕ рдЪреЗрдХ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рд╡рд╛рд╣ рдХреЛ " рд░рд┐рдЯрд░реНрди 0 " ; рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдЬрд┐рдХ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреЗрдХ рдФрд░ рдбреЗрдб рдХреЛрдб рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдЪреЗрддрд╛рд╡рдиреА резреж


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

V2008 рд╕рд╛рдЗрдХреНрд▓реЛрдореИрдЯрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛: 548. 'рдЧреЗрдо :: updatestate' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред Game.cpp 612

рд╣рд╛рдВ, рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдкрд╛рдпрд╛: рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдиреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрдЯрд┐рд▓рддрд╛ рд░реЗрдЯрд┐рдВрдЧ рджреА - 548. рдкрд╛рдВрдЪ рд╕реМ рдФрд░ рдЕрдбрд╝рддрд╛рд▓реАрд╕ !!! рдпрд╣ "рд╕рд╛рдл рдХреЛрдб" рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рд╣реИ рдХрд┐, рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓рдЧрднрдЧ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рд╣реИред рд╕реНрд╡рд┐рдЪ рдореЗрдВ рд╣реА, рдореИрдВрдиреЗ 300 рд╕реЗ рдЕрдзрд┐рдХ рдХреЗрд╕-рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЧрд┐рдирд╛ред

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

рдЪрд┐рддреНрд░ 5


рдирд┐рд╖реНрдХрд░реНрд╖


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рд╣рд╛рдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрд░рд╣ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЕрдкрдирд╛ рдХреЛрдб рдЦреЛрд▓рдХрд░, рдЯреЗрд░реА рдХреИрд╡рд╛рдирдШ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЧреЗрдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджрд░реНрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдм, 10 рд╕рд╛рд▓ рдмрд╛рдж, рдЯреЗрд░реА рдЙрди рд╕рдордп рдХреЛ рд╡рд┐рдбрдВрдмрдирд╛ рдХреЗ рд╕рд╛рде рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрдиреА рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рд╕реАрдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдЕрднреНрдпрд╛рд╕ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХрд╛ рдЕрднреНрдпрд╛рд╕ VVVVVV рдЬреИрд╕реЗ рдЧреЗрдо рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╢рд╛рдирджрд╛рд░ рд╣реИ! рдЦреИрд░ ... рдпрд╣ рдПрдХ рдмрд╛рд░ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╕рдордп рд╣реИ :)

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

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


All Articles